我试图将C:\data\image.jpg中的文件上传到我的ftp服务器(000webhost)
我使用的代码如下
<?php
// FTP access parameters
$host = 'nana.host56.com';
$usr = 'a4491289';
$pwd = '+++';
// file to move:
$local_file = 'C:dataimage.jpg';
$ftp_path = '/public_html/';
// connect to FTP server (port 21)
$conn_id = ftp_connect($host, 21) or die ("Cannot connect to host");
// send access parameters
ftp_login($conn_id, $usr, $pwd) or die("Cannot login");
// turn on passive mode transfers (some servers need this)
// ftp_pasv ($conn_id, true);
// perform file upload
$upload = ftp_put($conn_id, $ftp_path, $local_file, FTP_ASCII);
// check upload status:
print (!$upload) ? 'Cannot upload' : 'Upload complete';
print "n";
/*
** Chmod the file (just as example)
*/
// If you are using PHP4 then you need to use this code:
// (because the "ftp_chmod" command is just available in PHP5+)
if (!function_exists('ftp_chmod')) {
function ftp_chmod($ftp_stream, $mode, $filename){
return ftp_site($ftp_stream, sprintf('CHMOD %o %s', $mode, $filename));
}
}
// try to chmod the new file to 666 (writeable)
if (ftp_chmod($conn_id, 0666, $ftp_path) !== false) {
print $ftp_path . " chmoded successfully to 666n";
} else {
print "could not chmod $filen";
}
// close the FTP stream
ftp_close($conn_id);
?>
并显示警告:ftp_put(C:\data\image.jpg)[function.ftp put]:无法打开流:没有这样的文件或目录/home/a491289/public_html/upload.php
文件路径和本地文件是否有问题?非常感谢。
在上传文件之前,尝试使用ftp_chdir到$ftp_dir,并在远程路径中使用要上传的文件名。即:
ftp_chrdir('/public_html/');
ftp_put($con, 'ftp_image.jpg', 'real_image.jpg', FTP_ASCII);
或者,您可以尝试提供目标文件的完整路径,而不仅仅是"/public_html/"。
请查看以下示例:http://php.net/manual/en/function.ftp-put.php