PHP实战:php创建多级目录完整封装类操作方法
|
《PHP实战:php创建多级目录完整封装类操作方法》要点: PHP实战创建多级目录函数中调用创建指定下的指定文件的函数: PHP实战
public function create_dir($dir,$mode=0777)
{
return is_dir($dir) or ($this->create_dir(dirname($dir)) and mkdir($dir,$mode));
}
PHP实战创建指定路径下的指定文件,string 需要包含文件名和后缀path(需要包含文件名和后缀),booleanover_write 是否覆盖文件,int 设置时间.默认是当前系统时间time设置时间.默认是当前系统时间,intatime 设置访问时间.默认是当前系统时间.函数如下中调用了create_dir创建目录函数及删除unlink_file函数: PHP实战
public function create_file($path,$over_write=FALSE,$time=NULL,$atime=NULL)
{
$path = $this->dir_replace($path);
$time = empty($time) ? time() : $time;
$atime = empty($atime) ? time() : $atime;
if(file_exists($path) && $over_write)
{
$this->unlink_file($path);
}
$aimDir = dirname($path);
$this->create_dir($aimDir);
return touch($path,$time,$atime);
}
PHP实战删除非空目录函数,说明:只能删除非系统和特定权限的文件,否则会出现错误,string目录路径dirName目录路径,booleanis_all是否删除所有,boolean $del_dir 是否删除目录,函数如下: PHP实战
public function remove_dir($dir_path,$is_all=FALSE)
{
$dirName = $this->dir_replace($dir_path);
$handle = @opendir($dirName);
while (($file = @readdir($handle)) !== FALSE)
{
if($file != '.' && $file != '..')
{
$dir = $dirName . '/' . $file;
if($is_all)
{
is_dir($dir) ? $this->remove_dir($dir) : $this->unlink_file($dir);
}
else
{
if(is_file($dir))
{
$this->unlink_file($dir);
}
}
}
}
closedir($handle);
return @rmdir($dirName);
}
PHP实战替换路径中//的字符相应的字符函数: PHP实战
public function dir_replace($path)
{
return str_replace('//','/',str_replace('',$path));
}
PHP实战
/**
* 指定文件编码转换
* @param string $path 文件路径
* @param string $input_code 原始编码
* @param string $out_code 输出编码
* @return boolean
*/
public function change_file_code($path,$input_code,$out_code)
{
if(is_file($path))//检查文件是否存在,如果存在就执行转码,返回真
{
$content = file_get_contents($path);
$content = string::chang_code($content,$out_code);
$fp = fopen($path,'w');
return fputs($fp,$content) ? TRUE : FALSE;
fclose($fp);
}
}
PHP实战/** PHP实战
public function get_upload_file_info($file)
{
$file_info = $_FILES[$file];//取得上传文件基本信息
$info = array();
$info['type'] = strtolower(trim(stripslashes(preg_replace("/^(.+?);.*$/","1",$file_info['type'])),'"'));//取得文件类型
$info['temp'] = $file_info['tmp_name'];//取得上传文件在服务器中临时保存目录
$info['size'] = $file_info['size'];//取得上传文件大小
$info['error'] = $file_info['error'];//取得文件上传错误
$info['name'] = $file_info['name'];//取得上传文件名
$info['ext'] = $this->get_ext($file_info['name']);//取得上传文件后缀
return $info;
}
PHP实战/** PHP实战
public function get_file_type($path)
{
//pathinfo() 函数以数组的形式返回文件路径的信息.
//---------$file_info = pathinfo($path); echo file_info['extension'];----------//
//extension取得文件后缀名【pathinfo($path,PATHINFO_EXTENSION)】-----dirname取得文件路径【pathinfo($path,PATHINFO_DIRNAME)】-----basename取得文件完整文件名【pathinfo($path,PATHINFO_BASENAME)】-----filename取得文件名【pathinfo($path,PATHINFO_FILENAME)】
return pathinfo($path);
}
PHP实战/** PHP实战
public function list_info($file)
{
$dir = array();
$dir['filename'] = basename($file);//返回路径中的文件名部分.
$dir['pathname'] = realpath($file);//返回绝对路径名.
$dir['owner'] = fileowner($file);//文件的 user ID (所有者).
$dir['perms'] = fileperms($file);//返回文件的 inode 编号.
$dir['inode'] = fileinode($file);//返回文件的 inode 编号.
$dir['group'] = filegroup($file);//返回文件的组 ID.
$dir['path'] = dirname($file);//返回路径中的目录名称部分.
$dir['atime'] = fileatime($file);//返回文件的上次访问时间.
$dir['ctime'] = filectime($file);//返回文件的上次改变时间.
$dir['perms'] = fileperms($file);//返回文件的权限.
$dir['size'] = filesize($file);//返回文件大小.
$dir['type'] = filetype($file);//返回文件类型.
$dir['ext'] = is_file($file) ? pathinfo($file,PATHINFO_EXTENSION) : '';//返回文件后缀名
$dir['mtime'] = filemtime($file);//返回文件的上次修改时间.
$dir['isDir'] = is_dir($file);//判断指定的文件名是否是一个目录.
$dir['isFile'] = is_file($file);//判断指定文件是否为常规的文件.
$dir['isLink'] = is_link($file);//判断指定的文件是否是连接.
$dir['isReadable'] = is_readable($file);//判断文件是否可读.
$dir['isWritable'] = is_writable($file);//判断文件是否可写.
$dir['isUpload'] = is_uploaded_file($file);//判断文件是否是通过 HTTP POST 上传的.
return $dir;
}
PHP实战以上这篇php创建多级目录完整封装类操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家. (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
