2013-08-02 4 views
0

ftp를 통해 하나의 서버에 연결하고 zip 파일을 다운로드해야합니다.PHP를 통한 ftp 연결

$url = $server_file = '/expiring_service_auctions.csv.zip'; 
$target = $local_file = 'godaddy.zip'; 
$out = 'godaddy.csv'; 


$ftp_server = 'ftp.godaddy.com'; //'208.109.78.100' 
$ftp_user_name = 'auctions'; 
$ftp_user_pass = ''; //no pass 


// set up basic connection 
$conn_id = ftp_connect($ftp_server); 

// login with username and password 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// get contents of the current directory 
$contents = ftp_nlist($conn_id, "."); 

// output $contents 
var_dump($contents); 

try to download $server_file and save to $local_file 
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) { 
    echo "Successfully written to $local_file\n"; 
} else { 
    echo "There was a problem\n"; 
} 

// close the connection 
ftp_close($conn_id); 

일 :

나는 운없이 시도 무엇? 무엇을해야합니까?

+0

오류 메시지가 표시됩니까? –

+1

여하튼 나는 godaddy가이 파일을 자신의 파일 시스템의 루트에 두게 될지 의심 스럽다. 파일의 올바른 소스 경로를 확인 했습니까? 아마도'/ expiring.csv.zip'과'/ home/username/expiring.csv.zip'과 같은 것일 것입니다. –

+0

@MarcB FTP에 직접 로그인하면 루트에 있습니다. 아마도'경매'사용자 이름 때문일 것입니다. – aynber

답변

2

FTP 서버에 로그인했을 때 PASV를 사용하는 것이 좋습니다. 로그인 행 뒤에 다음을 추가하십시오.

ftp_pasv($conn_id, true); 
+0

그것은 매력처럼 작동합니다, 제안에 대해 대단히 감사합니다. –