Kıvrılmaları ve php kullanarak ftp bir dosya indirmek

5 Cevap php

Ben Kıvrılmaları ve php kullanarak bir ftp sunucusundan bir dosya indirmek için çalışıyorum ama yardım için herhangi bir belge bulamıyor

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,"ftp://$_FTP[server]");
curl_setopt($curl, CURLOPT_FTPLISTONLY, 1);
curl_setopt($curl, CURLOPT_USERPWD, "$_FTP[username]:$_FTP[password]");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec ($curl);

ben bu konuda dosyaların ama thats bir listesini alabilirsiniz

5 Cevap

Benim tahminim URL bir dizin değil bir dosya dönük olmasıdır. Sen dosyaya CURLOPT_URL tam URL'yi beslemek gerekir. Eğer bir dosya indirmek istiyorsanız Ayrıca bir yere kaydetmek isteyebilirsiniz.

Çalışma örneği:

$curl = curl_init();
$file = fopen("ls-lR.gz", 'w');
curl_setopt($curl, CURLOPT_URL, "ftp://ftp.sunet.se/ls-lR.gz"); #input
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FILE, $file); #output
curl_setopt($curl, CURLOPT_USERPWD, "$_FTP[username]:$_FTP[password]");
curl_exec($curl);
curl_close($curl);
fclose($file);
  • Dosyanın tam yolunu CURLOPT_URL ayarlayın.
  • CURLOPT_FTPLISTONLY satırı kaldırın.
  • Curl_exec önce şu satırları ekleyin:

    $file = fopen("filename_to_save_to", "w");
    curl_setopt($curl, CURLOPT_FILE, $file);
    

Topluluk yanıt küçük bir ayar ile çalışır:

It appears that setting CURLOPT_FILE before setting CURLOPT_RETURNTRANSFER doesn't work, presumably because CURLOPT_FILE depends on CURLOPT_RETURNTRANSFER being set.

Bu sayfada joeterranova yorumundan alıntı: http://php.net/manual/fr/function.curl-setopt.php

Burada FTP üzerinden bağlanmak için nasıl dahil olmak üzere CURL yardıma bakın http://www.linuxformat.co.uk/wiki/index.php/PHP_-_The_Curl_library

NOT: http://host.com/file.txt ve sonra file_get_contents veya dosya işlevlerini kullanın: Dosya HTTP ulaşılabilir EĞER sonra sadece bağlantı EG kullanmak daha iyidir.

Daha sonra http://uk.php.net/file_get_contents veya bilgisayarınıza dosya indirmek için başka bir yol kullanabilirsiniz. Bu seçenek indirmek için FTP kullanarak daha iyi olacaktır. Her zaman yukarıdaki linke belirtildiği gibi yüklemek için FTP kullanabilirsiniz.

Bu yanıtların hepsi çalışıyor ve bunların hiçbiri işe yaptıktan sonra, bu nihayet çalışmak lazım budur.

$curl = curl_init();
$fh   = fopen("FILENAME.txt", 'w');
curl_setopt($curl, CURLOPT_URL, "ftp://{$serverInfo['username']}:{$servererInfo['password']}@{$serverInfo['server']}/{$serverInfo['file']}");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
fwrite($fh, $result);
fclose($fh);
curl_close($curl);