我有一个HTML浏览类型和提交按钮的窗体。我使用浏览按钮选择一个文件并提交表单。在表单提交后,调用下面的代码。如何在PHP中通过ftp上传文件?
$conn_id="myid";
$conn_id = ftp_connect ('server');
$ftp_user_name="username";
$ftp_user_pass="password";
// login with username and password
$login_result = ftp_login ($conn_id , $ftp_user_name , $ftp_user_pass);
// check connection
if ((! $conn_id) || (! $login_result)) {
echo "FTP connection has failed!" ;
exit;
} else {
echo "Connected to for user $ftp_user_name" ;
}
// upload the file
$upload = ftp_put($conn_id, "images/signatures/" . $fileName , $_FILES['tmp_name'] , FTP_BINARY);
// check upload status
if(!$upload){
echo "FTP upload has failed!" ;
} else {
echo "Successfully Uploaded." ;
}
但它产生以下警告:
Warning: ftp_put(): Filename cannot be empty in /var/www/echdp/_ProviderSignature.php on line 70 FTP upload has failed!
但是,当我硬编码在上面的代码中的源路径然后上传在服务器上的文件:
$upload = ftp_put($conn_id, "images/signatures/myfile.txt" , "/var/www/images/hello.txt" , FTP_BINARY);
你确定你的html表单有'enctype ='multipart/form-data''属性吗?否则,$ _FILES数组将不会被填充,您将看到您所看到的错误。 – JCD 2010-08-17 13:15:52