RSS订阅
PHP程序员站--WWW.PHPERZ.COM  
网站地图
高级搜索
收藏本站

 当前位置:主页 >> PHP基础 >> 基础文章 >> 文章内容
php目录,文件操作详谈
[收藏此页[打印本页]   
来源:互联网  作者:未知  发布时间:2008-03-14

● 写文件

和读取文件的方式一样,先看看是不是能写: php程序员之家

以下为引用的内容:
<?PHP

$file = 'dirlist.PHP';
if (is_writable($file) == false) {
        die("我是鸡毛,我不能");
}
?> phperz.com

www~phperz~com

能写了的话可以使用file_put_contents函数写入: php程序员之家

以下为引用的内容:
<?PHP
$file = 'dirlist.PHP';
if (is_writable($file) == false) {
        die('我是鸡毛,我不能');
}
$data = '我是可鄙,我想要';
file_put_contents ($file, $data);
?>
www.phperz.com

file_put_contents函数在PHP5中新引进的函数(不知道存在的话用function_exists函数先判断一下)低版本的PHP无法使用,可以使用如下方式:

www.phperz.com

$f = fopen($file, 'w');
fwrite($f, $data);
fclose($f);

www.phperz.com

替换之.

php程序员站

写文件的时候有时候需要锁定,然后写: www.phperz.com

以下为引用的内容:
function cache_page($pageurl,$pagedata){
 if(!$fso=fopen($pageurl,'w')){
  $this->warns('无法打开缓存文件.');//trigger_error
  return false;
 }
 if(!flock($fso,LOCK_EX)){//LOCK_NB,排它型锁定
  $this->warns('无法锁定缓存文件.');//trigger_error
  return false;
 }
 if(!fwrite($fso,$pagedata)){//写入字节流,serialize写入其他格式
  $this->warns('无法写入缓存文件.');//trigger_error
  return false;
 }
 flock($fso,LOCK_UN);//释放锁定
 fclose($fso);
 return true; phperz.com
}

phperz.com

● 复制,删除文件

www.phperz.com

PHP删除文件非常easy,用unlink函数简单操作: phperz.com

以下为引用的内容:
<?PHP
$file = 'dirlist.PHP';
$result = @unlink ($file);
if ($result == false) {
        echo '蚊子赶走了';
} else {
        echo '无法赶走';
}
?>
php程序员之家

即可.

www.phperz.com

复制文件也很容易: php程序员站

以下为引用的内容:
<?PHP
$file = 'yang.txt';
$newfile = 'ji.txt'; # 这个文件父文件夹必须能写
if (file_exists($file) == false) {
        die ('小样没上线,无法复制');
}
$result = copy($file, $newfile);
if ($result == false) {
        echo '复制记忆ok';
}
?>

php程序员站

可以使用rename()函数重命名一个文件夹.其他操作都是这几个函数组合一下就能实现的.

www~phperz~com

● 获取文件属性

www.phperz.com

我说几个常见的函数:
获取最近修改时间: php程序员站

以下为引用的内容:
<?PHP
$file = 'test.txt';
echo date('r', filemtime($file));
?>
php程序员之家

返回的说unix的时间戳,这在缓存技术常用.

php程序员站

相关的还有获取上次被访问的时间fileatime(),filectime()当文件的权限,所有者,所有组或其它 inode 中的元数据被更新时间,fileowner()函数返回文件所有者 www~phperz~com

$owner = posix_getpwuid(fileowner($file));

www~phperz~com

(非window系统),ileperms()获取文件的权限,

php程序员站

以下为引用的内容:
<?PHP
$file = 'dirlist.PHP';
$perms = substr(sprintf('%o', fileperms($file)), -4);
echo $perms;
?>
php程序员站

filesize()返回文件大小的字节数:

www.phperz.com

以下为引用的内容:
<?PHP

// 输出类似:somefile.txt: 1024 bytes www~phperz~com

$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes'; www.phperz.com

?>

phperz.com

www.phperz.com

获取文件的全部信息有个返回数组的函数stat()函数: phperz~com

以下为引用的内容:
<?PHP
$file = 'dirlist.PHP';
$perms = stat($file);
 var_dump($perms);
?>

php程序员站

那个键对应什么可以查阅详细资料,此处不再展开.

www~phperz~com

四、结束语 www.phperz.com

上面我简要的总结了一下几个文件操作,如果您熟练掌握以上列出的函数,已经在操作的时候没什么大的问题,PHP文件操作的函数变化比较快,现在已经非常强大了,文件这部分也是学习PHP非常重要的一部分,希望不要忽略. www.phperz.com


 
 相关文章
 
发表评论
全部评论(0条)
 
 站内搜索
 热门搜索 基础  mysql  url  adodb
高级搜索 网站地图 站长工具 IP查询 收藏本站
 热点文章
 随机推荐
网站首页 | 网站地图 | 高级搜索 | RSS订阅
PHP程序员站 Copyright © 2007,PHPERZ.COM All Rights Reserved 粤ICP备07503606号 联系站长