• 締切済み

PHP5で,デッドリンクチェックが可能? 

 マニュアル本を片手にPHP5を使用して,HPを現在作成中なのですが,デッドリンクのチェック行う必要が出てきました。  fopen,fsockopenなどを使用してというところまでは,分かるのですが正直言ってその後の処理が分かりません。 それに,サイトのデッドリンクのチェックではなく,サイトの中にあるファイルの有無(ダイレクトリンク)のチェック,つまり,他のサーバー上にあるファイルに直リンをかけてあり,その直リンが生きているかどうかを判定したいということです。PHP5が理想なのですが,他の言語でもかまいませんので教えていただければと思います。  mysql上にリンクアドレスを1000以上登録してあり,それを呼び出してきて,判定の結果を書き込むということを考えています。mysqlから読み込み,書き込みはできるのですが,デッドリンクのチェックという肝心なところが,見当もつきません。   質問の内容を簡潔にすると (1) PHP5でデッドリンクのチェックが可能かどうか,さらに,それが直リンでも可能か,可能であればその方法をご指導ください。 (2) 他の言語では,可能かどうか,可能であればそのソースをご指導ください。 非常に,困っています。よろしくお願いします

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

PEARを使えば出来ますよ。 $url = "http://list3.auctions.yahoo.co.jp/jp/23336-category.html"; require_once "PEAR.php"; require_once "HTTP.php"; $result = HTTP::head($url); if ( !PEAR::isError($result) ){ if ( $result['response_code'] == 200 ) { echo "ok"; } else { echo "ng"; } } else { echo "ng"; } こんな感じです。

3396taka
質問者

お礼

ありがとうございました。 うまく解決しました。

関連するQ&A

  • 直リンクって、たいしたことじゃないの?

    こんばんは。 よく、MAKEとかいって、ロゴやアイコンを作っているサイトとか、素材屋さんで、「バナー直リンクOK」と書かれているのを見ます。 私はずっと、HPスペースを借りている人が直リンクの許可を出すのはいけないと思ってきました。実際、「バナー直リンOK」のサイトのレンタル元の規約にも、「他サイトから継続的に画像、各種データーを呼び出す目的での利用は禁止」と書かれていて、それはつまり直リンクさせてはいけないという意味ですよね? でも、バナーを直リンクOKにしているサイトはたくさんあるし、個人サイトのリンク集で、全部あちこちからの直リンクバナーだったりする事もよくあります。 実際はどうなんでしょうか?直リンクはしてはいけない、と言うのは常識ですか?それとも、上に書いたような規約があっても、バナー一個くらいなら、許されるんでしょうか?バナーを直リンOKにしていて、HPを削除されたりするんでしょうか? ひょっとして、技術が進歩?したから、直リンクぐらいで目くじら立てることも無いんでしょうか? お返事お待ちしています。

  • PHPの変数値をリンクさせたい

    現在、PHP・MySQL・HTMLにてWebサイトを開発しています。 純粋なPHPで記述されたファイルがあり、その中にURL(例えば、BBSのアドレス)が変数に格納されています。そのURL先にジャンプさせたいのですが、どのように記述すれば良いのでしょうか?現在は「require」にてリンクさせていますが、これではページ自体は表示されるのですが、リンク先のページにあるリンク"新規投稿"や"検索"といった文字列をクリックしても「404 Page not found」となり表示されません。おそらくLocalのキャッシュを見ているのでは無いとか思われます。 PHPの初心者のため基本が出来てないのですが、ご教授頂ければ嬉しいです。

    • ベストアンサー
    • PHP
  • 別のサーバーのPHPへ書きこむには

    http://linkmost.com/ こちらのサイトのように、予め登録ユーザーにはPHPのスクリプトを配布しておき、お互いに相互リンク申請をし、手動承認や自動承認するだけでお互いのサーバーにアップ済みのPHPファイルにリンクが追加される、そういったシステムはPHPではどのように作るのでしょうか? ググってみるとfsockopen関数を使う、というという回答もあったのですが、どのように使うのかがわかりません。 PHP経験数ヶ月の初心者です。どうかご教授くださいませ。

    • ベストアンサー
    • PHP
  • PHPからMySQLが動かせません

    PHPからmysqlのテーブルを開こうとした際に Fatal error: Call to undefined function mysql_connect() という一文が出ました。 php.iniのextension_dirのパスは一字一句間違っておりませんし、 extension=mysql.so extension=mysqli.so の二文も追加しました。また、その二つのファイルがあることも確認済みです。 また、phpファイルの構文は以下のとおりになっています。 $link = mysql_connect('ローカルホスト', 'ユーザー名', 'パスワード'); if (!$link) { die('接続失敗です。'.mysql_error()); } print('<p>接続に成功しました。</p>'); こちらもいろいろ調べまして、php_mysql.soとphp_mysql.soがないためではないかなどとかんぐっておりますが、そういった記述は私が調べた限りにおいては見かけませんでした。 php_mysql.soとphp_mysql.soというファイルはなくても、mysql.soとmysqli.soというファイルがあれば動くのでしょうか? 仮にphp_mysql.soとphp_mysql.soというファイルがないと動かない場合、何をインストールすればよいのでしょうか? ご回答よろしくお願いします。 また、PHPとMySQLはソースファイルを/usr/ports/distfilesディレクトリにコピーした上でポートからmake、make installしました。 マシンスペック OS…FreeBSD6.4 Apache…1.3.14 PHP…5.2.8 MySQL…5.0.92 都合上、バージョンを他のものに変更することはできません。 追記してくれということがありましたらよろしくお願いします。

  • リンクについて swfファイル

    あるフラッシュが、リンクフリーなのですが 「swfファイルに直リンは勘弁してください」 とありました。 swfファイルって何のことか分からないのですが 普通に自分のブログとかにリンクするのは大丈夫なんですよね? また、swfファイルとはなんなのでしょうか?

  • 直リンクとは。

    具体的にどういうことなのでしょう。 例えば<A HREF="私のサイトのアドレス"> で、 同ページでページが開くことを直リンクと言うと思うのですが。 逆に<A HREF="私のサイトのアドレス"TARGET="_Blank">という タグで別ページで開くのがいいと思うのですが。 先日相互リンクしてくれたサイトから私のサイトへ行くと、 別ページは開かず同ページで開いていました。 これは直リンではないのでしょうか? 相手先にそのことを申し出ますと、私のサイトに行く前にそのサイト内のリンク集のページでいったん別ページが開いているんです。 パソコン上ではその相手先のサイトのページが2枚開いていることになります。ややこしいですが、すいません。 で、ここからさらに私のサイトへのリンクに、"TARGET="_Blank"をつけるとパソコン上に3枚のページが開くことになるというのです。 それ自体はわかるのですが、何より気になるのはこれは直リンクではないのかということです。 直リンクでさえなければ何も問題ないと思っているので、 でもこれが直リンクか判断できないので、困っています。 御存知の方教えて下さい。よろしくお願いします。

    • ベストアンサー
    • HTML
  • Apache使ってphpでMySQLへアクセスが…

    Macを使っているものです. 最近phpでMySQLにアクセスしようということに取り組んでいます. しかし,apacheがよくないのかmysqlがよくないのか適切に動作してくれません. よくわからないので,手順を書いて問題を言及してみました... 何がいけないのでしょうか... --------- Apacheはデフォルトで入ってるはず・・・ apacheの設定ファイルhttpd.confのポートを8080に設定(これで競合はないはず・・・) ↓ [1]URLにhttp://localhost:8080/とうつと,Apacheのテストページではなく,It works!と出る ↓ とりあえず,Siteフォルダにphpファイルを置き,hello worldを表示.できた(じゃあ,動いてるのかな?) ↓ コマンドラインから「apachectl start」を実行「Already loaded」 じゃあ,動いてるっぽい ↓ じゃあ,DBアクセス用のphpを動作させよう!MySQL導入 ↓ 設定ファイルphp.iniのパスがおかしかったので,mysql.default_socket=/tmp/mysql.sockに変更 実際にcdで移動し,ファイルがmysql.sockがあることを確認 ↓ よーし,実行だ!http://localhost:8080/db_access.php→Not Found あるぇ?なんでだ? ↓ http://(ip直打ち):8080/db_access.php→表示! でも,ソースコード内に以下の記述をしている(簡略化して書きます) ********** $url="localhost" $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); <html>接続ID:<?=$link ?></html> ********** なのに,結果は :::::::::: 接続ID: :::::::::: という風になにも表示されない(・ω・` 結果が「MySQLへの接続に失敗しました。」なら,そもそもMySQLに接続できてないんだろうけど,結果だけがかえってこないのはなんでだろう. ちなみに,$urlをip直打ちにしたらブラウザに怒られた.そりゃそうだよな. --------- という流れで今に至ります. おそらく[1]の時点が問題かと自分では思うのですが,原因がわかりません. ご助言おねがいいたします.

    • 締切済み
    • PHP
  • 直リンについて

    今、個人HPを製作しているのですが、リンクについてちょっと悩んでいます。 他のサイトさんのリンクについてを見てみると 『バナーのみ直リンOK』など書いてることが多いのですが ”直リン”っていうのはあまり良いことではないんですよね? でもバナーだけ直リンOKっていうことは相手側に負担がかからないんですか? 直リンについて説明してあるサイトさんなどにも行ってみたのですが、いまいち理解できません。 『バナーのみ直リンOK』についてと、『自分のHPのリンクもバナーのみ直リンOKにした方が良いのか』について助言をお願いいたします。

  • ジオシティーズでの直リン

    ジオシティーズでHPを作成しています。 お友達のサイトをリンクページに貼りたいのですが、直リン推奨のサイトが多いです。ジオシティーズの規約のところに、ジオシティーズは直リン禁止というようなことが書いてあったのですが、その場合、直リン推奨のサイトはリンクできないのですか? それとも、自分のサイトを友人のサイトでリンクしてもらう際に直リンにしてはいけない、ということでしょうか? よろしくお願いします。

  • 直リンの意味って変わったの?

    直リンって他サイトの画像などへ直接リンクすることだと思っていたのですが,トップページへのリンクという意味に変わったんですか? http://netiquette.with2ch.net/tyoku.html http://okweb.jp/kotaeru.php3?q=982220

専門家に質問してみよう