我正在尝试将图像文件从本地 PC 上传到远程服务器。图片来自一个简单的 html 输入(类型=文件),文件数组包含这些:
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 上都没有发现任何有用的东西。可能是什么原因?