
我正在将图像上传到特定文件夹位置的 FTP 服务器。代码工作正常。但是当我查看上传的图片时,我发现图片文件已损坏,无法打开。对于少数图像文件,文件中的图像会损坏,研究了很久使终不明白图像文件在上传到 FTP 服务器时何时损坏或在完成上传后何时损坏
if ($ftpconfig['mode']=='PASSIVE') { @ftp_pasv($conn,1); // 打开被动模拟 } $this->createDir($ftp_dir,$conn); $rt = ftp_put($conn, $ftp_dir.$filename, $localfilepath, FTP_ASCII); if (!$rt) { $this->_json(0, '无法上传文件,请检查对方服务器的文件权限'); }else{ ftp_close($conn); }
后来查阅资料后,才发现原来是要将
FTP_ASCII
换成
FTP_BINARY
也就是使用 ftp_put
设置模式为 FTP_BINARY
:
ftp_put($conn_id, $remote_file, $file, FTP_BINARY);
这是强制性的,因为 ASCII
模式检查行尾在客户端/服务器上是否不同(你的情况,因为你可能在 Windows 上并且服务器运行 unix)并尝试转换它们(\r\n
⇒ \n
)。在 BINARY
模式下,文件按原样发送。
版权:【注明为本站原创的文章,转载请注明出处与原文地址!
本站部分转载文章能找到原作者的我们都会注明,若文章涉及版权,有侵犯到您的权利,请及时联系我们删除。请发至邮箱:253849310@qq.com 。
标题:在使用PHP上传到 FTP 服务器的图像会损坏?原本几百KB的图片上传后只有几kb
本文链接:http://www.aiws.cc/kaifa/c5572.html
描述:我正在将图像上传到特定文件夹位置的 FTP 服务器。代码工作正常。但是当我查看上传的图片时,我发现图片文件已损坏,无法打开。对于少数图像文件,文件中的图像会损坏,研究了很久使终不明白图像文件在上传到
更多信息请关注微信:13534259410
下一篇:没有了