PHP のPEAR モジュール「XML_Unserializer」で、
XMLパースエラー
「No unserialized data available. Use XML_Unserializer::unserialize() first.」
が出る時があります。
このエラーに対しての、対応方法を紹介します。
「PHP」カテゴリーアーカイブ
PHPでincludeの時、ファイルパスの指示の仕方。
この記事は、平成30年4月8日に修正、加筆致しました。
PHPで、include したファイルを include した時、ファイルパスをどうすべきでしょうか。
基本は、最初に実行されたファイルからの相対パスか、絶対パスで指示します。
例として、下図のディレクトリ構成の時、
a.php 内で、フォルダ 2 の b.phpをinclude し、
そのb.php 内で、c.php (2) をincludeしたいとします。
下図の例では、b.php 内の include のパス指示は、a.php からの相対パスになります。
記事の続きを読む
外部ファイルの存在の有無を確認するPHP
ドロップシッピングをやっていると、商品写真のリンクが切れていることがたまにあります。
こうなると、せっかく販売のページを作っていても商品写真が無いので、メンテされてないページだとの印象をもたれてしまいます。
こういう時、商品写真の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を用いて、画像が無くてもその画像の大きさ分空けておく必要があります。