ローカル PC からリモート サーバーに画像ファイルをアップロードしようとしています。画像は単純な html 入力 (type=file) から取得され、ファイル配列には次が含まれます。
Array ( [name] => image42.jpg [type] => image/jpeg [tmp_name] => C:\wamp\tmp\phpBB52.tmp [error] => 0 [size] => 6051 )
ご覧のとおり、私のローカル PC は Windows を使用しています。画像ファイルをアップロードしようとするコードは次のとおりです。
$conn_id = ftp_connect($ftp_server, $ftp_port);
$login_result = ftp_login($conn_id, $ftp_username, $ftp_password);
if(!ftp_chdir($conn_id, $folder_path))
{
$create_folder = ftp_mkdir($conn_id, $folder_path);
ftp_chmod($conn_id, 0777, $folder_path);
}
これはサーバーに完全に接続し、フォルダーが存在しない場合でもフォルダーを作成します。次に、アップロード部分に到達すると、
ftp_pasv($conn_id, true);
// upload a file
$upload = ftp_put($conn_id, $new_dir, $file_dir, FTP_BINARY);
変数$upload
は を取得しfalse
ます。
$file_dir
を含むC:\wamp\tmp\phpBB52.tmp
(つまり、ファイルのtmp_name
)。
$new_dir
イメージ パスを含むリモート ディレクトリが含まれます。img.example.com/data/images/blabla.jpg
また、返されるエラーは次のとおりです。
Warning: ftp_put() [<a href='function.ftp-put'>function.ftp-put</a>]: Could not create file. in C:\wamp\www\example\example.php on line 95
GoogleでもStackOverflowでも、役立つものは何も見つかりませんでした。その理由は何ですか?