alors voila ... ce code ci desu est un indexeur de ftp... le problemme c'est que quant les serveur son un peu gros, la page n'a pas le temps de tout indexé accose du time out de 30sec j'aimeré que des que il y a le time out, alors la page ce reconecté et continu l'indexage la ou elle en été, je ne pence pas que ca soi trop dur, je pence qu'une ligne suffira mais je n'y arrive pas :^/ voice le CoDe :
<?
//Se connecter à la base pour insérer les enregistrements
require("conf.php3");
$db = mysql_connect($serveur, $utilisateur, $motDePasse);
mysql_select_db($sql_bdd,$db);
$date=date( "Y-m-d", time() );
//Eviter les doublons dans la base
$query = mysql_query("SELECT * FROM link where host like \"$ip\" group by host");
$result = mysql_num_rows($query);
if ($result==1)
{
Echo "<div align=\"center\"><p><b><u><font size=\"4\">FTP déjà Indexé !</font></u></b></p><a href=\"index.php\">Revenir à l'index</a></div>";
exit;
}
//Définir la connexion
$conn_id = ftp_connect($ip,$port);
// authentification avec nom de compte et mot de passe
$login_result = ftp_login($conn_id, $login, $pwd);
// vérification de la connexion
if ((!$conn_id) || (!$login_result)) {
exit;
}
else
{
echo "Indexage en cours"."<br>";
$count_dossiers=1;
$i=0;
$Dossier0=$rep;
$Dossier1=$rep;
while (${"Dossier".$i}!="")
{
$i=$i+1;
$fichiers = ftp_rawlist($conn_id, ${"Dossier".$i});
$Dossier_parent=${"Dossier".$i};
if (substr ($Dossier_parent.$details[8]."/",0,strlen ($rep))!=$rep)
{
exit;
}
foreach($fichiers as $fichier)
{
//Découpe $fichier en différentes chaines identifiables
$details = preg_split("/\s+/", $fichier);
//Si la premiere lettre de $fichier est un d alors c'est un dossier sinon c'est un fichier
if (strpos(" "."$fichier","d")=="1" and $details[8]!="." and $details[8]!=".."){
$count_dossiers = $count_dossiers +1;
${"Dossier".$count_dossiers}=$Dossier_parent.$details[8]."/";
}
else
{
// On isole les repertoires raccourcis
if (!$fichier or strpos(" "."$fichier","l")!="1" and $details[8]!="." and $details[8]!="..")
{
$file= stristr ($fichier, $details[8]);
$file= "ftp://".$login.":".$pwd."@".$ip.$Dossier_parent.$file;
mysql_query ("Insert into link (host, file, date) VALUES ('$ip', '$file', '$date')");
echo "<a href=\"".$file."\">".$file."</a><br>";
}
}
}
}
}
?>
Si quellqu'un c'est comment faire, ca seré SUPER TROP TOP COOL :^p ;)
Thx