您的位置:首页 > 编程语言 > PHP开发

php文件操作类

2015-10-13 11:06 603 查看
<?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-这两个方法需要用到,其它的你可以参考!

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: