Bonjour,

je suis chargé de la maintenance d'une application php qui fonctionne depuis deux ans. JE précise que je n'avais jamais écrit une ligne de PHP auparavant.
Or, depuis 1 mois, impossible d'uploader le fichier de mise à jour.

Le code est pourtant des plus simples :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<FORM ENCTYPE="multipart/form-data" ACTION="/tba/upload_file.php" METHOD="POST">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000000">
<tr>
  <td>Importer ce fichier : </td>
  <td colspan=2><INPUT NAME="userfile" TYPE="file"></td>
  <td><INPUT TYPE="submit" VALUE="Go !"></td>
</tr>
</FORM>
Le code de la page destination :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
  echo '<table class="bodi-report-main">';
	echo '<tr><th>Rapatriement du fichier</th><td>';
	echo 'Nom : '.$HTTP_POST_FILES['userfile']['name'];
	echo '<br/>Type du fichier: '.$HTTP_POST_FILES['userfile']['type'];
	echo '<br/>Taille : '.$HTTP_POST_FILES['userfile']['size'];
	echo '<br/>Nom temporaire après Rapatriement : '.$HTTP_POST_FILES['userfile']['tmp_name'];
	echo '<br/>Code erreur : '.$HTTP_POST_FILES['userfile']['error'];
	echo '</td></tr>';
Le Nom du fichier $HTTP_POST_FILES['userfile']['name'] s'affiche correctement, par contre $HTTP_POST_FILES['userfile']['type'], $HTTP_POST_FILES['userfile']['size'] et $HTTP_POST_FILES['userfile']['tmp_name'] sont vides.
$HTTP_POST_FILES['userfile']['error'] vaut 1 (je n'arrive pas à mettre la main sur la liste des codes erreur).

Je précise que le problème se pose sur le serveur de production sous Windows Advanced Server 2003, ainsi que sur mon portable sous windows XP.
Par contre sur la config ubuntu 6.06 de développement ça passe.

Je précise également que c'est EasyPHP 1.8 qui est utilisé, que le fichier est un zip de 12 Mo, que le répertoire temporaire (upload_tmp_dir je crois) est tmp sous "C:\program Files\EasyPHP", que les droits sont accordés à tous les users sur les deux machines et qu'il y a 20 Go de place sur le disque.

J'avoue ne plus rien comprendre.