Voici le code de la page d'upload:
<form method="post" action="notre_script.php"
enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2097152" />
<input type="file" name="fichier" /><br /><br />
<input type="submit" value="Uploader le fichier" /><br /><br />
<input type="reset" value="Reinitialiser le formulaire" />
</form>
Celle de la page notre_script.php :
<?
$dir = "/";
// Nous testons si les données concernant le fichier
// uploadé existent.
if( isset($_FILES["fichier"]) ){
// Nous affichons le nom du fichier
echo "- Upload du fichier <b>".$_FILES["fichier"]["name"]."</b> en cours ...<br />\n";
echo "- Analyse du fichier ...<br />\n";
// Nous affichons le chemin temporaire où est stocké le fichier
echo "- Fichier temporaire: <b>".$_FILES["fichier"]["tmp_name"]."</b><br />\n";
// Nous affichons le type de fichier
echo "- Type du fichier: <b>".$_FILES["fichier"]["type"]."</b><br />\n";
// Nous affichons la taille du fichier en Mo
echo "- Taille du fichier: <b>".$_FILES["fichier"]["size"]/1024/1024 ." Mo</b><br />\n";
echo "- Rapport d'erreur ...\n";
// Nous affichons la valeurs de la variable $_FILES["fichier"]["error"]
switch($_FILES["fichier"]["error"]){
case 0:
echo "<b>Le fichier à bien été tramis</b><br />\n";
break;
case 1:
echo "<b>Erreur, la taille du fichier dépasse celle définie dans le fichier de configuration</b><br />\n";
break;
case 2:
echo "<b>Erreur, la taille du fichier dépasse celle définie par le formulaire</b><br />\n";
break;
case 3:
echo "<b>Erreur, le fichier à été partiellement transmis</b><br />\n";
break;
case 4:
echo "<b>Erreur, la transmission du fichier ne s'est pas déroulée</b><br />\n";
break;
}
// Nous copions le fichier issu du dossier temporaire vers le véritable
// emplacement sur le serveur
if( @copy($_FILES["fichier"]["tmp_name"], $dir.$_FILES["fichier"]["name"]) ){
echo "- L'upload du fichier s'est bien déroulé.<br />\n";
echo "- Vous pouvez y accédez à l'adresse suivante: ";
echo "<a href=\"http://localhost".$dir.$_FILES["fichier"]["name"]."\">Télécharger le fichier</a><br />\n";
}
else{
echo "Erreur durant la copie du fichier, veuillez réuploader le fichier<br />\n";
}
}
?>
Le résultat c'est que le fichier n'est pas dans le repertoire tmp de easyphp ni dans le chemin spécifier.
Le lien "Télécharger le fichier" renvoi une erreu.
Là voici
Not Found
The requested URL /IMGP0025.JPG was not found on this server.
Apache/1.3.33 Server at localhost Port 80
Le résultat de la page notre_script.php est :
- Upload du fichier IMGP0025.JPG en cours ...
- Analyse du fichier ...
- Fichier temporaire: C:\Program Files\EasyPHP1-8\www\tmp\php22.tmp
- Type du fichier: image/jpeg
- Taille du fichier: 0.77887153625488 Mo
- Rapport d'erreur ... Le fichier à bien été tramis
- L'upload du fichier s'est bien déroulé.
- Vous pouvez y accédez à l'adresse suivante: Télécharger le fichier
Où ça bug dans mon script?