IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Upload de plusieurs images => rien dans le dossier [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Upload de plusieurs images => rien dans le dossier
    Bonjour à tous,

    J'essaie de permettre à certains visiteurs de copier des images dans un dossier de mon serveur.

    J'ai un formulaire simple :

    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
    <?php
     
    		$max_no_img=10; // Maximum number of images value to be set here
     
    		echo "<form method=post action=PHP/reception_photo.php enctype='multipart/form-data'>";
    		echo "<table border='0' width='400' cellspacing='0' cellpadding='0' align=center>";
    		for($i=1; $i<=$max_no_img; $i++){
    		echo "<tr><td>Images $i</td><td>
    		<input type=file name='images[]' class='bginput'></td></tr>";
    		}
     
    		echo "<tr><td colspan=2 align=center><input type=submit value='Add Image'></td></tr>";
    		echo "</form> </table>";
     
    	?>
    L'action du formulaire est ici :

    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
     
    <?php
    while(list($key,$value) = each($_FILES['images']['name']))
    	{
    		if(!empty($value))
    		{   // this will check if any blank field is entered
    			$filename = $value;    // filename stores the value
     
    			$filename=str_replace(" ","_",$filename);// Add _ inplace of blank space in file name, you can remove this line
     
    			$add = "C:\wamp\upload/";   // upload directory path is set
    			//echo $_FILES['images']['type'][$key];     // uncomment this line if you want to display the file type
    			//echo "<br>";                             // Display a line break
    			if(copy($_FILES['images']['tmp_name'][$key], basename($add)))     //  upload the file to the server
    			{
    				echo "copie ok";
    			}
    			else
    			{
    				echo "copie pas ok ." . die();
    			}
    			//chmod("$add",0777);                 // set permission to the file.
    		}
    	}
    ?>
    Je n'ai aucune erreur, j'ai copie OK (deux fois pour deux photos), un var_dump($_FILES) m'indique les infos des photos, mais aucune photo n'est copiée sur le serveur.

    Le dossier à des permissions de modifications, ce n'est donc pas un problème de droit.

    Le problème doit provenir du basename($add) car il ne m'indique pas le nom complet du path.

    Si je le retire, j'ai ceci :

    Warning: copy() [function.copy]: The second argument to copy() function cannot be a directory in C:\wamp\www\Congres\PHP\reception_photo.php on line 52
    ligne 52 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(copy($_FILES['images']['tmp_name'][$key], $add)) //  upload the file to the server
    Voyez-vous où se trouve le problème ?

    Merci d'avance.

    beegees

  2. #2
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    j'ai comme un doute sur ton path :
    des back slash et un slash ?!
    Développeur informatique contrarié...

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par vorace Voir le message
    j'ai comme un doute sur ton path :
    des back slash et un slash ?!
    Salut,

    Merci pour ta réponse.

    J'ai retiré le /, mais ça ne change rien :

    Warning: copy() [function.copy]: The second argument to copy() function cannot be a directory in C:\wamp\www\Congres\PHP\reception_photo.php on line 52
    beegees

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 80
    Points : 169
    Points
    169
    Par défaut
    Bonjour,

    le message d'erreur est assez clair pourtant => "The second argument to copy() function cannot be a directory"

    Vous devez donc nommer le fichier de destination et pas uniquement indiquer le répertoire dans lequel vous voulez copier votre fichier.

    ref : http://php.net/manual/fr/function.copy.php

    Cdt.

  5. #5
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Agnello Fabrice Voir le message
    Bonjour,

    le message d'erreur est assez clair pourtant => "The second argument to copy() function cannot be a directory"

    Vous devez donc nommer le fichier de destination et pas uniquement indiquer le répertoire dans lequel vous voulez copier votre fichier.

    ref : http://php.net/manual/fr/function.copy.php

    Cdt.
    Bonjour,

    Problème résolu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $add = "C:\wamp\upload\\".$_FILES['images']['name'][$i];
    Merci à vous.

    beegees

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.3] upload de plusieurs images mais une par une ?
    Par Jean Fi dans le forum Langage
    Réponses: 3
    Dernier message: 21/06/2012, 19h40
  2. Réponses: 3
    Dernier message: 27/06/2011, 20h32
  3. Upload de plusieurs images
    Par Blito dans le forum Langage
    Réponses: 6
    Dernier message: 02/07/2010, 12h17
  4. [MySQL] Upload de plusieurs images et insertion de données
    Par LAETIAZ dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 24/05/2009, 13h33
  5. [Upload] Télécharger plusieurs images en même temps
    Par tarzanjane dans le forum Langage
    Réponses: 3
    Dernier message: 14/04/2009, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo