快速业务通道

PHP5经典教程之文件操作

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-23

但是file_get_contents函数在较低版本上不支持,可以先创建文件的一个句柄,然后用指针读取全部:

         $fso = fopen($cacheFile, ''r'');
         $data = fread($fso, filesize($cacheFile));
         fclose($fso);

还有一种方式,可以读取二进制的文件:

$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()函数

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号