[PHP-users 19741]Re: リンク切れHTMLファルのチェック
Tadashi Jokagi
ml @ elf.no-ip.org
2004年 1月 7日 (水) 14:08:17 JST
ぢょ〜@よくきたなです.
Teruyuki Wakamatsuさんの「[PHP-users 19740] Re: リンク切れHTMLファルのチェック」から
>なるほど。これもぜひとも探して試してみます。
>今、Pearのサイトへ行って探してみます。
興味があるので調べたんですが, PEAR の CVS に HTTP_Client という
のがあってそれのサンプルがまさにリンクチェックでした ;-)
■HTTP_Clientいんすとーる
$ export CVSROOT=:pserver:cvsread @ cvs.php.net:/repository
$ cvs co pear
※(かなり一杯ファイルがダウンロードされます
$ cd pear/HTTP_Client
$ vi package.xml
※「2003-12-??」となってるのを適当に修正. 上鍵は「2003-12-31」に
しました
$ su -
※システムの PEAR に対してインストールは root で. 一般ユーザーで環
境を作ってる場合は root じゃなくてもよいです
# pear install package.xml
■サンプル(結構省略)
<?php
require_once 'HTTP/Client.php';
require_once 'HTTP/Request/Listener.php';
class HTTP_Client_LinkChecker extends HTTP_Request_Listener
{
(snip)
}
$urlList = array(
'http://www.php.net/',
'http://www.php.net/fsockopen',
'http://pear.php.net/foobar.php'
);
$client =& new HTTP_Client();
$checker =& new HTTP_Client_LinkChecker();
$client->attach($checker);
foreach ($urlList as $url) {
$client->head($url);
}
var_dump($checker->getResults());
?>
■サンプル実行結果
$ php -Cq link-checker.php
array(3) {
["http://www.php.net/"]=>
string(2) "OK"
["http://www.php.net/fsockopen"]=>
string(36) "Moved to http://jp.php.net/fsockopen"
["http://pear.php.net/foobar.php"]=>
string(14) "HTTP Error 404"
ちょっといいなと思いました;-)
--
----.----1----.----2----.----3----.----4----.----5----.----6----.----7
Tadashi Jokagi/Shibuya city mailto:elf @ elf.no-ip.org
Yokukitana http://elf.no-ip.org/
Yokukitawiki http://elf.no-ip.org/wiki/
Yokukitablog http://elf.no-ip.org/blog/
Fedora JP Project http://www.linuxml.net/
PHP-users メーリングリストの案内