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

PHP & Base de données Discussion :

Problème UPLOAD image [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 68
    Points : 26
    Points
    26
    Par défaut Problème UPLOAD image
    Bonjour j'ai un petit problème lors de l'upload d'une image car c'est toujours le dernier message du script qui s'affiche "échec upload" ainsi que deux autre message le 1er:
    Warning: move_uploaded_file(galerie/Blacky-from-www.metacafe.com-1.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\wamp\www\test\upload-1.php on line 32
    et le 2eme:
    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\wamp\tmp\php81A2.tmp' to 'galerie/Blacky-from-www.metacafe.com-1.jpg' in C:\wamp\www\test\upload-1.php on line 32
    voici le script du formulaire:
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <?php
        session_start();  
        if (!isset($_SESSION['pseudo'])) { 
           header ('Location: index.php'); 
           exit();  
        }  
        ?>
     
        <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
     
    <body id="page1">
      <div id="main">
    		<!-- header -->
    		<div id="header">
    			<div class="row_1">
    				<ul class="menu">
    					<li><a href="membre.php">Accueil</a></li>
    					<li><a href="modifpseudo.php">Modifier Pseudo</a></li>
    					<li><a href="modifpass.php">Modifier Mot de Passe</a></li>
    					<li><a href="modifprofil.php">Modifier profil</a></li>
    					<li><a href="suppcompt-4.php">Supprimer compte</a></li>
    					<li><a href="upload.php">Upload</a></li>
    					<li><a class="last" href="index-6.php">Forum</a></li>
    				</ul>
    			</div>
    			<div class="row_2">
    				<a href="index.php"><img alt="" src="images/logo.jpg" /></a>
    			</div>
    		</div>
     
        Bienvenue<?php echo htmlentities(trim($_SESSION['pseudo'])); ?>!<br
        />
     
        <a href="deconnexion.php">Déconnexion</a>
        <form method="POST" action="upload-1.php" enctype="multipart/form-data">
     
    <input type="hidden" name="MAX_FILE_SIZE" value="3000000">
    Fichier : <input type="file" name="photo">
    <input type="submit" name="envoyer" value="Envoyer le fichier">
    </form>
    </body>
    </html>
    et le deuxième script de traitement:
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
     
    <body>
    <?php
    $dossier = 'galerie/';
    $fichier = basename($_FILES['photo']['name']);
    $taille_maxi = 3000000;
    $taille = filesize($_FILES['photo']['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['photo']['name'], '.');
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
    $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    }
    if($taille>$taille_maxi)
    {
    $erreur = 'Le fichier est trop gros...';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
    //On formate le nom du fichier ici...
    $fichier = strtr($fichier,
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    {
    echo 'Upload effectué avec succès !';
    }
    else //Sinon (la fonction renvoie FALSE).
    {
    echo 'Echec de l\'upload !';
    }
    }
    else
    {
    echo $erreur;
    }
    ?>
    </body>
    </html>
    Merci.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Ton dossier doit être défini par rapport au serveur.
    Tu peux faire par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $adresse_racine = (substr($_SERVER['DOCUMENT_ROOT'],-1) == '/')? $_SERVER['DOCUMENT_ROOT'] : $_SERVER['DOCUMENT_ROOT'].'/' ;
     
    $dest = 'galerie/'
    $dossier = $adresse_racine.$dest;
     
    //reste du code
    Cela dit, le répertoire de destination doit être indiqué par rapport à la racine www. Si tu teste en local avec plusieurs sites installés sur la racine du serveur d'évaluation (dans le répertoire www) tu dois indiquer pour un chemin de répertoire valide :

    $dest = 'nom_du_repertoire_du_site/galerie/';

    et pour un fonctionnement sur le serveur distant, simplement :
    $dest = 'galerie/';


    Après si tu veux un script tout fait qui peut faire beaucoup de choses sans te casser la tête tu peux regarder ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php require('class_upload.php');
     
    $up = new Telechargement('Documents','form1','doc');
     
    $extensions = array('pdf','txt');
    $up->Set_Extensions_accepte ($extensions);
     
    $up->Upload('reload');
    ?>
    <form enctype = "multipart/form-data" action = "#" method = "post">      
    <input name = "doc" type = "file" size = "70" />                                 
    <input type = "submit" name = "form1" value = "Envoyez"  />    
    </form>

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 68
    Points : 26
    Points
    26
    Par défaut
    je vais essayer et rendre la réponse

  4. #4
    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
    et juste une petite correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        <?php
        session_start();  
        if (!isset($_SESSION['pseudo'])) { 
           header ('Location: index.php'); 
           exit();  
        }  
        ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    tu avais fait l'inverse et ton header n'aurait pas fonctionné...
    Développeur informatique contrarié...

  5. #5
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    Et juste un peu de propagande:

    http://www.verot.net/php_class_upload.htm

    Gérer l'upload de fichier (et d'image donc) ainsi que le traitement d'image (redimensionnement à la volé, crop, ajout de filigrane etc...)

    un MUST HAVE
    Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

    - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 68
    Points : 26
    Points
    26
    Par défaut
    désoler de ne pas avoir rependue à ce sujet depuis longtemps, mais c'est bon j'ai trouver mon erreur c'est le nom du répertoire de destination qui été mal écrit.
    Merci à vous.

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

Discussions similaires

  1. [2.x] Problème upload image quand le fichier n'est pas spécifié
    Par simnitch dans le forum Symfony
    Réponses: 4
    Dernier message: 01/04/2014, 18h21
  2. Problème upload image
    Par jbavril dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 08/10/2013, 17h09
  3. [eCommerce] Upload image script petite annonce
    Par Oussama Khazri dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 22/06/2012, 20h25
  4. [eZ Publish] Problème upload image
    Par RomJo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 12/04/2011, 22h32
  5. problème upload image par ftp chez 1&1
    Par boubou_s dans le forum 1&1
    Réponses: 0
    Dernier message: 01/04/2010, 18h30

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