tatanka | voici deux scripts :
Code :
- <FORM name="fupload" action="uploader.php?up=ok" method="POST" ENCTYPE="multipart/form-data">
- Le chemin de votre fichier :
- <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="102400">
- <INPUT NAME="Fichier" TYPE="file" size="25">
- <input TYPE="submit" value="Upload">
|
Code :
- <?
- // l'input de votre uploader porte le nom de Fichier, donc tous les tests porteront sur les
- // variables suivantes :
- // Fichier_name : le nom du fichier
- // Fichier_type : le type de fichier plain pour txt, gif pour gif pjpeg pour jpg
- // Fichier_size : la taille du fichier
- // SI $Fichier est à none c'est une erreur.
- // La fonction stristr test si une sous-chaine est présente dans une chaine principale
- // Les variables :
- $max_size = 100000; // 100ko
- $dirname = '/tmp'; // chemin de destination des fichiers depuis la racine du script
- // $_SERVER["QUERY_STRING"];
- echo "11111111111";
- // on test deja s'il a eu upload cad que $up == ok
- // if ($up == 'ok')
- // {
- echo "222222222222";
- // tout d'abord s'il s'agit d'une image on recupere un tableau de caracteristiques
- // de l'image pour les tests.
- if ($Fichier != "none" && !stristr($Fichier_type, "plain" ))
- $Fichier_size = getimagesize($Fichier);
- // test une erreur de taille de fichier,
- if ($Fichier_size > $max_size || $Fichier_size == 0)
- echo "La taille du fichier n'est pas correct";
- // test si erreur dans la variable $Fichier
- else if (!$Fichier || $Fichier == "none" )
- echo "Le format du fichier est incorrect.";
- else if (strpos($Fichier_name,"\\" ) || strpos($Fichier_name, "/" ))
- echo "Le format du fichier n'est pas correct";
- // test les extensions des fichiers meme si le test n'est pas tres secure
- // ca fait un test de plus :o)
- else if (!stristr($Fichier_name, ".jpg" ) && !stristr($Fichier_name, ".jpeg" ) && !stristr($Fichier_name,".gif" ) && !stristr($Fichier_name, ".txt" ))
- echo "Le format du fichier n'est pas correct, txt, jpg ou gif uniquement";
- // si ce n'est pas un fichier txt je test si l'image est bien une image, si
- // une personne renomme un .doc en .jpg par exemple ce test suffit a annuler l'upload
- else if (!$tab[0] && !stristr($Fichier_type, "plain" ))
- echo "Le format de l'image n'est pas correct";
- // test le type d'encodage du fichier pour etre bien sur de sa nature
- else if (!stristr($Fichier_type, "gif" ) && !stristr($Fichier_type, "pjpeg" ) && !stristr($Fichier_type, "plain" ))
- echo "Le format du fichier n'est pas correct, jpg ou gif uniquement";
- // test si le fichier n'est pas déjà uploadé
- else if (file_exists("$dirname/$Fichier_name" ))
- echo "Le fichier existe déjà merci d'en choisir un autre";
- else
- {
- // tout s'est déroulé ok, ouf enfin on peut uploader le fichier avec copy
- // apres avoir supprimer les espaces avec str_replace.
- echo "Votre fichier à bien été uploadé merci";
- $file_name = str_replace(" ","_",$Fichier_name);
- copy($Fichier, $dirname."/".$file_name);
- }
- // }
- ?>
|
le premier : upload.php
le second : uploader.php
j'arrive pas à passer le parametre ok ni le nom du fichier au second |