画像など、別サーバーに保存したいときがある。
そんな時に利用できるのがFTPによる別サーバーへのファイルのアップロード。
<?php // FTP接続 $ftp_server = "*******"; // FTPホスト名 $ftp_user_name = "*******"; // FTPユーザー名 $ftp_pass_pw = "*******"; // FTPパスワード $ftp_dir_path = "/public_html/example.com/images/"; // アップロードしたいフォルダの指定。サーバーパスでなくFTP接続した時点からのパス。 // FTP接続確立 $conn_id = ftp_connect($ftp_server); // ユーザ名とパスワードでログイン $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_pass_pw); $FileData = array("IMG_5514.JPG", "IMG_5511.JPG"); //同じ階層にある複数のファイルをアップロードすることをイメージ。ファイル名を配列に入れる。 // 接続確認 if ((!$conn_id) || (!$login_result)){ echo "FTP接続失敗!"; } else { // パッシブモードON ftp_pasv($conn_id, true); foreach($FileData AS $value){ // サンプルとしてPHPサーバー上に空CSV作成 // $local_file = "IMG_5514.JPG"; $local_file = $value; // touch($local_file); //ファイル生成?生成の必要ないためコメントアウト $server_file = $ftp_dir_path.$local_file; //アップロード先パス // ファイルをアップロードする if (ftp_put($conn_id, $server_file, $local_file, FTP_ASCII)) { // アップロードが成功したらPHPサーバー上のCSV削除 // unlink($local_file); } else { echo "ファイルをアップロードできません。"; } } ftp_close($conn_id); } ?>
コメント