繁体   English   中英

ftp_put 传输后损坏了我的电影,这是错误的吗?

[英]ftp_put is corrupting my movies after transfer, is it wrong?

我有一堆电影,我正试图将它们从 CentOS 服务器传输到我的 Windows PC 上。 但是当我通过这个脚本运行它们时,它们最终会被破坏。 剧本有问题吗?

谢谢

$allFiles = glob("/var/www/html/ftp_pending/*");

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

foreach($allFiles as $singleFile)
{
    // check if a file exist
    $path = "/"; //the path where the file is located

    $file = substr( $singleFile, strrpos( $singleFile, '/' )+1 );

    $check_file_exist = $path.$file; //combine string for easy use

    // Returns an array of filenames from the specified directory on success or
    // FALSE on error. 
    $contents_on_server = ftp_nlist($conn_id, $path); 

    // Test if file is in the ftp_nlist array
    if (in_array($check_file_exist, $contents_on_server)) 
    {
        echo "$file is already on FTP Server, no need to re-upload <br />";
    }
    else
    {
        $localfile = '/var/www/html/'.$file.'';
        $remote_file = $file;
        
        // upload a file
        if (ftp_put($conn_id, $remote_file, $localfile, FTP_ASCII))
        {
             echo "successfully uploaded $file\n";
        }
        else
        {
             echo "There was a problem while uploading $file\n";
        }
    };

}
        
// remember to always close your ftp connection
ftp_close($conn_id);

您在使用时尝试上传基于文本的文件以外的内容

(ftp_put($conn_id, $remote_file, $localfile, FTP_ASCII))

您应该使用FTP_BINARY而不是FTP_ASCII因为电影(和图像)是二进制文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM