[RESOLU] Création d'un album photos en PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Création d'un album photos en PHP

Re: Création d'un album photos en PHP

par lucieemtl » 22 mars 2017, 12:33

Et bien merci.. Voilà où était le soucis !

Re: Création d'un album photos en PHP

par @rthur » 22 mars 2017, 12:25

Fais un echo de $dossier.$fichier juste avant ton move_uploaded_file() pour voir si tes variables sont bonnes.
Je n'ai pas vérifié mais il se pourrait qu'il manque un slash entre le nom du dossier et le fichier.

Re: Création d'un album photos en PHP

par lucieemtl » 22 mars 2017, 12:07

Bonjour à vous,
Ça ne fonctionne pas à partir du moment où j'essaie d'insérer des images dans le dossier préalablement créé.
J'avais le message dl'erreur suivant : "Notice: Undefined variable: fichier_temp in C:\UwAmp\www\leSporting\admin\pictures-insert.php on line 175".

J'ai donc remplacé cette fameuse ligne par :

Code : Tout sélectionner

$nbfichiersEnvoyes = count($_FILES['pictures']['tmp_name'])
Et maintenant là où ça ne fonctionne pas comme je veux c'est que les images sont bien téléchargées, mais pas dans le bon dossier, c'est-à-dire qu'elles se placent directement dans le dossier racine "pics" et non pas dans celui créé préalablement, pourtant le chemin de dossier spécifié me semble correct ?

Re: Création d'un album photos en PHP

par @rthur » 22 mars 2017, 11:58

Bonjour,

A quel endroit ça ne fonctionne pas comme prévu dans ton code ?
Y a-t-il un message d'erreur ?

Création d'un album photos en PHP

par lucieemtl » 22 mars 2017, 11:54

Bonjour à tous, mon problème n'est pas très long à expliquer : j'essaie de permettre à mon client, via son administration, de créer un album photos, et ce en php.
Je parviens à créer un sous-dossiers dans un répertoires précis, mais je ne parviens pas à y stocker plusieurs photos.

Voici mon formulaire :

Code : Tout sélectionner

<form id="creAlbum" name="creAlbum" method="POST" action="#" enctype="multipart/form-data" role="form"> <div class="form-group"><label class="control-label">Nom de l'album</label><input type="text" name="nameAlbum" class="form-control underlined" required></div> <div class="form-group"><label class="control-label">Contenu</label><input name="pictures[]" type="file" class="form-control underlined" multiple></div> <div class="modal-footer"> <input type="submit" value="Créer" name="creAlbum" class="btnCreated btn btn-primary"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button> </div> </form>
Et son code PHP associé :

Code : Tout sélectionner

<?php if(isset($_POST['creAlbum'])) { $nameAlbum = $_POST['nameAlbum']; mkdir("./pics/".$nameAlbum."/", 0777); $dossier = "./pics/".$nameAlbum; $taille_maxi = 10000000; $extensions = array('.jpg', '.jpeg', '.png'); $nbfichiersEnvoyes = count($fichier_temp); for($i=0; $i<$nbfichiersEnvoyes; $i++) { $fichier= basename($_FILES['pictures']['name'][$i]); $fichier_temp= $_FILES['pictures']['tmp_name'][$i]; $taille= filesize($_FILES['pictures']['tmp_name'][$i]); $extension= strrchr($_FILES['pictures']['name'][$i], '.'); if(!in_array($extension, $extensions)) $erreur= '<span class="non">Vous devez uploader le fichier'.$i.' de type JPEG, JPG, ou PNG.</span>'; if($taille>$taille_maxi) $erreur= 'Le fichier'.$i.' est trop gros.'; if(!isset($erreur)) { $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); if(move_uploaded_file($fichier_temp, $dossier. $fichier)) echo'<span class="okdac">Upload'.$i.' effectué avec succès !</span>'; else echo'<span class="non">Echec de l\'upload'.$i.' !</span>'; } else echo $erreur; } } ?>
Pouvez-vous m'aider à corriger mon erreur s'il vous plaît ? :(
Une bonne journée à tous !