3
$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と表示されました。
どこで確認すればよいかわかりません。誰かに提案があれば、感謝します

4

1 に答える 1

5

FTP_BINARYの代わりに使用しFTP_ASCIIます。後者は、最初の NUL バイトで停止する場合があります。

それに加えて、ascii ファイルであっても、最近では ascii モードを使用する正当な理由はありません。Windowsの改行がローカルにあるシバン行を含む CGI スクリプトがある場合にのみ重要です。

于 2012-04-14T12:54:11.153 に答える