» Upload
Rédigé par :
Guillaume
Le : 05/04/2003 à 21:04
Hits : 7412
Voici un petit script vous permettant d'uploader un fichier sur votre site, on verifie :
- que l'extension du fichier est autorisé.
- qu'il n'écrase pas un fichier existant.
- qu'il a une taille acceptable.
article_4.php
<?php
// ------------------------------------------------------------------------- //
// Upload //
// ------------------------------------------------------------------------- //
// Le 05/04/2003 à 21h04 par Guillaume JIGUEL (guillaume@gphp.net) //
// ------------------------------------------------------------------------- //
// http://www.gphp.net/articles,4.php //
// ------------------------------------------------------------------------- //
// Configuration
$repertoire = "dossier/";
$taille = 1000000;
$fichiers_ok = array("jpg", "jpeg", "gif", "png");
// Décocher ce fichier pour donner le nom de l'id passé dans l'url upload.php?id=fichier.gif
//$fichier_name = $_POST['id']."";
// On vérifie la présence de la var d'envoi dans l'url
if (isset($_POST['upload']) && !empty($_POST['upload'])){
// On définis $file et $ext pour les extensions permises
$retour = "<br />\n [ <A href='javascript:history.back()'>Retour</A> ]\n";
$file = $repertoire.$fichier_name;
$ext = implode('|', $fichiers_ok);
// On vérifie l'extention de $fichier_name
if (!ereg("\.($ext)$", $fichier_name)){
echo "Type de fichiers interdits!";
echo $retour;
}else{
// On vérifie si le fichier existe pas deja
if (!file_exists($file)){
// Si il existe pas on verifie que le champ file du formulaire n'est pas vide
if (!empty($fichier)){
// Si il n'est pas vide on copie le fichier
move_uploaded_file($fichier, $file);
// On affiche le résultat
echo "<h2><font face=arial>Fichier enregistré</font></h2>\n";
echo "Le fichier <b>$fichier_name</b> a bien été uploadé<br>\n";
echo $retour;
}else{
echo "Aucun fichier selectionné! / Fichier de taille non conforme!";
echo $retour;
}
}else{
echo "Le fichier existe deja!";
echo $retour;
}
}
}else{
// On affiche le formulaire d'upload
echo "<form enctype=\"multipart/form-data\" action=\"".$PHP_SELF."\" method=\"post\">\n";
echo "<input type=\"hidden\" name=\"upload\" value=\"send\">\n";
echo "<input type=\"hidden\" name=\"id\" value=\"".$_GET['id']."\">\n";
echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".$taille."\">\n";
echo "<input type=\"file\" name=\"fichier\" size=\"20\"><br>\n";
echo "<input type=\"submit\" value=\"Upload\"></FORM>\n";
}
?>
» Commentaires
Vous devez être connecté en tant que Membre pour pouvoir poster un commentaire, Inscrivez vous ici !
Alors je pense que c'est une bonne nouvelle, et puis il faut bien encouragé Guillaume.
Bon courage