Rumah >php教程 >php手册 >一个较为安全的覆写文件函数

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

WBOY
WBOYasal
2016-06-21 09:07:071020semak imbas

安全|函数

// 安全覆盖文件写入,防止写入失败文件丢失,如果您的代码中有以"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;
}
?>



Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:几个常见的PHP 数据库问题Artikel seterusnya:UTF8下的中文PHP编程