如何使用PHP上传FTP服务器上的大文件?

$ftp_server = 'ftp.abc.com';
$remote_file = "myvideo.avi";  // file size 210MB
$file = "myvideo.avi";        // file size 210MB
$conn_id = ftp_connect($ftp_server);  // set up basic connection

// login with username and password
$login_result = ftp_login($conn_id, 'faraz@abc.com', 'password');

ftp_pasv($conn_id, true); // turn passive mode on
// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
     echo "successfully uploaded $file\n";
} else {
     echo "There was a problem while uploading $file\n";
}
    // close the connection
    ftp_close($conn_id);

i already edit PHP.in for
upload_max_filesize = 1024M

 上面的代码片段处理所有类型的文件上传,
    但是当我尝试上传大尺寸文件时,它会在服务器上传,但上传后尺寸会有所不同.
    本地机器上的视频文件大小为210MB
    但上传后,它在FTP服务器上显示文件大小328KB.
    我不知道我在哪里检查,如果有人有建议,那么我很感激

解决方法:

使用FTP_BINARY而不是FTP_ASCII.后者可能会在第一个NUL字节处停止.

除此之外,现在没有充分的理由使用ascii模式,即使对于ascii文件也是如此.唯一的情况是,如果你的cgi脚本包含一个在本地有windows换行符的shebang行,这很重要.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...