Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中连接到FTP服务器时,不会列出任何目录_Php_Php 5.3 - Fatal编程技术网

在PHP中连接到FTP服务器时,不会列出任何目录

在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服务器并使用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_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
仍然失败