de: bigbo26
posté le: 29-07-2009 à 17:46:27
***.wanadoo.fr
Bonsoir, je débute et j'ai un petit souci avec l'imbrication des if, dans mon fichier php. Donc mon formulaire ne peux fonctionner correctement, et je ne peus pas uploader de fichier sur mon serveur.
Voici mon code:
<?php
//Taille maximum
$MAX_FILE_SIZE = 8388608;
//On simplifie le nom des variables $_FILES. Variables récupérée par methode POST du formulaires
$tmp=$_FILES['message']['tmp_name'];
$name=$_FILES['message']['name'];
$size=$_FILES['message']['size'];
$type=$_FILES['message']['type'];
$erreur=$_FILES['message']['error'];
// Tableau array des différents types
$extensions_autorisees= array('jpg','gif','jpeg','png','doc','docx','rtf','pdf','xlsx','xls','bmp','txt','zip');
// Test pour savoir si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['message']) AND $erreur > 0)
echo " Une erreur est survenue lors du transfert"; // La variable vaut zéro si il n'ya pas d'erreur!
{
if ($_size>=$MAX_FILE_SIZE) echo "Le fichier est trop gros! Merci de bien vouloir le compresser où d/'essayer de faire autrement."; //test pour éviter que le fichier soit trop gros (1Mo = 1 048 576 octets)
{
if(file_exists($chemin.$name)) echo("Fichier déjà existant, veuillez donner un autre nom à votre fichier.");
{
$infosfichier = pathinfo($_name); //Vérification de l'extension du fichier envoyé
//La fonction pathinfo renvoie un array contenant entre autres l'extension du fichier dans $infosfichier['extension'].
//On stocke ça dans une variable $extension_telechargée.
$extensions_upload= $infosfichier['extension'];
if (in_array($extensions_upload,$extensions_autorisees))
//Une fois l'extension récupérée, on peut la comparer à un tableau d'extensions autorisées (un array) et vérifier si
//l'extension récupérée fait bien partie des extensions autorisées à l'aide de la fonction in_array().
{
//On crée une variable contenant le répertoire de destination
$uploadpath="/wamp/www/uploads/";
//On déplace le fichier du dossier temporaire vers le dossier de destination
move_uploaded_file($tmp_name,$uploadpath.$name);
//On affiche les différentes variables
echo '"Le fichier :".$name "a été correctement envoyé"';
echo "<br>Taille du fichier :".$size;
echo "<br>Type de fichier :".$type;
echo "<br>Nombre d'erreur survenues lors du transfert".$erreur;
//tmp= fichier temporaire dans lequel est placé le fichier lors de sa vérification
}
}
}
}
?>
|