在使用ftp_put时,如何处理不在当前目录中的文件?这段代码试图上传我知道存在的文件,但它总是会出现以下错误:
“警告:ftp_put()[function.ftp-put]:在/path/to/files/domains/mydomain.com/html/scriptfile.php上未执行请求的操作,找不到文件或无法访问。 1337"
这是剪辑:
$file_name = $this->GetFileName();
if ($file_name)
{
$resource = ftp_connect('ftp.remoteftpserver.com');
if ($resource && ftp_login($resource, $username, $pass))
{
ftp_pasv($resource, true);
//UPLOAD_DIRECTORY == '/IN' (it really exists, I'm sure)
//ORDER_DIRECTORY == /home/domains/mydomain.com/orders (came from $_SERVER['DOCUMENT_ROOT']
ftp_put($resource, UPLOAD_DIRECTORY . '/' . $file_name, ORDER_DIRECTORY . '/' . $file_name, FTP_ASCII);
ftp_close($resource);
}
else
{
echo "FTP Connection Failed!";
}
}
答案 0 :(得分:1)
检查远程文件的权限。确保$ username具有对该文件的写访问权。确保您对父目录具有执行权限。