ドロップシッピングをやっていると、商品写真のリンクが切れていることがたまにあります。
こうなると、せっかく販売のページを作っていても商品写真が無いので、メンテされてないページだとの印象をもたれてしまいます。
こういう時、商品写真のURLが存在しない場合は、表示しないようにしておけば販売のページで、写真部分が歯抜けになることはなくなります。
で、その外部ファイルの存在の有無を確認するために、PHPでそのページが返すヘッダーを取得します。
HTTPステータスコードが200の時は真、それ以外は偽を返す関数を作って、使用した例が下記になります。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  | 
						<?php function url_exists($url){     $header = @get_headers($url);     if(preg_match('/^HTTP¥/.*¥s+200¥s/i',$header[0])){         return true;     }     return false; } $url = 'http://example.com/hoge.jpg'; if(url_exists($url)){     echo '<img src="' . $url . '",width="100",height="100",alt="hogeの写真" />'; }else{     echo "この商品の画像はありません。"; } ?>  | 
					
※ページのレイアウトが崩れないように、CSSを用いて、画像が無くてもその画像の大きさ分空けておく必要があります。




2 個のコメント
。
ttp://www.php.net/manual/ja/function.file-exists.php
にある、06-Aug-2008 12:41 のが動かなく、他のも駄目っぽいので困ってました。
ばっちり動きました ありがとうございます
まさおさん、
コメント有難うございます。
お役に立てて光栄です。