快速业务通道

PHP5文件的操作(PHP100精华)

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-23
nbsp;      die(''我是鸡毛,我不能'');
}
$data = ''我是可鄙,我想要'';
file_put_contents ($file, $data);
?>

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

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

替换之.

写文件的时候有时候需要锁定,然后写:

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;
}

● 复制,删除文件

php删除文件非常easy,用unlink函数简单操作:

<?php
$file = ''dirlist.php'';
$result = @unlink ($file);
if ($result == false) {
         echo ''蚊子赶走了'';
} else {
         echo ''无法赶走'';
}
?>

即可.

复制文件也很容易:

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

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

● 获取文件属性

我说几个常见的函数:
获取最近修改时间:

<?php
$file = ''test.txt'';
echo date(''r'', filemtime($file));
?>

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

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

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

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

<?php
$file = ''dirlist.php'';
$perms = substr(sprintf(''%o'', fileperms($file)), -4);
echo $perms;
?>

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


<?php

// 输出类似:somefile.txt: 1024 bytes

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

?>

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

<?php
$file = ''dirlist.php'';
$perms = stat($file);
var_dump($perms);
?>

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

四、结束语

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

 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号