File indexing completed on 2024-12-22 05:33:23
0001 <?php 0002 0003 /* 0004 * TRT GFX 3.0.1 (beta build) BackToSlash 0005 * 0006 * support: happy.snizzo@gmail.com 0007 * website: http://trt-gfx.googlecode.com 0008 * credits: Claudio Desideri 0009 * 0010 * This software is released under the MIT License. 0011 * http://opensource.org/licenses/mit-license.php 0012 */ 0013 0014 0015 /* 0016 * Static class used as a helper for filesystem operations. 0017 */ 0018 0019 class EFileSystem{ 0020 0021 /* 0022 * Function that return file extension in string format if exists, 0023 * return false in the opposite case 0024 */ 0025 public static function get_file_extension($nome){ 0026 $trova_punto = explode(".", $nome); 0027 $estensione = $trova_punto[count($trova_punto) - 1]; 0028 $estensione = strtolower($estensione); 0029 if (isset($trova_punto[1]) == FALSE){ 0030 return false; 0031 } 0032 return $estensione; 0033 } 0034 0035 /* 0036 * Function that return file name in string format if exists, 0037 * return false in the opposite case. 0038 * 0039 * It actually erases every extension found. 0040 * filename.inc.conf --> filename 0041 */ 0042 public static function get_file_name($nome){ 0043 $chunks = explode(".", $nome); 0044 if (isset($chunks[0]) == FALSE){ 0045 return false; 0046 } else { 0047 return $chunks[0]; 0048 } 0049 } 0050 0051 /* 0052 * Function that renames a file, mantaining the correct extension 0053 */ 0054 public static function rename_file($from,$to){ 0055 if(rename($from,$to)){ 0056 return true; 0057 } else { 0058 return false; 0059 } 0060 } 0061 0062 public static function rename_file_ext($from,$to){ 0063 $ext = EFileSystem::get_file_extension($from); 0064 if(rename($from,$to.".".$ext)){ 0065 return true; 0066 } else { 0067 return false; 0068 } 0069 } 0070 0071 /* 0072 * Get an uploaded file and moves it to $path with $newname 0073 * mantaining file extension. 0074 */ 0075 public static function move_uploaded_file_in_ext($path,$newname=false){ 0076 $nfile = $_FILES['localfile']['name']; 0077 if(move_uploaded_file($_FILES['localfile']['tmp_name'], getcwd()."/".$path.$nfile)){ 0078 if($newname){ 0079 EFileSystem::rename_file_ext($path.$nfile,$path.$newname); 0080 } 0081 return true; 0082 } else { 0083 return false; 0084 } 0085 } 0086 0087 /* 0088 * Get an uploaded file and moves it to $path with $newname 0089 * without mantainig file extension (you have to specify it). 0090 */ 0091 public static function move_uploaded_file_in($path,$newname=false){ 0092 $nfile = $_FILES['localfile']['name']; 0093 if(move_uploaded_file($_FILES['localfile']['tmp_name'], getcwd()."/".$path.$nfile)){ 0094 if($newname){ 0095 EFileSystem::rename_file($path.$nfile,$path.$newname); 0096 } 0097 return true; 0098 } else { 0099 return false; 0100 } 0101 } 0102 0103 /* 0104 * Get an uploaded file and moves it to $path with $newname 0105 */ 0106 public static function get_uploaded_file_name(){ 0107 if(isset($_FILES['localfile']['name'])){ 0108 return $_FILES['localfile']['name']; 0109 } 0110 } 0111 0112 public static function rmdir($path){ 0113 if(is_dir($path)){ 0114 EFileSystem::clean_all_files_in($path); 0115 rmdir($path); 0116 } 0117 } 0118 0119 /* 0120 * erase all files from a folder, except those given in array 0121 */ 0122 public static function clean_all_files_in($path="",$safe=""){ 0123 if(empty($safe)){ 0124 $safe = array(); 0125 } 0126 0127 0128 if(!empty($path)){ 0129 $prevpath = getcwd(); 0130 if(is_dir($path)){ 0131 chdir($path); 0132 0133 foreach(glob("*") as $filename){ 0134 if(is_file($filename)){ 0135 if(in_array($filename,$safe)){ 0136 continue; 0137 } else { 0138 unlink($filename); 0139 continue; 0140 } 0141 } 0142 } 0143 0144 chdir($prevpath); 0145 } 0146 } 0147 } 0148 0149 } 0150 0151 ?>