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 fichier PDF


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 123
    Points : 36
    Points
    36
    Par défaut Upload de fichier PDF
    Bonjour à tous,

    j4utilises ce script pour faire de l'upload de fichier :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form method="POST" action="content/uploadtest.php" enctype="multipart/form-data">
         <!-- On limite le fichier à 100Ko -->
         <input type="hidden" name="MAX_FILE_SIZE" value="100000">
         Fichier : <input type="file" name="fichier">
         <input type="submit" name="envoyer" value="Envoyer le fichier">
    </form>

    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
     
    <?php
    $dossier = 'upload/';
    $fichier = basename($_FILES['avatar']['name']);
    $taille_maxi = 1000000;
    $taille = filesize($_FILES['avatar']['tmp_name']);
    $extensions = array('.pdf','.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['avatar']['name'], '.'); 
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur = 'Mauvaise Extensions !';
    }
    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['avatar']['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;
    }
    ?>

    Ce script fonctionne pour tous les fichiers sauf les PDF ( le move_upload_files ne fonctionne pas)...voilà 2 heures que je cherches une solutions mais impossible de trouver
    Avez vous une idée ?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ne fonctionne pas ? Tu obtiens une erreur ?
    Si non, vérifie que ton serveur affiche bien toutes les erreurs.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 123
    Points : 36
    Points
    36
    Par défaut
    Non je n'obtiens pas d'erreur, simplement que mon move_upload_file me retourne faux mais que pour les PDF

    Je suis actuellement en local, et j'ai ,même vérifié les droits sur le dossier...rien à faire !

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Contrôle ce que vaut $_FILES['avatar']['tmp_name'] et même plus généralement $_FILES, bref debug.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 123
    Points : 36
    Points
    36
    Par défaut
    Merci pour la réponse...

    Lors d'un import d'image,de fichier texte , mon $_FILES['fichier']['tmp_name'] prend une valeure correct.

    Cependant quand j'importe un PDF, le $_FILES['avatar']['tmp_name'] est vide, ce qui explique pourquoi le move_upload file ne passe pas...une idée pourquoi le temporaire du $_files ne passe pas sur les PDF ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Que vaut le reste de $_FILES['avatar'] ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 123
    Points : 36
    Points
    36
    Par défaut
    Dans le cas ou ça marche :

    temp: C:\Program Files (x86)\EasyPHP-12.1\tmp\phpFC0A.tmp
    type : text/plain
    name : test.txt
    size : 379
    erreur : 0
    Upload effectué avec succès !
    Dans le cas ou ca marche pas :
    type :
    name :test.pdf
    size : 0
    erreur : 2
    Echec de l'upload !

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [Upload] Upload de fichiers PDF
    Par magda62 dans le forum Langage
    Réponses: 10
    Dernier message: 02/05/2009, 08h13
  2. [1.x] uploader un fichier pdf et l'afficher
    Par billy85 dans le forum Symfony
    Réponses: 7
    Dernier message: 22/04/2009, 16h29
  3. Réponses: 2
    Dernier message: 17/12/2008, 09h32
  4. [Upload] Upload de fichiers PDF
    Par Travisnux dans le forum Langage
    Réponses: 3
    Dernier message: 23/03/2007, 10h49
  5. [Upload] gerer upload de fichier pdf
    Par calitom dans le forum Langage
    Réponses: 4
    Dernier message: 12/10/2006, 18h58

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