PageRenderTime 25ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/Sources/Functions/files.functions.php

http://bideew.googlecode.com/
PHP | 94 lines | 61 code | 5 blank | 28 comment | 7 complexity | a4dfa4870188a3ae239af0bf6d7f37dc MD5 | raw file
Possible License(s): GPL-3.0
  1. <?php
  2. #################################
  3. #################################
  4. # Créateur : Kévin Gautreau
  5. # Contact : kevin.gautreau@kgaut.net
  6. # PHP++ Framework : http://sourceforge.net/projects/phpppframework
  7. # Date Création : 9 Avril 2008
  8. # Derni?re Modification : 21 mai 2008
  9. #################################
  10. #################################
  11. #################################
  12. # Fonction SizeToString( $Size)
  13. # But: Renvoie une string pour afficher la taille d'un fichier
  14. # Variables d'entrées :
  15. # $Size : La tailler ? afficher, en KO
  16. # Variables de retour :
  17. # $mysize : La variable ? afficher qui contient la taille du fichier
  18. #################################
  19. function SizeToString ($size) {
  20. $mb = 1024*1024;
  21. if ($size > $mb) {$mysize = sprintf ("%01.2f",$size/$mb) . " MB";}
  22. elseif ($size >= 1024) {$mysize = sprintf ("%01.2f",$size/1024) . " Kb";}
  23. else {$mysize = $size . " bytes";}
  24. return $mysize;
  25. }
  26. #################################
  27. # Fonction UploadFile()
  28. # A COMMENTER
  29. #################################
  30. function UploadFile($Fichier,$Dossier,$NomFutur,$extension,$TailleMax=204800){
  31. if ($Fichier['error']) {
  32. switch ($Fichier['error']){
  33. case 1: // UPLOAD_ERR_INI_SIZE
  34. throw new Exception ("Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !");
  35. break;
  36. case 2: // UPLOAD_ERR_FORM_SIZE
  37. throw new Exception ("Le fichier dépasse la limite autorisée dans le formulaire HTML !");
  38. break;
  39. case 3: // UPLOAD_ERR_PARTIAL
  40. throw new Exception ("L'envoi du fichier a été interrompu pendant le transfert !");
  41. break;
  42. case 4: // UPLOAD_ERR_NO_FILE
  43. throw new Exception ("Le fichier que vous avez envoyé a une taille nulle !");
  44. break;
  45. }
  46. }
  47. else {
  48. $TailleMaxKO = $TailleMax/1024;
  49. if( !in_array( strtolower(substr(strrchr($Fichier['name'], '.'), 1)), $extension ) ){
  50. throw new Exception ("Veuillez choisir un fichier avec l'une des extensions permises");
  51. }
  52. elseif( filesize($Fichier['tmp_name']) > $TailleMax) {
  53. throw new Exception ("Le fichier doit ?tre plus petit que $TailleMaxKO Ko !");
  54. }
  55. //Si le nom futur du fichier est le meme que le nom par defaut du fichier plus son extension
  56. if($NomFutur==$Fichier['name']){
  57. $dest_fichier=$NomFutur;
  58. }
  59. else{
  60. $dest_fichier = $NomFutur .'.'. substr(strrchr($Fichier['name'], '.'), 1);
  61. }
  62. $dest_fichier = strtr($dest_fichier,'?ÁÂ?Ä?Ç?É?Ë?ÍÎ??ÓÔ?Ö?Ú?ÜÝ?áâ?ä?ç?é?ë?íî???óô?ö?ú?üý?','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
  63. $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
  64. if(substr($Dossier,-1,1)!='\\')
  65. {
  66. $Dossier.='\\';
  67. }
  68. //Si la copie ? echouée
  69. if(!copy($Fichier['tmp_name'],$Dossier.$dest_fichier)){
  70. throw new Exception ("Un probléme intervenu durant l'upload du fichier :" . $dest_fichier);
  71. }
  72. //echo "<br>".$Dossier . $dest_fichier."<br>";
  73. return $dest_fichier;
  74. }
  75. }
  76. #################################
  77. # Fonction GetExtention( $Size)
  78. # But: l'extention du nom du fichier passé en parametre
  79. # Variables d'entrées :
  80. # $nom_fichier : le nom du fichier
  81. # Variables de retour :
  82. # $extention : l'extention du fichier
  83. #################################
  84. function GetExtention($nom_fichier) {
  85. return substr(strrchr($nom_fichier, '.'), 1);
  86. }
  87. ?>