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
|
//Si il y a un fichier d'envoyé et que le fichier est plus petit que 20Mo
if(isset($_FILES['fichier']) && $_FILES['fichier']['size'] <= 20971520){
$tmp_file = $_FILES['fichier']['tmp_name']; //Prend le nom complet du fichier uploader dans le tmp du serveur
$ext_possible = array('DOC','XLS','PUB','TXT','PDF','BMP','JPG','JPEG'); //extension possible
// Vérification de fichiers valide
if(!in_array(strtoupper(substr(strrchr($_FILES['fichier']['name'], '.'), 1)), $ext_possible)){
$msgProgress = '**Veuillez sélectionner un fichier de type valide (WORD, EXCEL, PUBLISHER, TEXTE, PDF, PHOTO BMP ou JPEG)** '.$_FILES['fichier']['name'];
}
//Test si le fichier est uploadé sur le serveur
else if(!is_uploaded_file($tmp_file)){
$msgProgress = '**Le fichier est introuvable**';
}
// copie du fichier
if(!isset($msgProgress)){
$file_destination = basename($_FILES['fichier']['name']); //Sépare le path d'accès et garde seulement le nom du fichier et l'extension..ex: test.txt
// formatage nom fichier
// enlever les accents
$file_destination = strtr($file_destination,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$file_destination = preg_replace('/([^.a-z0-9]+)/i', '_', $file_destination);
//Essaie de changer le répertoire, car le fichier est uploadé dans le tmp
//$tmp_file->ancien path, $path_destination->path ajusteur, $file_destination->le nom de fichier avec extention
if(!move_uploaded_file($tmp_file, $_SESSION['path_dir'].$file_destination)){
$msgProgress = '**Impossible de copier le fichier dans '.$_SESSION['path_dir'].$file_destination.'**';
}
else{
echo '<font color=\"green\" face=\"Comic Sans MS\"><b>**Le fichier a été transféré avec succès dans le répertoire '.$_SESSION['path_dir'].$file_destination.'**<br></b></font>';
}
}
}
else if(isset($_FILES['fichier']) && $_FILES['fichier']['size'] > 20971520){
$msgProgress = '** Le fichier que vous voulez transférer est trop volumineux (20Mo+), contactez votre administrateur réseau **';
} |
Partager