FTP接続で別サーバーへファイルをアップロード

PHP

画像など、別サーバーに保存したいときがある。

そんな時に利用できるのが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);
}



?>

 

 

コメント

タイトルとURLをコピーしました