par
franck59 » 09 juin 2005, 15:13
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 ???
