/**
* @return booleen
* @param $file => 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;
}
?>