- ベストアンサー
PHP実行時のエラーについて
質問よろしくお願いいたします。 PHP初心者なのですが、 サイト更新のし易さなどから ’ウェブランサー’というサイトのテンプレートを使わせて頂き、 試行錯誤しながら現在サイト構築を進めています。 動作確認にはXAMPPというフリーソフトを使っているのですが、 どうやらエラーが出ているようなのですが、 なにが原因なのかよくわかりません。 分かる方いらっしゃいましたら、教えて頂けないでしょうか? Deprecated: Function ereg() is deprecated in C:\xampp\htdocs\public_html\index.php on line 2 これは何のエラーなのでしょうか? 自分なりにネットで調べても、英語サイトばかり引っ掛かり 原因が分からないでいます。 現在 public_html のフォルダーには、2つのファイルがありまして (ウェブランサーさんのテンプレートです。) どちらかが原因なのでしょうか? ■1つめのファイル(temp.php) <?php /***********************************/ // 使いまわす部品の用意 /***********************************/ // ドメイン(ファイルを設置するディレクトリまで定義) $domain = "http://".$_SERVER["HTTP_HOST"]."/"; // XML宣言 $xml_v = "<?xml version=\"1.0\" encoding=\"Shift_JIS\" ?>"; $body_text = "#000000"; $body_bg = "#FFFFFF"; $body_link = "#0000FF"; $body_vlink = "#0000FF"; $body_alink = "#0000AA"; $hr = "<hr style=\"border-color:#999999; border-style:solid;\" />"; $san = "<span style=\"color:#999999;\">…………………………</span>"; /***********************************/ // ヘッダーを定義 /***********************************/ $header = <<< TAGSET {$xml_v} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> <title>{$title}</title> <meta name="keywords" content="{$keyword}" /> <meta name="description" content="{$description}" /> <link rel="alternate" media="handheld" href="alternate_page.htm" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <style type="text/css"> <![CDATA[ a:link{color: {$body_link};} a:visited{color: {$body_vlink};} a:focus{color: {$body_alink};} ]]> </style> </head> <body text="{$body_text}" bgcolor="{$body_bg}" link="{$body_link}" vlink="{$body_vlink}" alink="{$body_alink}" style="color:{$body_text}; background-color:{$body_bg};"> TAGSET; /***********************************/ // フッターを定義 /***********************************/ $footer = <<< TAGSET {$hr} <div style="text-align:center; font-size:x-small;">(C)Sample.</div> </body> </html> TAGSET; ?> ■2つめのファイル(index.php) <?php if (ereg("DoCoMo", $_SERVER['HTTP_USER_AGENT'])) { header('Content-Type: application/xhtml+xml'); } $title = "このページのタイトル"; $keyword = "キーワード"; $description = "このページの説明文。"; include("./temp.php"); echo $header; ?> <!--=== CONTENTS ===--> コンテンツ部分を記述 <!--/=== CONTENTS ===--> <?php echo $footer; ?> これらのファイルをXAMPPで開くと、 以下のエラーがページ内に出ています。 Deprecated: Function ereg() is deprecated in C:\xampp\htdocs\public_html\index.php on line 2 コンテンツ部分を記述 -------------------------------------------------------------------------------- (C)Sample. 本来は、コンテンツ部分を記述がページ文頭にこないと おかしいと思うのですが…。 これの原因分かる方いらっしゃいますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> これは何のエラーなのでしょうか? Function ereg() is deprecated => 関数 ereg は 廃止予定 deprecated〔仕様などが〕廃止される可能性がある、廃止予定の、将来のサポートが保証されない(ので使用すべきでない)、非推奨の◆仕様が改定されたが、後方互換のために以前の方式も当面使えるようにしてある場合など > 自分なりにネットで調べても、英語サイトばかり引っ掛かり原因が分からないでいます。 Deprecated: Function ereg() is deprecated までで検索すればすぐ見つかるでしょ。 C:\xampp\htdocs\public_html\index.php はあなたの環境なので検索しなくていいです。 > 現在 public_html のフォルダーには、2つのファイルがありましてどちらかが原因なのでしょうか? index.php on line 2 と書いてあります。 index.php の 2行目が原因である可能性が高いということです。 > if (ereg("DoCoMo", $_SERVER['HTTP_USER_AGENT'])) { if (preg_match("/DoCoMo/", $_SERVER['HTTP_USER_AGENT'])) { などに関数を変更すればおさまります。 あんまり便利そうには見えませんが..
お礼
おはようございます。 お礼遅くなってしまい、大変申し訳ありません… ご指摘いただいた箇所を修正しましたところ、 エラーは無事に解消することができました。 どうもありがとうございます^^