Bonjour,
j'ai crée une fonction qui me permet de gérer ma galerie photo.
J'ai un dossier nommé 'FULL' qui contient mes images nommées 1.jpg, 2.jpg, ...

Le script crée 3 formats miniatures de ces photos (miniature, aperçu, zoom).
Tout fonctionne bien en local, bien que j'ai du rajouter un set_time_limit(0); afin de ne pas dépasser les 30s du time_limit de php.ini.
En local, donc, tout est ok.

Cependant, lorsque je test cette fonction sur mon hebergeur, tout commence bien, mais le script s'arrête vers la 8eme photo.

Je pense qu'il doit y avoir un config de l'hebergeur qui évite la surcharge de son proc, mais bon...
Pour info, je suis chez 1and1

Quelles solutions pourriez-vous me proposer ?


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
function creation($repertoire){
	// CREATION DES MINIATURES	
	$home = $repertoire."/home/";
	$mini = $repertoire."/mini/";
	$big = $repertoire."/big/";
	$full = $repertoire."/full/";
 
	$nb=count_files($full, ".jpg", 0);
 
	// On crée le dossier
	mkdir($home);
	mkdir($mini);
	mkdir($big);
	set_time_limit(0);
	$i=1;
	while($i<=$nb) {
		$big_file = $full.$i.'.jpg';
		$source = imagecreatefromjpeg($big_file); // La photo est la source
 
		$largeur_source = imagesx($source);
		$hauteur_source = imagesy($source);
 
		if(($largeur_source)>($hauteur_source)){
		if ($i<6) $destination = imagecreatetruecolor(250, 187); // On crée la miniature vide
		$destination2 = imagecreatetruecolor(100, 75); // On crée la miniature vide
		$destination3 = imagecreatetruecolor(640, 480); // On crée la miniature vide
		}
		else {
		if ($i<6) $destination = imagecreatetruecolor(187,250); // On crée la miniature vide
		$destination2 = imagecreatetruecolor(75,100); // On crée la miniature vide
		$destination3 = imagecreatetruecolor(480,640); // On crée la miniature vide
		}
 
		// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image		
		if ($i<6) $largeur_destination = imagesx($destination);
		$largeur_destination2 = imagesx($destination2);
		$largeur_destination3 = imagesx($destination3);
		if ($i<6) $hauteur_destination = imagesy($destination);
		$hauteur_destination2 = imagesy($destination2);
		$hauteur_destination3 = imagesy($destination3);
 
		// On crée la miniature
		if ($i<6) imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
		imagecopyresampled($destination2, $source, 0, 0, 0, 0, $largeur_destination2, $hauteur_destination2, $largeur_source, $hauteur_source);
		imagecopyresampled($destination3, $source, 0, 0, 0, 0, $largeur_destination3, $hauteur_destination3, $largeur_source, $hauteur_source);
 
		if ($i<6) $file_home = $home.$i.'.jpg';
		$file_mini = $mini.$i.'.jpg';
		$file_big = $big.$i.'.jpg';
		// On enregistre la miniature"
		if ($i<6) imagejpeg($destination, $file_home);
		imagejpeg($destination2, $file_mini);
		imagejpeg($destination3, $file_big);
		echo '<img src='.$file_mini.' alt="ok" /> ';
		$i++;
	}
}
Merci d'avance pour vos réponses !