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] Ne retourne pas d'erreur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 145
    Par défaut [Upload] Ne retourne pas d'erreur
    J'ai fais un script pour upload des avatars sur mon disque et mettre ma base de donnée a jour, j'arrive bien a retourner une erreur quand le format n'est pas bon mais pas quand la taille depasse.

    De plus il ne me copie plus les fichiers dans le repertoire de destination, je ne comprends pas d'ou viens l'erreur et je cherche depuis hier a comprendre.

    J'ai rajouter des exit() mais le script ne s'arrete pas et fonctionne pourtant bien puisqu'il me retourne l'erreur.

    Si quelqu'un voit une faute quelque pars :

    <?php
    require ("connect.php");

    if(isset($_FILES['photo']))

    {
    //parametres
    unset($erreur);
    $extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
    $taille_max = 100000;
    $dest_dossier = 'c:/www/Avatars/';

    // On verrifie les extensions
    if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
    {
    header("location: chavatar.php?erreur1&PHPSESSID=".$_POST['session']);
    $error = true;
    exit();
    }
    // On verrifie la taille du fichier
    elseif( file_exists($_FILES['photo']['name']) and filesize($_FILES['photo']['name']) > $taille_max)
    {
    $error = true;
    header("location: chavatar.php?erreur2&PHPSESSID=".$_POST['session']);
    exit();
    }

    // Si ficher = bonne taille & bonne extension
    if(!isset($erreur))
    {

    $dest_fichier = basename($_FILES['photo']['name']);
    //formatage nom fichier
    //enlever les accents
    $dest_fichier = strtr($dest_fichier,
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    // remplacer les caracteres autres que lettres, chiffres et point par _
    $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
    // On upload le fichier
    move_uploaded_file($_FILES['photo']['name'], $dest_dossier . $dest_fichier);

    // On remet a jour la base de donnée
    $valide = "UPDATE `art` SET avatar = '".$_FILES['photo']['name']."' WHERE nom = '".$_POST['pseudo']."' ";
    $test = mysql_query($valide) or die("erreur ! ".mysql_error());

    //Redirection sur page precedente
    header("location: chavatar.php?1&PHPSESSID=".$_POST['session']);
    }
    }else{
    echo "erreur";
    header("location: chavatar.php?erreur1&PHPSESSID=".$_POST['session']);
    }




    ?>

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 145
    Par défaut
    Je viens de faire quelque test supplementaire et j'avais oublier de mettre le nom temporaire pour le fichier ...

    move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
    Par contre il ne me verrifie toujours pas la taille

  3. #3
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    salut,

    tu essayes de vérifier la taille du fichier en te basant sur ['name'], mais ca c'est le nom original du fichier... Au pire, il faudrait que tu utilises ['tmp_name'], au mieux, tu peux encore comparer avec ['size'] qui contient déjà la taille du fichier en question!

    ++

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 145
    Par défaut
    Je test avec :

    elseif( file_exists($_FILES['photo']['name']) and $_FILES['size'] < $taille_max)

    mais ne marche pas non plus

  5. #5
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    sorry de pas avoir été assez clair

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_FILES['photo']['size']
    mieux comme ca

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 145
    Par défaut
    elseif( file_exists($_FILES['photo']['name']) and $_FILES['photo']['size'] > $taille_max)

    ne me retourne rien non plus il ne copie pas le fichier sur le disque mais ne me retourne pas d'erreur :/

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/04/2020, 18h57
  2. Réponses: 9
    Dernier message: 01/05/2014, 15h12
  3. Erreur qui ne retourne pas un message d'erreur
    Par pierrot10 dans le forum Langage
    Réponses: 4
    Dernier message: 30/04/2010, 20h04
  4. Réponses: 2
    Dernier message: 05/07/2009, 17h46
  5. fonction qui ne s'execute pas mais qui ne retourne pas d'erreur
    Par duplo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/06/2006, 22h43

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