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
|
//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
$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 pour éviter les bugs de caractères
// 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);
// Vérification de fichiers valide
if(!in_array(strtoupper(substr(strrchr($_FILES['fichier']['name'], '.'), 1)), $ext_possible)){
$msgProgress = '**Veuillez sélectionner un document de type valide (WORD, EXCEL, PUBLISHER, TEXTE, PDF, PHOTO BMP ou JPEG)** '.$_FILES['fichier']['name'];
}
//On test si le fichier est dans le répertoire déjà
if(is_file($_SESSION['path_dir'].$file_destination)){
$msgProgress = '**Le document que vous voulez transférer est déjà dans ce dossier.**<br>Veuillez le renommer autre que : <u><b>'.$_FILES['fichier']['name'].'</b></u>';
}
//Test si le fichier est uploadé sur le serveur
else if(!is_uploaded_file($tmp_file)){
$msgProgress = '**Le document est introuvable**';
}
// copie du fichier
if(!isset($msgProgress)){
//Essaie de changer le répertoire, car le fichier est uploadé dans le tmp
//$tmp_file->ancien path, $_SESSION['path_dir']->path ajusteur, $file_destination->le nom de fichier avec extention
if(!is_dir($_SESSION['path_dir']) || !move_uploaded_file($tmp_file, $_SESSION['path_dir'].$file_destination)){
$msgProgress = '**Impossible de copier le document dans '.$_SESSION['path_dir'].$file_destination.'**';
if(!is_dir($_SESSION['path_dir'])){
$msgProgress .= '<br>Répertoire inexistant';
}
}
else{
$msgSucces = '<font color="green" face="Times New Roman, Times, serif"><b>**Le document a été transfèré avec succès dans le répertoire <br>'.$_SESSION['path_dir'].$file_destination.'**<br></b></font>';
}
}
}
else if(isset($_FILES['fichier']) && $_FILES['fichier']['size'] > 20971520){
$msgProgress = '** Le document que vous voulez transférer est trop volumineux (20Mo+), contactez votre administrateur réseau **';
} |
Partager