• ブログTOP
  • AI・ディープラーニング
  • AR
  • VR
  • WEBサイト
  • WEBマーケティング
  • SEO
  • SNS
  • その他
  • お問い合わせ

ALAKI株式会社

COZIKEEいつまでも使えるTech情報発信ブログ

リクルートサイトはこちら >

PHPを使って「404 Not Found」を見つけよう!

2018年1月26日

  • このエントリーをはてなブックマークに追加

こんにちは、Webプログラマの篠田です。

大阪にも、最凶寒波が押し寄せてきています。

暖房が効いているはずのオフィス内でも、寒さを感じるのは私が冷え性だからというわけではないと信じたいです。

本日は、PHPで簡単に「404 Not Found」を調べる方法をご紹介します。

この記事の目次

  • 1 今さら聞けない「404 Not Found」とは
  • 2 「404 Not Found」の見つけ方
  • 3 自動でURLにアクセスしてみる
  • 4 PHPのエラーをうまく抑制する
  • 5 「エラー制御演算子」乱用絶対ダメ!
  • 6 まとめ

今さら聞けない「404 Not Found」とは

Webサイトを見ていると、たまに「404 Not Found」と画面に表示され、Webサイトがみられないという経験があると思います。

これは、指定されたURLに該当するWebページが、サーバーに存在しない時に表示されるエラーの1つです。
※「リンク切れ」ともいいます。

Webサイトを作る側としては、品質問題になるため絶対に潰しておきたいエラーでもあります。

「404 Not Found」の見つけ方

もっとも、シンプルな方法はリンクをクリックするということで、見つけることができます。

ただ、中規模以上のWebサイトとなると、クリックするリンクの数も3桁を超えることも、ザラにあります。

それを、1つ1つ調べるのは非常に大変です。

そこで、PHPを使って自動でWebページのリンクが正しいのかを調べる方法をご紹介します。

自動でURLにアクセスしてみる

PHPの関数の中に、「Webサイトを取得する」という「file_get_contents」関数があります。

これを利用することで、指定したURLが存在するかどうかを確認することができます。

使い方は下記のとおりです。

1
2
3
4
5
6
<?php
if ( file_get_contents("https://alaki.co.jp") !== false) {
echo "ページがあります。";
} else {
echo "ページがありませんでした。";
}

問題なく、「ページがあります。」と表示されます。

では、次のように変更をしてみます。

1
2
3
4
5
6
<?php
if ( file_get_contents("https://alaki.co.jp/2wsx1234") !== false) {
echo "ページがあります。";
} else {
echo "ページがありませんでした。";
}

実行すると「
Warning: file_get_contents(https://alaki.co.jp/2wsx1234): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found 」と「ページがありませんでした。」の2種類のメッセージが表示されます。

存在しないWebページを「file_get_contents」関数に渡すことで、「404 Not Found」を見つけることができました。

同時に「Warning: file_get_contents(…」というPHPのエラーも一緒に表示されてしまいます。

これでは、プログラムとしては利用することができません。

PHPのエラーをうまく抑制する

今回取得したい「404 Not Found」は、エラーではありますがその状態を知りたいという意味では、エラーではありません。

では、このエラーメッセージを出さずに結果だけを利用することはできないでしょうか。

そこで利用するのが「エラー制御演算子」と呼ばれる記号です。

実際に、先程のプログラムに利用してみましょう。

1
2
3
4
5
6
<?php
if ( @file_get_contents("https://alaki.co.jp/2wsx1234") !== false) {
echo "ページがあります。";
} else {
echo "ページがありませんでした。";
}

「file_get_contents」関数の頭に「@」が付きました。

この「@」が、PHPの「エラー制御演算子」です。

「エラー制御演算子」を利用することで、本来表示されるエラーを無視して、プログラムを動かすことができるようになります。

これで、「404 Not Found」の時に「ページがありませんでした。」と表示させることができます。

「エラー制御演算子」乱用絶対ダメ!

非常に便利な「エラー制御演算子」ですが、利用には注意が必要です。

「エラー制御演算子」は、本来表示されるべきPHPのエラーを無視して動かすという仕様のため、乱用すると致命的なバグを生み出すことにもつながります。

基本は、エラーがでないプログラムを作るということが前提で、仕様的に無視させる必要がある時だけ「エラー制御演算子」を利用するようにします。

まとめ

PHPを使って「404 Not Found」を見つけられるようになりましたが、このプログラムは非常に使う場面が限られてきます。

次回以降に、「file_get_contents」関数を応用して、ページのエラーチェックができる仕組みをご紹介します。

 


現場の業務フローに寄り添ったWebシステムをお求めなら、私たちALAKIにご相談ください。

ALAKIは経営者様が感じている問題点と、実際にWebシステムを利用される現場スタッフ様が直面している課題を、弊社システムエンジニアが丁寧に聞き取り、お客様と共にシステムを作り上げていきます。
業務改善が実現できるWebシステムをお求めの方は、是非ALAKIにご相談ください。

・ALAKIのWebシステム開発

・ALAKIのクラウド型受発注システム

  • ツイート
  • このエントリーをはてなブックマークに追加

You may also like...

  • python-logo-master-v3-TM

    macにpythonの開発環境を作ってみよう!

    1 1月, 2023

  • スクリーンショット 2022-11-03 6.44.07

    OpenStreetMapから3Dモデル(OBJ)を生成してUnityにインポートする

    3 11月, 2022

  • 4d2d8b8dcd418729257c9d1ec2ecc553_m

    システムに「Google Cloud Translation API」を入れて翻訳をしよう!-導入編-

    23 4月, 2018

プログラマー募集
  • Next story Creative Cloud Extractを使ってPSDからCSSを自動生成!コーディングを効率化する方法
  • Previous story 社内セミナー「第3回 ALAKI ◯◯ Lab」を開催しました。

弊社サービス

MONJI+ MUGHEN ALAKI クラウド型受発注システム さよなら過去のAR。WebARがイベント集客に革命を起こします。

運営会社

ALAKI株式会社 ALAKI株式会社採用サイト

人気の記事

  • alaki1462_A_businessman_who_works_logically_1da80a2e-c297-4911-bdd6-feba0ebf1357

    仕事術

    【書籍要約】数学的な仕事術大全

    4 11月, 2024

  • fv-main-img-min

    空間コンピューティング

    世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました

    22 6月, 2023

  • Virtual reality players isometric vector illustration. VR UI and navigation. Futuristic digital technology. Virtual screen. Mixed reality 3d concept. Person in VR headset. Web banner idea

    AR

    Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ

    6 6月, 2023

  • AWE

    未分類

    ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!

    26 5月, 2023

  • python-logo-master-v3-TM

    pyhotn / 業務効率化

    「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

    2 2月, 2023

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

アーカイブ

  • 2024年11月
  • 2023年6月
  • 2023年5月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年2月
  • 2021年12月
  • 2021年9月
  • 2021年7月
  • 2021年6月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年6月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年12月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年8月
  • 2017年7月
  • 2017年6月
  • 2017年4月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2013年10月
  • 2013年9月

Facebook

お問い合わせ

お問い合わせ

人気の記事

  • 【書籍要約】数学的な仕事術大全
  • 世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました
  • Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ
  • ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!
  • 「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

検索

ALAKI株式会社 © 2025. All Rights Reserved.