- $data = implode('''', file($file));
B、写文件
和读取文件的方式一样,先看看是不是能写:
- <?php
- $file = ''dirlist.php'';
- if (is_writable($file) == false) {
- die("我是鸡毛,我不能");
- }
- ?>
能写了的话可以使用file_put_contents函数写入
- <?php
- $file = ''dirlist.php'';
- if (is_writable($file) == false) {
- 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;
- }
C、复制,删除文件
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()函数重命名一个文件夹.其他操作都是这几个函数组合一下就能实现的.
D、获取文件属性
我说几个常见的函数:
获取最近修改时间:
- <?php
- $file = ''test.txt'';
- echo date(''r'', filemtime($file));
- ?>
返回的说Unix的时间戳,这在缓存技术常用.
相关的还有获取上次被访问的时间fileatime(),filectime()当文件的权限,所有者,所有组或其它 inode 中的元数据被更新时间,fileowner()函数返回文件所有者
- $owner = posix_getpwuid(fileowner($file));
(非window系统)