特定の Web サイトから画像リンクを取得するこのスクリプトがあるため、対応するディレクトリに画像を配置するために使用される Web サイトの画像リンクとソース名を渡す関数を作成しました。
ただし、この関数は適切に機能しない場合があり、ランダムに画像を保存しますが、画像は基本的に空です。そのため、$img_link から元のファイル名で空のファイルを保存するだけで、実際の画像を表示できません。
その場合、それが発生した場合、デフォルトの画像パスを返そうとしました。しかし、それは失敗し、上記で説明したように空の画像を返します。
function saveIMG($img_link, $source){
$name = basename($img_link); // gets basename of the file image.jpg
$name = date("Y-m-d_H_i_s_") . mt_rand(1,999) . "_" .$name;
if (!empty($img_link)){
$ch = curl_init($img_link);
$fp = fopen("images/$source/$name", 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($ch, CURLOPT_HEADER, 0);
$result = curl_exec($ch);
curl_close($ch);
fclose($fp);
$name ="images/$source/$name";
return $name;
}
else {
$name = "images/news_default.jpg";
return $name;
}
}
画像の取得に失敗した場合のケースを作成する方法について、より良いアイデアはありますか?
ありがとう