欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

一个较为安全的覆写文件函数

程序员文章站 2022-05-22 11:01:32
...

安全|函数

// 安全覆盖文件写入,防止写入失败文件丢失,如果您的代码中有以"w"模式写入文件的代码
// 推荐改用 f_xwrite() 的方式写入.
// $Id: f_xwrite.php,v 1.2 2004/12/03 05:27:04 hightman Exp $

function f_xwrite($fpath, $buf, $length = -1) {
$ret = 0;

if ($length if ($length == 0) {
@unlink($fpath);
return 1;
}

$fd = @fopen($fpath, "r+");
if (!$fd) $fd = @fopen($fpath, "w");
if (!$fd) return $ret;

flock($fd, LOCK_EX);
fseek($fd, 0, SEEK_SET);
if (fwrite($fd, $buf, $length)) {
ftruncate($fd, $length);
$ret = 1;
}
flock($fd, LOCK_UN);
fclose($fd);
return $ret;
}
?>