我尝试使用此代码从localhost(XAMPP)发送FTP文件,但上传的文件已损坏(文件大小较小,我无法打开文件img1.png)。但是,如果我尝试来自主机的代码,它可以完美运行。我该如何解决这个问题?
$server = '**.******';
$username = '*******';
$password = '*******';
print_r($_FILES['fileToUpload']);
$id_connessione = ftp_connect($server);
$login = ftp_login($id_connessione, $username, $password);
$file_originale = $_FILES['fileToUpload']['tmp_name'];
$file_destinazione = $_POST['nomeUser']."_".$_FILES['fileToUpload']['name'];
ftp_chdir($id_connessione, '/upload/');
if (ftp_put($id_connessione, $file_destinazione, $file_originale,
FTP_ASCII)){
echo "successfully uploade";
} else {
echo "problem";
}
ftp_close($id_connessione);
你应该使用FTP_BINARY
而不是FTP_ASCII
。
BINARY模式意味着数据在传输过程中不会更改,并且几乎总是要使用。 ASCII模式在本地和服务器约定之间转换换行符,仅对纯文本文件有用。