salve.

devo rinominare circa 40000 file su un server che ha impostato come durata massima di vita degli script 30 secondi. lo script php che si occupa di rinominare i file ha bisogno di parecchio tempo, perciò pensavo di frammentare il suo lavoro e di eseguirlo ogni tot secondi.

in pratica lo script php prende tramite get il nome della cartella contenente i file da rinominare. esegue il suo lavoro che impiega pochi secondi. tramita uno script js volevo impostare un timeout di 10 secondi che chiamasse una funzione che lancia lo script php

ho buttato giù il codice ma non funzia:

script php
Codice PHP:
<?php
$cartella
=$_GET['id'];    


$percorso="./cache/".$cartella;

if (!
$directory=opendir($percorso)) die("Errore. Cartella immagini non trovata!");
        
$cont=0;
while (
$files readdir($directory))
{
    
/* 
    ELABORAZIONE......
    */

}

$file=fopen('log.txt','a+');
fwrite($file,"Cartella $cartella elaborata correttamente\n");
fclose($file);
?>
script js
Codice PHP:
<html>
<
head>
</
head>
<
body>
<
script type="text/javascript">
a=new Array("LB0010a1","LB0011a1","LB0012a1"........//ce ne sono qualche migliaia);

for (i=0;i<a.length;i++)
{
    
setTimeout(function () {
  
elabora(i);
}, 
5000);
    
}

function 
creaOggettoXMLHttp()
{
    
    if (
typeof XMLHttpRequest != "undefined")
    {
        return new 
XMLHttpRequest();
    }
    else 
    {
    
        var 
versioni = [ "MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"]; 
        
        for (var 
i=0i<versioni.lengthi++)
        {
            try
            {
                var 
oggetto=new ActiveXObject(versioni[i]);
                return 
oggetto;            
            }
            catch(
errore)
            {
                
//evito che l'errore blocchi la ricerca dell'oggetto giusto
            
}
        }
        
    }
    throw new 
Error("La libreria MSXML non è installata");
}

function 
elabora(indice)
{
    var 
xmlhttp=creaOggettoXMLHttp();
    
xmlhttp.open("post","rinomina.php?id="+a[indice],false);
    
xmlhttp.send(null);
}
</script>
</body>
</html> 
potete darmi una mano?


mille grazie