【发布时间】:2015-01-02 21:18:07
【问题描述】:
我想在不同的服务器上上传图片。图片正在上传。但它的格式不正确。 对于此代码,它适用于文件。
相同的服务器(工作中)
$file_path = "./media/";
$file_path = $file_path . basename( $_FILES['uploaded_file']['name']);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {
echo "success";
} else{
echo "fail";
}
另一台服务器(工作但未获得实际图像)
$file_name = $cus_id . ".jpg";
$file_path = CUS_PROFILE_PIC_DOCROOT . $file_name;
$ftp_server = "some_address";
$ftp_user = "username";
$ftp_password = "password";
$conn = ftp_connect($ftp_server) or die ("Cannot connect to host");
if (@ftp_login($conn, $ftp_user, $ftp_password)) {
ftp_pasv($conn, true);
$uploaded = ftp_put($conn, $file_path, $_FILES['uploaded_file']['tmp_name'], FTP_ASCII);
ftp_close($conn);
if($uploaded){
echo "success";
}
else{
echo "fail";
}
} else {
return "Couldn't connect as $ftp_user\n";
}
我做错了什么? 感谢您的帮助。
【问题讨论】:
-
究竟是什么不起作用?
-
我正在获取图像。但是,不是它的实际格式。图像是 950 kb。但每次我都能看到 60 kb。 Windows图像查看器不支持它。
-
转换为base64或二进制
-
你试过用 FTP_BINARY 代替 FTP_ASCII 吗?
-
@CharlotteDunois:哦。它正在使用
FTP_BINARY。太感谢了。我不知道这背后的原因是什么。
标签: php file-upload upload