<?php defined('BLUDIT') or die('Bludit CMS.'); class Filesystem { // NEW // Returns an array with the absolutes directories. public static function listDirectories($path, $regex='*') { $directories = glob($path.$regex, GLOB_ONLYDIR); if(empty($directories)) { return array(); } return $directories; } public static function listFiles($path, $regex='*', $extension='*', $sortByDate=false) { $files = glob($path.$regex.'.'.$extension); if(empty($files)) { return array(); } if($sortByDate) { usort($files, create_function('$a,$b', 'return filemtime($b) - filemtime($a);')); } return $files; } public static function mkdir($pathname, $recursive=false) { // DEBUG: Ver permisos si son correctos return mkdir($pathname, 0755, $recursive); } public static function rmdir($pathname) { return rmdir($pathname); } public static function mv($oldname, $newname) { return rename($oldname, $newname); } public static function rmfile($filename) { return unlink($filename); } // OLD public static function get_images($regex) { return self::ls(PATH_UPLOAD, $regex, '*', false, false, false); } // Devuelve un arreglo con el listado de archivos // $path con una barra al final, ej: /home/ // $file_expression : *.0.*.*.*.*.*.*.*.* // $ext : xml // $flag_dir : si quiero listar directorios // $sort_asc_numeric : ordeno ascedente numerico // $sort_desc_numeric : ordeno descendente numerico public static function ls($path, $file_expression = NULL, $ext, $flag_dir = false, $sort_asc_numeric = false, $sort_desc_numeric = true) { if($flag_dir) { $files = glob($path . $file_expression, GLOB_ONLYDIR); } else { $files = glob($path . $file_expression . '.' . $ext); } if( ($files==false) || (empty($files)) ) { $files = array(); } foreach($files as $key=>$file) { $files[$key] = basename($file); } // Sort if($sort_asc_numeric) { sort($files, SORT_NUMERIC); } elseif($sort_desc_numeric) { rsort($files, SORT_NUMERIC); } return $files; } }