georg Sun Dec 30 10:43:04 2001 EDT
Added files:
/phpdoc/scripts checkent.php
Log:
little helper script, which checks the links in global.ent
Index: phpdoc/scripts/checkent.php
+++ phpdoc/scripts/checkent.php
#!/usr/bin/php -q
<?php
/*******************************************************
* checkent.php
*
* this little script checks if entities in global.ent
* are ok
*
* PHP configuration options
* -enable-ftp
*******************************************************
* Authors:
* Georg Richter <[EMAIL PROTECTED]>
*******************************************************/
// like a good wine, this script needs some time
set_time_limit(0);
// schemes we had to check
$schemes = array("http", "https", "ftp");
// Start this script only from script.dir
$filename = "../global.ent";
function errormsg ($entity, $desc){
printf ("%30s: %s\n", $entity, $desc);
return;
}
if (!$fp = fopen($filename, "r")){
printf ("Error: can't open $filename\n");
exit(-1);
}
printf ("checkent.php\nPlease wait, this could take some time\n\n");
while (!feof($fp)){
// read line and remove unnecessary spaces
$line = ltrim(ereg_replace(" ", " ", fgets($fp, 255)));
// we only need entity lines
if (substr($line,0,8) == "<!ENTITY"){
$tmp = explode (" ", $line);
$entity = $tmp[1];
$link = substr($tmp[2], 1, strlen($tmp[2]) - 4);
// get parts of url
$url = parse_url($link);
// valid scheme ?!
if (in_array($url["scheme"], $schemes)){
$ip = gethostbyname($url["host"]);
if ($ip == $url["host"]){
errormsg ($entity, "unknown host: "
.$url["host"]);
} else
switch ($url["scheme"]){
case "http":
if ($fpurl = @fopen($link, "r")){
fclose ($fpurl);
}
else
errormsg ($entity, "Could not
open document: " . $link);
break;
case "ftp":
if ($ftp = @ftp_connect($url["host"])){
if (@ftp_login($ftp,
"anonymous", "[EMAIL PROTECTED]")){
$flist =
ftp_nlist($ftp, $url["path"]);
if (!count($flist))
errormsg($entity, "unknown path: " . $url["path"]);
} else
errormsg ($entity,
"could not login as anonymous to " . $url["host"]);
ftp_quit($ftp);
} else
errormsg ($entity, "could not
connect to " . $url["host"]);
break;
}
}
}
}
fclose($fp);
?>