Mammouth du PHP |
19672 Messages
04 mai 2006, 08:31
Après réflexion, je ne suis pas sûr que mon idée soit bien bonne : si tu as dix photos à traiter, quelle que soit la manière d'effectuer le traitement, il y aura toujours le délai de téléchargement vers le serveur qui prendra un certain temps.Tu vas donc être obligé de limiter le poids de chaque image à un maximum de max-upload/nombre-de-photos : si max-upload est configuré à 2Mo (par défaut) avec un nombre de photos à 10, ça fait 2048Ko/10 : en gros, maxi 200Ko par photo envoyée : ça va être difficile à faire respecter par l'utilisateur, mais c'est pas impossible.
Ensuite, le schéma très sommaire de l'idée soulevée est le suivant :
/* On vérifie qu'il y a un ou plusieurs fichiers envoyés */
if(isset($_FILES) && !empty($_FILES))
{
/* On compte combien de photos sont envoyées */
$nb_photos = count($_FILES);
/* On envoie ça au traitement */
traitement($_FILES, $nb_photos);
}
L'appel à la fonction tel que je l'imagine comporte deux paramètres : les fichiers et leur nombre.
Ta fonction traitement() ressemblera à quelque chose comme ceci:
function traitement($images, $nb)
{
if($nb == 0)
{
/* Redirection vers la page de résultat */
header("Location: resultat.php");
}
else
{
/* Traitement d'une photo */
//...
/* On décrémente le nombre restant à traiter */
$nb--;
/* Rappel récursif de la fonction pour la photo suivante */
traitement($images, $nb);
}
}
Alors j'émets beaucoup de réserves sur cette idée, il reste des problèmes à résoudre, par exemple que la fonction ne traite qu'une image à la fois et pas deux fois de suite la même. Donc il faudrait peut-être trouver une astuce au niveau de la manière de nommer les champs
file du formulaire.
Je te laisse imaginer la suite et comment mettre ça en oeuvre

Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 