Dépassement du temps d'execution (30s)
Posté : 26 févr. 2009, 21:24
Bonsoir,
Je lance la fonction dbclean() lors de la soumission d'un formulaire, voici le code :
Comment pourrais-je modifier cette fonction pour quelle aboutisse ?
J'ai vu qu'il existait sleep() et usleep() mais je ne sait pas si c'est ce qu'il me faut et surtout ou les placer.
Merci pour votre aide.
Je lance la fonction dbclean() lors de la soumission d'un formulaire, voici le code :
<?php
function clean_db($dbname){
$date = date("d-m-Y",time());
$path = './DATA/clean/'.$date;
if(!is_dir($path)){
mkdir($path, 0755);
}
$sql = "SHOW TABLE STATUS FROM $dbname";
$req = mysql_query($sql);
compte_requete();
while ($donnees = mysql_fetch_array($req)){
$table = $donnees[0];
$sql = "SHOW TABLE STATUS FROM $dbname";
$req = mysql_query($sql);
compte_requete();
if($req){
$insertions = "";
$tableau = mysql_fetch_array($req);
$tableau[1] .= ";";
$dumpsql[] = str_replace("\n", "", $tableau[1]);
$sql = "SELECT * FROM $table";
$req_table = mysql_query($sql);
compte_requete();
$nbr_champs = mysql_num_fields($req_table);
while ($ligne = mysql_fetch_array($req_table)){
$insertions .= "INSERT INTO $table VALUES(";
for ($i=0; $i<=$nbr_champs-1; $i++){
$insertions .= "'" . mysql_real_escape_string($ligne[$i]) . "', ";
}
$insertions = substr($insertions, 0, -2);
$insertions .= ");\n";
}
if ($insertions != ""){
$dumpsql[] = $insertions;
}
}
}
file_put_contents($path."/sqldump-".$dbname."-".date("Ymd-His").".sql", implode("\r", $dumpsql));
}
?>
Ce code n'est pas de moi mais il fonctionne bien. Le problème est que je suis en hébérgement mutualisé et que je n'ai pas le droit de modifier le .ini de configurationComment pourrais-je modifier cette fonction pour quelle aboutisse ?
J'ai vu qu'il existait sleep() et usleep() mais je ne sait pas si c'est ce qu'il me faut et surtout ou les placer.
Merci pour votre aide.