在PHP中连接到FTP服务器时,不会列出任何目录
在我的网页上,我尝试连接到FTP服务器并使用PHP从中下载文件。连接按预期工作,但当我尝试使用在PHP中连接到FTP服务器时,不会列出任何目录,php,php-5.3,Php,Php 5.3,在我的网页上,我尝试连接到FTP服务器并使用PHP从中下载文件。连接按预期工作,但当我尝试使用ftp\u chdir()更改目录时,它告诉我找不到该目录 当我使用ftp\u nlist()检查文件时,我发现既没有显示目录也没有显示文件 $ftp_server = "server"; $conn_id = ftp_connect ($ftp_server) or die("Couldn't connect to $ftp_server"); $login_result =
ftp\u chdir()
更改目录时,它告诉我找不到该目录
当我使用ftp\u nlist()
检查文件时,我发现既没有显示目录也没有显示文件
$ftp_server = "server";
$conn_id = ftp_connect ($ftp_server)
or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, "user", "pass");
if ((!$conn_id) || (!$login_result))
die("FTP Connection Failed");
$today = date("d.m.Y");
ftp_sync ($today);
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);
}
$path = 'path/to/storedirectory';
$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{
$local_file = $path.$file;
ftp_get($conn_id, $local_file, $file, FTP_BINARY);
}
}
ftp_chdir ($conn_id, "..");
chdir ("..");
}
$ftp\u server=“server”;
$conn\u id=ftp\u连接($ftp\u服务器)
或者死亡(“无法连接到$ftp_服务器”);
$login_result=ftp_login($conn_id,“user”,“pass”);
如果(!$conn_id)| |(!$login_result))
死(“FTP连接失败”);
$today=日期(“d.m.Y”);
ftp_同步(今天美元);
ftp_关闭($conn_id);
函数ftp_sync($dir){
全球$conn_id;
如果($dir!=”){
如果(ftp_chdir($conn_id,$dir)=false){
echo(“更改目录失败:$Dir
\r\n”);
返回;
}
if(!(is_dir($dir)))
mkdir($dir);
chdir($dir);
}
$path='path/to/storedirectory';
$contents=ftp\u nlist($conn\u id,“.”);
foreach($file形式的内容){
如果($file='.| |$file=''.')
继续;
如果(@ftp_chdir($conn_id,$file)){
ftp_chdir($conn_id,“…”);
ftp_同步($file);
}
否则{
$local_file=$path.$file;
ftp\u-get($conn\u-id、$local\u-file、$file、ftp\u-BINARY);
}
}
ftp_chdir($conn_id,“…”);
chdir(“…”);
}
这是否与PHP版本有关,因为此代码在我的本地Web服务器上成功执行,但在我运行5.3.30版的Web空间上没有成功执行,还是我犯了其他错误?您可能需要从托管服务器使用被动模式。试试。
ftp\u chdir
仍然失败