CLIで実行することを目的としたphpスクリプトを作成しています。これは、ftpサーバーにファイルをダウンロードするのに役立ちます。何が悪いのかを正確に説明しますが、その前に、コンテキストについて説明します。
オールディーズゲームの画像ファイルを共有しているウェブサイトに登録しています。このサイトでファイルをダウンロードする場合は、ダウンロードリンクを取得するためにログに記録する必要があります。次に、与えられたリンクはFTPダウンロードリンクです。
Wiresharkを使用してFTP接続パケットのキャプチャを作成し、失敗したスクリプト化されたFTP転送と比較しました。
したがって、..FTPサーバーは匿名接続を受け入れます。ブラウザを使用してファイルをダウンロードすると、ファイルのリンクは次のようになります。
ftp://website.url/somefolder/1/foo/bar/SOMEOLDIE.rar
ここで、FileZillaを使用してこのFTPに接続し、匿名ログインでアクセスすると、いくつかのフォルダーが表示されますが、isoが必要な「somefolder」に移動すると、フォルダーは空になります。
この画像を見て、コードを表示します。 今コード;
function download_file($url){
echo "Downloading: ".$url;
$ch = curl_init($url);
$fp = fopen("data/output.rar", "w");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_COOKIEFILE, 'data/cookies.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
//curl_setopt($ch, CURLOPT_FAILONERROR, 1);
//curl_setopt($ch, CURLOPT_FTPLISTONLY, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "anonymous:mozilla@example.com");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec($ch);
//var_dump(curl_getinfo($ch));
//echo curl_error($ch);
curl_close($ch);
fclose($fp);
}
誰かがそれを手伝ってくれますか?私はcurlに精通しておらず、必要なコマンドを正確に送信するようにcurlに指示する方法がわかりません。
ありがとうございました !
編集:これを見てください、それはまったく同じ問題です。FTPからPHPとCurlを使用してファイルをダウンロードするのに助けが必要