2011-07-21 70 views
0

我使用FTP下載遠程文件三層架構的遠程FTP下載:流和包裝:

readfile("ftp://".$ftp_user.":".$ftp_pass."@".$ftp_host."/".$file); 

但是,當我在不同的Linux網絡主機託管的同一個代碼(我測試4),有的可以做到這一點,有些不是。遠程文件託管在另一臺Linux Web主機上。

我測試他們的支持,結果是不同的包裝,但都包括「FTP」:

print_r(stream_get_wrappers()); 

Array 
(
    [0] => php 
    [1] => file 
    [2] => data 
    [3] => http 
    [4] => ftp 
    [5] => compress.zlib 
    [6] => zip 
) 

Array 
(
    [0] => compress.zlib 
    [1] => compress.bzip2 
    [2] => dict 
    [3] => ftp 
    [4] => ftps 
    [5] => gopher 
    [6] => http 
    [7] => https 
    [8] => imap 
    [9] => imaps 
    [10] => pop3 
    [11] => pop3s 
    [12] => rtsp 
    [13] => smtp 
    [14] => smtps 
    [15] => telnet 
    [16] => tftp 
    [17] => php 
    [18] => file 
    [19] => data 
    [20] => zip 
) 

的第一個主機可以做到這一點,第二個不行。

我想知道問題在哪裏。請幫助,謝謝

+0

防火牆問題? PASV v.s是否有效? –

+0

你能否再解釋一下,「一些可以做到,一些不可以」是什麼意思?你看到的任何錯誤可能值得分享? :) – marcelog

回答

0

檢查在php.ini中啓用了allow_url_fopen。