首页 > PHP教程 > PHP技巧 > 正文:详细学习PHP中对文件和目录的操作方法

详细学习PHP中对文件和目录的操作方法

web学习吧 2007-09-19 来源: 收藏本文
共3页: 上一页 [1] 2 [3] 下一页 }
$data = file_get_contents($file);
echo Htmlentities($data);
?>但是file_get_contents函数在较低版本上不支持,可以先创建文件的一个句柄,然后用指针读取全部:


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

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

$data = implode('', file($file));

 ●   写文件

和读取文件的方式一样,先看看是不是能写:


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

 ●    复制,删除文件

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


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

复制文件也很容易:

 

共3页: 上一页 [1] 2 [3] 下一页
网站地图 - 最新教程 - RSS订阅 - 版权所有 - 广告服务 - 友情连接 - 联系我们