Page 1 sur 1

UpLoad et MIME !

Posté : 09 juin 2005, 15:13
par franck59
Bonjour
:(
Je tente d'installer sur mon site Intranet un systeme d'upload de fichier. ( PHP4.3.3 Apache 1.3.27 sous WinXP). J'ai suivi la procedure que j'ai trouvé sur ce site (tres bien faite et expliqué).
Voici mon script pour la saisie du fichier :

Code : Tout sélectionner

<FORM method="POST" action="upload.php" ENCTYPE="multipart/form-data"> <INPUT type="hidden" name="MAX_FILE_SIZE" VALUE="12048"> <INPUT type="file" name="nom_du_fichier"> <INPUT type="submit" name="nom_du_fichier" value="Envoyer"> </FORM>
Et celui pour la reception :
La il n'est pas complet, vu que dans l'immediat je cherche a voir si les info passent bien.
<?
phpinfo();                  // pour voir la config php
print_r($_FILES);       // demande 1 d'affichage des données du fichier à uploader
error_reporting(E_ALL);     // pour voir les erreurs, mais il n'en affiche pas
echo "<p></p>";
if(isset($_FILES['nom_du_fichier']))
{
print_r($_FILES);      // demande 2 d'affichage des données du fichier à uploader
}
?>
Lorsque je le lance, aucun message d'erreur - Mais !

Le phpinfo() me donne comme valeur de $FILE

Code : Tout sélectionner

Array ( [name] => Doc.xls [type] => [tmp_name] => [error] => 2 [size] => 0 )
Seul le nom de fichier semble passer

Le script de reception m'affiche 2 fois la ligne

Code : Tout sélectionner

Array ( [nom_du_fichier] => Array ( [name] => Doc.xls [type] => [tmp_name] => [error] => 2 [size] => 0 ) )
Ce qui est normal vu le contenu du phinfo()

[error] => 2 veut dire que le fichier est trop gros, alors que dans php.ini , j'ai mis :

PHP.ini

Code : Tout sélectionner

; File Uploads ; ;;;;;;;;;;;;;;;; file_uploads = On upload_tmp_dir = "C:\Program Files\EasyPHP1-7\tmp\" upload_max_filesize = 20M
J'ai donc supposé que le probleme venait du type MIME .xls qui ne serait pas reconnu ( un test avec un fichier *.txt fonctionne parfaitement )
Pourtant dans le php.ini j'ai bien le
extension=php_mime_magic.dll

Par contre ce qui m'intrigue, c'est la ligne mime_magic du phpinfo() qui me donne :
MIME_MAGIC SUPPORT à enabled ( logique! )
et surtout
mime_magic.magicfile c:\php4\magic.mime c:\php4\magic.mime
Il m'indique , je suppose, qu'il recherche le type mime à partir d'un fichier magic.mime situé dans ce repertoire, alors que celui ci n'existe pas. J'ai fais toute l'instal dans c:\program files\easyphp1-7 et il n'existe aucun repertoire c:\php4...

J'ai recherché ou pouvait se trouver cette variable qui affiche ce nom de repertoire inconnu, mais en vain.

Quelqu'un saurrait-il m'en dire plus ??? :?:

Posté : 09 juin 2005, 15:49
par DocType
Pour ma part je vois que ton MAX_FILE_SIZE et au maxi d'environ 12ko...
peut etre modifier ou le supprimer??? :?

Posté : 09 juin 2005, 15:54
par cerber
comme l'ont fait remarqué PRoGRaFLaSH et le manuel php :

Code : Tout sélectionner

UPLOAD_ERR_FORM_SIZE Valeur : 2. Le fichier téléchargé excède la taille de MAX_FILE_SIZE, qui a été spécifiée dans le formulaire HTML.

upload et mime

Posté : 09 juin 2005, 16:10
par franck59
:D :D :D ça marche !
On les reconnait les pro
Etant donné que dans le php.ini on parle de Mega ,Jai confondu les mega et les kilo dans le script . :oops: :oops: :oops:
Quand je pense que j'ai passé plusieurs heures à me casser la tete pour avoir fait une erreur pareil !!!

Par contre pourquoi le phpinfo() me renvoi cette adresse de c:\php4\magic.mime ?

En tout cas, merci les MAITRES