Mar
17
2012
php文件操作类
<?php
class IO
{
private $path; // 文件路
private $name; //文件名
private $result; //对文件操作后的结果
/**
* 本方法用来在path目录下创建name文件
*
* @param string path
* @param string name
*/
function creat_file($path, $name)
{
$filename = $path . $name;
if (file_exists($filename)) {
echo "文件已经存在,请换个文件名";
} else {
if (file_exists($path)) {
touch($name);
rename($name, $filename);
echo "文件建立成功 </br>";
} else {
echo "目录不存在,请检查";
}
}
}
/**
* 本方法删除path路径下name文件
*
* @param string_type path
* @param string_type name
*/
function del_file($path, $name)
{
$filename = $path . $name;
if (!file_exists($filename)) {
echo "文件不存在,请确认路径是否正确";
} else {
if (unlink($filename)) {
echo "文件删除成功";
} else
echo "文件删除失败";
}
}
/**
* 本方法把filename文件重命名为newname文件
*
* @param string_type filename
* @param string_type newname
*/
function rename_file($filename, $newname)
{
$path = pathinfo($filename);
$dir = $path['dirname']; //得到文件路径
$newfilename = $dir . '/' . $newname;
if (file_exists($filename)) { //判断文件是否存在
$result = rename($filename, $newfilename);
if ($result == true)
echo "文件更名成功";
else
echo "文件更名失败";
} else
echo "文件不存在";
}
/**
* 本方法用来列出目录里的文件或目录switch为1时按字母顺序列出所有目录和文件
* switch为2则只列出目录,switch为3时,只列出文件名
*
* @param string_type path
* @param int_type switch
*/
function list_filename($path, $switch)
{
if (file_exists($path)) {
$dir = scandir($path);
if ($switch == 1) { //如果switch为1则按字母顺序列出所有目录和文件
for ($i = 0; $i <= count($dir); $i++) {
if ($dir[$i] != "." and $dir[$i] != "..") {
echo "$dir[$i]<br>";
}
}
}
if ($switch == 2) //switch为2则只列出目录
{
for ($i = 0; $i <= count($dir); $i++) {
$x = is_dir($path . $dir[$i]);
if ($dir[$i] != "." and $dir[$i] != ".." and $x == true) {
echo "$dir[$i]<br>";
}
}
}
if ($switch == 3) //switch为3时,只列出文件名
{
for ($i = 0; $i <= count($dir); $i++) {
$x = is_dir($path . $dir[$i]);
if ($dir[$i] != "." and $dir[$i] != ".." and $x == false) {
echo "$dir[$i]<br>";
}
}
}
}
}
/**
* 本方法在path目录下创建名为dirname的目录
*
* @param string_type path
* @param string_type dirname
*/
function creat_dir($path, $dirname)
{
if (file_exists($path)) {
$result = @mkdir($path . $dirname);
if ($result)
echo "目录建立成功";
else
echo "目录建立失败";
} else
echo "路径不存在,请重新输入";
}
/**
* 本方法删除pathname目录,包括该目录下所有的文件及子目录
*
* @param string_type pathname
*/
function del_dir($pathname)
{
if (!is_dir($pathname)) {
exit("你输入的不是一个目录,请检查");
}
$handle = opendir($pathname);
while (($fileordir = readdir($handle)) !== false) {
if ($fileordir != "." && $fileordir != "..") {
is_dir("$pathname/$fileordir") ? $this->del_dir("$pathname/$fileordir") : unlink("$pathname/$fileordir");
}
}
if (readdir($handle) == false) {
closedir($handle);
rmdir($pathname);
}
}
}
?>
微信扫一扫,打赏作者吧~
最活跃的读者