设计与开发 >

在使用PHP上传到 FTP 服务器的图像会损坏?原本几百KB的图片上传后只有几kb

来源:设计与开发 | 发布时间:2023-11-02 01:23:00 | 浏览:0
我正在将图像上传到特定文件夹位置的 FTP 服务器。代码工作正常。但是当我查看上传的图片时,我发现图片文件已损坏,无法打开。对于少数图像文件,文件中的图像会损坏,研究了很久使终不明白图像文件在上传到

我正在将图像上传到特定文件夹位置的 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
业务咨询官方微信

上一篇:layui的table数据渲染用parseData格式数据后依旧不显示解决文案
下一篇:没有了
热门服务和内容
热门文章

业务咨询

  • 业务咨询官方微信

    官方微信

  • 商务合作

  • 商务合作官方微信

    官方微信

  • 特别声明:素材来源于网络,如果对您造成侵权,请及时联系我们予以删除 COPYRIGHT ©智企服务中心 20211201 粤ICP备18150478号 网站地图 技术支持:253849310
    电话咨询:13534259410
    在线客服咨询
    微信:13534259410