/Sources/Functions/files.functions.php
PHP | 94 lines | 61 code | 5 blank | 28 comment | 7 complexity | a4dfa4870188a3ae239af0bf6d7f37dc MD5 | raw file
Possible License(s): GPL-3.0
- <?php
- #################################
- #################################
- # Créateur : Kévin Gautreau
- # Contact : kevin.gautreau@kgaut.net
- # PHP++ Framework : http://sourceforge.net/projects/phpppframework
- # Date Création : 9 Avril 2008
- # Derni?re Modification : 21 mai 2008
- #################################
- #################################
-
- #################################
- # Fonction SizeToString( $Size)
- # But: Renvoie une string pour afficher la taille d'un fichier
- # Variables d'entrées :
- # $Size : La tailler ? afficher, en KO
- # Variables de retour :
- # $mysize : La variable ? afficher qui contient la taille du fichier
- #################################
- function SizeToString ($size) {
- $mb = 1024*1024;
- if ($size > $mb) {$mysize = sprintf ("%01.2f",$size/$mb) . " MB";}
- elseif ($size >= 1024) {$mysize = sprintf ("%01.2f",$size/1024) . " Kb";}
- else {$mysize = $size . " bytes";}
- return $mysize;
- }
-
- #################################
- # Fonction UploadFile()
- # A COMMENTER
- #################################
- function UploadFile($Fichier,$Dossier,$NomFutur,$extension,$TailleMax=204800){
- if ($Fichier['error']) {
- switch ($Fichier['error']){
- case 1: // UPLOAD_ERR_INI_SIZE
- throw new Exception ("Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !");
- break;
-
- case 2: // UPLOAD_ERR_FORM_SIZE
- throw new Exception ("Le fichier dépasse la limite autorisée dans le formulaire HTML !");
- break;
-
- case 3: // UPLOAD_ERR_PARTIAL
- throw new Exception ("L'envoi du fichier a été interrompu pendant le transfert !");
- break;
-
- case 4: // UPLOAD_ERR_NO_FILE
- throw new Exception ("Le fichier que vous avez envoyé a une taille nulle !");
- break;
- }
- }
- else {
- $TailleMaxKO = $TailleMax/1024;
- if( !in_array( strtolower(substr(strrchr($Fichier['name'], '.'), 1)), $extension ) ){
- throw new Exception ("Veuillez choisir un fichier avec l'une des extensions permises");
- }
- elseif( filesize($Fichier['tmp_name']) > $TailleMax) {
- throw new Exception ("Le fichier doit ?tre plus petit que $TailleMaxKO Ko !");
- }
- //Si le nom futur du fichier est le meme que le nom par defaut du fichier plus son extension
- if($NomFutur==$Fichier['name']){
- $dest_fichier=$NomFutur;
- }
- else{
- $dest_fichier = $NomFutur .'.'. substr(strrchr($Fichier['name'], '.'), 1);
- }
- $dest_fichier = strtr($dest_fichier,'?ÁÂ?Ä?Ç?É?Ë?ÍÎ??ÓÔ?Ö?Ú?ÜÝ?áâ?ä?ç?é?ë?íî???óô?ö?ú?üý?','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
- $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
- if(substr($Dossier,-1,1)!='\\')
- {
- $Dossier.='\\';
- }
- //Si la copie ? echouée
- if(!copy($Fichier['tmp_name'],$Dossier.$dest_fichier)){
- throw new Exception ("Un probléme intervenu durant l'upload du fichier :" . $dest_fichier);
- }
- //echo "<br>".$Dossier . $dest_fichier."<br>";
- return $dest_fichier;
- }
- }
-
- #################################
- # Fonction GetExtention( $Size)
- # But: l'extention du nom du fichier passé en parametre
- # Variables d'entrées :
- # $nom_fichier : le nom du fichier
- # Variables de retour :
- # $extention : l'extention du fichier
- #################################
- function GetExtention($nom_fichier) {
- return substr(strrchr($nom_fichier, '.'), 1);
- }
-
- ?>