Je travaille sur un script de téléchargement d'image et j'ai rencontré ce problème. En utilisant ImageMagick je courrais sur le redimensionnement du temps et le téléchargement des images donc j'inséré ces deux lignes:Le script PHP ne se termine pas lorsqu'il est terminé
set_time_limit(120);
ini_set('max_input_time', 120);
Maintenant, cependant, le script ne se termine jamais. Il exécute continuellement la page même s'il télécharge, redimensionne et insère correctement dans la base de données. Est-ce que ces éléments entrent en conflit les uns avec les autres? Il dépasse même les 120 secondes que j'ai définies comme limite de temps.
Éditer: Ceci est la partie de l'édition d'image complète du script, il fonctionne avec dis 1 ou 2 images, mais quand je mets plus (ce qui en fait prendre plus de temps), il ne fonctionne pas.
set_time_limit(120);
ini_set('max_input_time', 120);
$resource = NewMagickWand();
MagickReadImage($resource,$image);
MagickSetImageCompressionQuality($resource, 100);
$resource = MagickTransformImage($resource,'0x0','660x500');
MagickWriteImage($resource, $image);
DestroyMagickWand($resource);
Voici le code que j'utilise pour lire toutes les images qui doivent être téléchargés: (reSizePic est la fonction qui appelle le code ci-dessus)
$numberImages = count($_FILES['galFile']['name'])-1;
for($i=1;$i<=$numberImages;$i++)
{
$imageName = $_FILES['galFile']['name'][$i];
$imageType = $_FILES['galFile']['type'][$i];
$imageSize = $_FILES['galFile']['size'][$i];
$imageTemp = $_FILES['galFile']['tmp_name'][$i];
$imageError = $_FILES['galFile']['error'][$i];
//Make sure it is an image
if(in_array(end(explode(".", $imageName)), $allowed))
{
//Where to upload image to
$uploadFile = $uploadDir . $imageName;
if (file_exists($uploadFile))
{
//What to do if file already exists
//Append random number to the end
$front = explode(".", $imageName);
$randomNum = rand(1,100);
$front[0] = $front[0].$randomNum;
$imageName = $front[0].".".$front[1];
$uploadFile = $uploadDir . $imageName;
}
if(move_uploaded_file($imageTemp,$uploadFile))
{
//Add $imageName to DB
$query = "INSERT INTO galleryImages VALUES(\"0\",\"$lastInsert\",\"$imageName\",\"$i\")";
mysql_query($query);
reSizePic($uploadFile);
}
}
Levi
pouvez-vous montrer le code php que vous utilisez dans votre script? – Aziz
J'ai ajouté dans le reste de la fonction d'image. – Levi
try set_time_limit (0); ? – Aziz