ドロップシッピングをやっていると、商品写真のリンクが切れていることがたまにあります。
こうなると、せっかく販売のページを作っていても商品写真が無いので、メンテされてないページだとの印象をもたれてしまいます。
こういう時、商品写真の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 のが動かなく、他のも駄目っぽいので困ってました。
ばっちり動きました ありがとうございます
まさおさん、
コメント有難うございます。
お役に立てて光栄です。