J'ai 2800 URL dans une bdd et je veux lire s'ils sont encore fonctionnel,
j'ai fait un script:
include "include/get_root_da.inc";
$result = mysql_query ("SELECT * FROM w_url ORDER BY wid LIMIT 0,50",$db);
while ($myrow = mysql_fetch_array($result)) {
$url = $myrow["url"];
$wid = $myrow["wid"];
$fh = fopen("$url", "r");
if ( $fh ) {$v_comm='OK'; } else { $v_comm = 'NO'; }
echo "<a href=\"$url\" target=_blank>wid $wid</a> v_comm $v_comm<br>";
$sqlup = "UPDATE w_url SET check_url = '$v_comm' WHERE wid=$wid";
$resultup = mysql_query($sqlup);
}
Le problème est que quand le URL ne marche pas, le fopen ne se ferme pas et j'obtiensFatal error: Maximum execution time of 30 seconds exceeded in ....
J'avais de l'espoir avec
checkdnsrr($mailDomain, "MX");
mais j'ai lu que cela ne marchait pas sur les serveurs Windows,J'ai aussi essayé file_get_contents
qui ouvre tout le fichier mais ce n'est pas ce que je cherche
Je cherche une commande courte qui me dit si mon URL est fonctionnel ou non.
Plus tard quand j'aurais trié les URL je regarderais les meta-description.
Merci de votre aide