1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
//fonction d'upload de fichier la variable $allowedExt peut contenir plusieurs extension separé par un pipe
//exemple d'utilisation:
//uploadImage("upload","../upload","150000",".jpeg|.gif|.png");
function uploadImage($nomChamp,$path,$maxSizeInOctet,$allowedExt){
// Taille maximum
$MAX_FILE_SIZE = $maxSizeInOctet;
//recuperation de la ou des extension acceptées
$tab= preg_split("/\|/", $allowedExt, -1, PREG_SPLIT_NO_EMPTY);
$nbExt = sizeof($tab);
$ext = explode('|', $allowedExt, $nbExt);
// Dossier de destination du fichier
$folder = $path;
// Variables récupérée par methode POST du formulaires
$fileName = $_FILES[''.$nomChamp.'']['name'];
$fileType = $_FILES[''.$nomChamp.'']['type'];
$fileSize = $_FILES[''.$nomChamp.'']['size'];
$fileTmp = $_FILES[''.$nomChamp.'']['tmp_name'];
$extension = strrchr($fileName, ".");
$auth_ext = array($ext);
function isExtAuthorized($extension){
//global $auth_ext;
if(@in_array($extension,$auth_ext))
{
return true;
}
else
{
return false;
}
}
// Diverses test afin de savoir si :
// Le format de fichier correspond à notre tableau array
if(!(isExtAuthorized($extension))){$error = 1;}
// La taille du fichier n'est pas dépassée
if($fileSize > $MAX_FILE_SIZE){$error = 2;}
// Le fichier n'existe pas déjà
if(file_exists($folder."m_".$fileName)){$error = 3;}
// Si tout va bien, c'est bien déroulé
if(copy($fileTmp,''.$folder.''.$fileName.'')) {$error = 0;}
// Switch servant simplement à la gestion des erreures
switch($error){
case'0':
echo("Fichier correctement envoyé.");
break;
case'1':
echo("Problème format de fichier incorrecte.");
break;
case'2':
echo("Problème fichier trop volumineux.");
break;
case'3':
echo("Problème le fichier déjà existant.");
break;
}
} |
Partager