文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>file操作总结

file操作总结

时间:2006-12-06  来源:mosquito_2006



1.读文件
判断文件是否存在:
bool is_readable(string filename)判定给定文件名是否可读:如果由filename指定的文件或目录存在则返回true。自PHP 5.0.0起,也支持URL。
bool file_exists(string filename)检查文件或目录是否存在:如果由filename指定的文件或目录存在则返回true,否则返回false。此函数只有文件存在时才可用。
读取文件:
string file_get_contents(string filename)将整个文件读入一个字符串,返回一个字符串。
   e:g=> $file = index.php; $data = file_get_contents($file);
         echo htmlentities($data);
     或: $fp = fopen($file,'r');
         $data = fread($fp,filesize($fp));
         fclose($fp);
array file(string filename)把整个文件读入一个数组中,将文件作为一个数组返回,数组中的每个单元都是文件中相应的一行。如果失败返回false。
      $data = implode('',file($filename));
2.写文件
bool is_writable(string filename)判断给定的文件名是否可写。如果文件存在并且可写返回true.(filename也可以是目录名)
int file_put_contents(string filename,string data) 将一个字符串写入文件。和依次调用fopen(),fwrite()以及 fclose()功能一样。本函数返回写入文件的字节数。
e.g=> $file = "aa.php";
       $data = "the content you want writ to the file";
       file_put_contents($file,$data);
   或:$fp = fopen($file,'w');
       fwrite($fp,$data);
       fclose($fp);

写文件的时候有时候需要锁定,然后写:
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;
}

3.复制、删除文件
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()函数重命名一个文件夹.其他操作都是这几个函数组合一下就能实现的.
4.获取文件的属性
获取最近修改时间:
<?php
$file = 'test.txt';
echo date('r', filemtime($file));
?>
相关的还有获取上次被访问的时间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);
?>


相关阅读 更多 +
排行榜 更多 +
幸运硬币官方正版下载

幸运硬币官方正版下载

休闲益智 下载
宝宝来找茬手机版 v9.86.00.00 安卓版

宝宝来找茬手机版 v9.86.00.00 安卓版

休闲益智 下载
翻滚飞机大战最新版 v1.0.4 安卓版

翻滚飞机大战最新版 v1.0.4 安卓版

飞行射击 下载