2017-12-11 19 views
0

リンクをロードすると、私はダウンロードしようとしているファイルがファイルのダウンロード

https://assetgame.roblox.com/Asset/?id=942531514 

ここに位置しており、それオートはあなたのダウンロードを強制します。

私は、PHPでファイルをダウンロードして後で使用できるようにサーバーに保存する方法を見つけようとしています。

私はcurlとfile_get_contentsのfile_put_contentsを試しましたが、どちらもうまくいきませんでした。

ありがとうございます!

+0

例えば、CURLOPT_FOLLOWLOCATIONオプションでリダイレクトし、そしてそれはカールで動作するはずのhttpに従うことをカール言う、それはダウンロードを強制するものではありません。これは単なるjson_encoded配列です。 Curlまたはfile_get_contentsが動作するはずです.json_decodeと組み合わせると、データを取得することができます。 – Alex

+0

私の悪い、投稿を更新しました。私は間違ったリンクを間違って挿入しました。 –

+0

申し訳ありませんローレンス、私は誤って間違ったURLを入れました。私はXMLではなくファイルを好きです。 –

答えて

0

ここは故障です。

お電話しようとしているURLは:https://assetgame.roblox.com/Asset/?id=942531514

ファイルは次の場所にありURL:サーバはヘッダに強制ダウンロードを返しているのでhttp://c3.rbxcdn.com/43865ade81ebad6d3493166f3bcfc631

function download_file($url,$saveto){ 
    $cinit = curl_init ($url); 
    curl_setopt($cinit, CURLOPT_HEADER, 0); 
    curl_setopt($cinit, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($cinit, CURLOPT_BINARYTRANSFER,1); 
    $cexec=curl_exec($cint); 
    curl_close ($cinit); 
    if(file_exists($saveto)){ 
     unlink($saveto); 
    } 
    $fp = fopen($saveto,'x'); 
    fwrite($fp, $raw); 
    fclose($fp); 
} 

これはあなたのために働くことを望みます。

+0

最初のURLから2番目の画像URLを取得するにはどうすればよいですか? –

+0

私は[この投稿](https://stackoverflow.com/questions/3519939/how-can-i-find-where-i-will-be-redirected-using-curl)がそのタスクに役立つことを望みます –

1

あなたのURLのfile_get_contentsは間違いなく動作しません理由である、全く理解しないのfile_get_contents、HTTP Location Redirectを使用します(警告を、のfile_get_contentsは失敗するかもしれないもう一つの理由は、allow_url_fopen php.iniの設定です)。カールはそれを理解していますが、デフォルトではそれを無視しているので、おそらくあなたのカールコードが失敗しました。明示的に私はクロームのリンクをクリックした

$ch = curl_init ('https://assetgame.roblox.com/Asset/?id=942531514'); 
curl_setopt_array ($ch, array (
     CURLOPT_FOLLOWLOCATION => true, 
     CURLOPT_RETURNTRANSFER => true 
)); 
$xml=curl_exec($ch); 
var_dump($xml); 
関連する問題