[英]PHP Sync over ftp giving errors
因此,我得到了这段代码,该代码应该是从远程主机上的/ upload /文件夹中获取所有内容并将其复制到文件所在的位置。 代码如下:
<?php
$ftp_server = "server";
$conn_id = ftp_connect ($ftp_server)
or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, "user", "password");
if ((!$conn_id) || (!$login_result))
die("FTP Connection Failed");
ftp_sync ("/update/");
ftp_close($conn_id);
function ftp_sync ($dir) {
global $conn_id;
if ($dir != ".") {
if (ftp_chdir($conn_id, $dir) == false) {
echo ("Change Dir Failed: $dir<BR>\r\n");
return;
}
if (!(is_dir($dir)))
mkdir($dir);
chdir ($dir);
}
$contents = ftp_nlist($conn_id, ".");
foreach ($contents as $file) {
if ($file == '.' || $file == '..')
continue;
if (@ftp_chdir($conn_id, $file)) {
ftp_chdir ($conn_id, "..");
ftp_sync ($file);
}
else
ftp_get($conn_id, $file, $file, FTP_BINARY);
}
ftp_chdir ($conn_id, "..");
chdir ("..");
}
?>
当我在一个空文件夹中运行它时,它会执行预期的操作。 但是,如果我在包含/ update /文件的文件夹中运行它,则会给我两个错误。 错误在下面列出
Warning: mkdir() [function.mkdir]: Permission denied in /home/limited/public_html/download.php on line 25
Warning: chdir() [function.chdir]: No such file or directory (errno 2) in /home/limited/public_html/download.php on line 26
假设只用新文件覆盖文件,而不抛出错误。
谢谢
脚本(实际上是运行脚本的用户)无权在服务器上创建新文件夹, 或者您试图复制文件并创建新文件夹的文件夹均不受用户限制。
请尝试使用具有较高权限的用户,或将写入权限添加到要将文件同步到的文件夹中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.