免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1454 | 回复: 0
打印 上一主题 下一主题

[code] 安全覆盖文件写入函数,防止写入失败文件丢失 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-14 22:26 |只看该作者 |倒序浏览

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

  5. function f_xwrite($fpath, $buf, $length = -1) {
  6.     $ret = 0;
  7.    
  8.     if ($length < 0) $length = strlen($buf);
  9.     if ($length == 0) {
  10.         @unlink($fpath);
  11.         return 1;
  12.     }
  13.    
  14.     $fd = @fopen($fpath, "r+");
  15.     if (!$fd) $fd = @fopen($fpath, "w");
  16.     if (!$fd) return $ret;

  17.     flock($fd, LOCK_EX);
  18.     fseek($fd, 0, SEEK_SET);
  19.     if (fwrite($fd, $buf, $length)) {
  20.         ftruncate($fd, $length);
  21.         $ret = 1;
  22.     }
  23.     flock($fd, LOCK_UN);
  24.     fclose($fd);
  25.     return $ret;
  26. }
  27. ?>;
复制代码
[/code]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP