<?php /** * ============================================================================ * 文件操作类 * ============================================================================ * @author aiden * @version 1.0 */ class File { /** * 创建文件夹 * * @param string $path 文件夹路径 */ public static function createFolder($path) { if (!file_exists($path)) { self::createFolder(dirname($path)); mkdir($path, 0777); } } /** * 得到指定目录里的信息 * * @return unknown */ public static function getFolder($path) { if (!is_dir($path)) return null; $path = rtrim($path,'/').'/'; $array = array('file'=>array(),'folder'=>array()); $dir_obj = opendir($path); while ($dir = readdir($dir_obj)) { if ($dir != '.' && $dir != '..') { $file = $path.$dir; if (is_dir($file)) $array['folder'][] = $dir; elseif (is_file($file)){ $array['file'][] = $dir; } } } closedir($dir_obj); return $array; } /** * 删除文件 * * @param string $path 文件路径 */ public static function delFile($path) { if (file_exists($path)) { @unlink($path); } } /** * 删除目录 * * @param string $dir 目录路径 */ public static function deleteDir($path) { if (!is_dir($path)) return ; $path = rtrim($path,'/').'/'; $dir_obj = opendir($path); while ($dir = readdir($dir_obj)) { if ($dir != '.' && $dir != '..') { $file = $path.$dir; if (is_dir($file)) self::deleteDir($file); elseif (is_file($file)){ unlink($file); } } } closedir($dir_obj); rmdir($path); } /** * 复制目录 * * @param string $source 要复制的目录地址 * @param string $destination 目标目录地址 * @param int $child 是否复制子目录 * @return bool */ public static function xCopy($source, $destination, $child=1) { if(!is_dir($source)) { echo("Error:the $source is not a direction!"); return 0; } if(!is_dir($destination)) { mkdir($destination,0777); } $handle=dir($source); while($entry=$handle->read()) { if(($entry!=".")&&($entry!="..")) { if(is_dir($source."/".$entry)) { if($child) self::xCopy($source."/".$entry,$destination."/".$entry,$child); } else { copy($source."/".$entry,$destination."/".$entry); } } } return 1; } /** * 复制文件 * * @param string $source 要复制的目录地址 * @param string $destination 目标目录地址 * @return null */ public static function copyFile($source,$path) { $path = str_replace('\\','/',$path); $arr = explode('/',$path); array_pop($arr); $folder = join('/',$arr); if (!is_dir($folder)){ self::createFolder($folder); } if (is_file($source)){ copy($source,$path); } } /** * 创建文件 * * @param unknown_type $file */ public static function createFile($file,$content='') { $folder = dirname($file); if (!is_dir($folder)){ self::createFolder($folder); } file_put_contents($file,$content); } } File::createFile('a.php','ok'); // a.php -文件路径 ok-文件内容,这是我封装类,createFile-创建文件 createFolder-这两个方法需要用到,其它的你可以参考! ?>