fichier * @desc Permet de tester si le fichier possede une extension **/ function file_has_extension($file) { return eregi('.*\.[a-z]*$',$file); } /** * @return string extension du fichier * @param $file => fichier * @desc Recupere l'extension d'un fichier **/ function file_get_extension($file) { $parts = pathinfo($file); if (isset($parts['extension'])) { return ($parts['extension']); } return (false); } /** * @return booleen : Transfert ok ou Array liste erreur * @param array $folder : Chemin d'accès au fichier * @param array $fichier : Fichier à uploader $_FILES['nom_champ'] * @param array $nom : Nom du fichier final avec extension ! (facultatif : nom du fichier uploadé) * @param array $only_accept_extens : Defini les extensions autorisés (facultatif : nom du fichier uploadé) * @desc Telecharge un fichier sur le serveur => Necessite la bibliotheque "string"; **/ function file_upload($folder,$fichier,$nom=false,$only_accept_extens=array()) { $Erreur = array(); /* dossier sera déplacé par defaut à la racine */ if(string_is_null($folder)){ $folder = ""; } ///nom du fichier $tmp_file = $fichier['tmp_name']; //test si fichier bien uploadé if(!is_uploaded_file($tmp_file) ) {$Erreur[] = "Le fichier ".$tmp_file." est introuvable"; } // on vérifie maintenant l'extension $type_file = $fichier['type']; // on copie le fichier dans le dossier de destination $name_file = filename_convert($fichier['name']); if(!$nom) $nom=$name_file; if(!move_uploaded_file($tmp_file, $folder.$nom)) { $Erreur[] = "Impossible de copier le fichier ".$name_file." dans ".$folder.""; } @chmod($folder.$nom,0777); return sizeof($Erreur)>0?$Erreur:true; } /////////////// //POUR INFO /* "application/x-gzip-compressed" => ".tar.gz, .tgz", "application/x-zip-compressed" => ".zip", "application/x-tar" => ".tar", "text/plain" => ".txt, .inc", "text/html" => ".html, .htm, .php", "image/bmp" => ".bmp, .ico", "image/gif" => ".gif", "image/pjpeg" => ".jpg, .jpeg", "image/jpeg" => ".jpg, .jpeg", "application/notepad" "application/x-shockwave-flash" => ".swf", "application/msword" => ".doc, .rtf", "application/vnd.ms-excel" => ".xls", "application/octet-stream" => ".exe, .fla", "application/pdf" => ".pdf", "application/vnd.ms-powerpoint" => ".ppt" //*/ /** * @return booleen * @param string folder : Chemin ou l'on doit créer le fichier * @param string fileName : Nom du fichier final * @param string text : Texte à insérer * @param string ChMod : Droit du fichier (défaut : tous les droits) * @desc Crée un fichier fileName dans folder avec text à l'intérieur (Créera le répertoire si n'existe pas) **/ function file_texte_create($folder,$fileName,$text,$ChMod = "0777"){ $text = stripslashes($text); if(!is_dir($folder)){ if(folder_create($folder)){ return false; } } $fp = fopen($folder.$fileName,"w+"); fputs($fp,$text); fclose($fp); chmod($folder.$fileName,$ChMod); } /** * @return booleen * @param string folder : Chemin ou l'on doit créer le fichier * @param string ChMod : Droit du dossier (défaut : tous les droits) * @desc Crée un dossier folder **/ function folder_create($folder,$ChMod = "0777"){ return mkdir($folder,$ChMod); } function filename_convert($fileName){ ##Enleve les espaces $fileName = trim($fileName); ##ENLEVE Tous les caractères a la con $fileName = strtr($fileName, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $fileName = preg_replace('/([^.a-z0-9]+)/i', '_', $fileName); return $fileName; } function file_size($file){ $taille = filesize($file)/1000; $unite = "Ko"; if($taille>1000){ $taille/=1000; $unite = "Mo"; } return number_format($taille,1,",","")." ".$unite; } ?>