2012-02-15 6 views
2

Je rencontre un problème étrange avec mon script que je suis en train de tester pour télécharger des fichiers PDF. Je peux télécharger avec succès certains fichiers PDF sans les autres fichiers, même s'ils sont tous en format PDF et ont l'extension .pdf. Quelqu'un peut-il jeter un peu de lumière sur ce après avoir thtough mon codeProblèmes avec le téléchargement de fichiers PDF en utilisant PHP

HTML PARTIE:

<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">        
    <input type="file" name="upload" /><br />   
    <input type="submit" name="submit"> 

PHP PARTIE:

if(isset($_POST['submit'])){ 
       $output_form = 0;     

       if (($_FILES["upload"]["type"] == "application/pdf") 
        && ($_FILES["upload"]["size"] < 80000)){ 
         if (file_exists("upload/" . $_FILES["upload"]["name"])) 
          { 
          echo $_FILES["upload"]["name"] . " already exists. "; 
          } 
          else 
          { 
          move_uploaded_file($_FILES["upload"]["tmp_name"], 
          "upload/" . $_FILES["upload"]["name"]); 
          echo "Stored in: " . "upload/" . $_FILES["upload"]["name"]; 
          }       
        }else{ 
         echo 'Invalid File'; 
        }      
      } 

Pour certains fichiers, je reçois la sortie, stockée dans la sortie. Pour les autres, je reçois le message 'Fichier invalide'.

Merci

+0

Can Soit, que vous pouvez télécharger des fichiers ** courts **, mais pas ** plus ** des fichiers? Si oui, regardez votre taille de téléchargement de fichier max dans php.ini –

Répondre

1

votre code ci-dessus semble avoir une condition que si la taille du fichier est supérieure à 80000, alors il doit jeter l'erreur "fichier non valide? Quelle est la taille de ceux qui échouent? Je serais prêt à parier si vous commentez cette condition cela fonctionnera

+0

salut qui fonctionne avec votre suggestion. Mais je travaille pour des fichiers qui ne dépassent pas 5 Mo. Est-il possible d'augmenter la taille du fichier de téléchargement. Si c'est le cas, comment? – 125369

+0

regardez dans ce que Eugen Rieck mentionné dans le commentaire de l'article original - c'est probablement la clé! – roryok

0

Avait les mêmes problèmes. Trouvé que le type de fichier peut également être application/x-octet-stream Donc, vous devez vérifier dans la même déclaration que vous vérifiez la taille du fichier. Quelque chose comme ceci: if (($ _FILES ['pdfUpload'] ['type'] == "application/pdf") || ($ _FILES ['pdfUpload'] ['type'] == "application/x-octet-stream ") & & ($ _FILES [ 'pdfUpload'] [ 'size'] < 9000000)) // Beaucoup plus grand et nous obtenons un délai d'attente pendant le transfert

Mes 2 cents vaut

Questions connexes