- 论坛徽章:
- 0
|
- <?php
- // 安全覆盖文件写入,防止写入失败文件丢失,如果您的代码中有以"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 < 0) $length = strlen($buf);
- 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;
- }
- ?>;
复制代码 [/code] |
|