PHP で CURL を使用して URL からファイルを保存する
指定された URL からサーバー上のディレクトリに画像を保存するには、 PHP で CURL を利用する方法を理解することが重要です。これを実現するために考えられる手順は次のとおりです:
元のコード:
function GetImageFromUrl($link) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch,CURLOPT_URL,$link); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); curl_close($ch); return $result; } $sourcecode = GetImageFromUrl($iticon); $savefile = fopen(' /img/uploads/' . $iconfilename, 'w'); fwrite($savefile, $sourcecode); fclose($savefile);
改善された解決策:
提供されたコードの機能を利用できない場合、別の方法は次のとおりです。推奨:
function grab_image($url,$saveto){ $ch = curl_init ($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); $raw=curl_exec($ch); curl_close ($ch); if(file_exists($saveto)){ unlink($saveto); } $fp = fopen($saveto,'x'); fwrite($fp, $raw); fclose($fp); }
追加の推奨事項:
php.ini ファイルで、allow_url_fopen が有効に設定されていることを確認します。この設定は、外部 URL アクセスを有効にするために重要です。
以上がPHP で cURL を使用して URL からサーバーに画像を保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。