首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fwrite不写入

fwrite不写入
EN

Stack Overflow用户
提问于 2011-09-28 12:34:54
回答 3查看 19.7K关注 0票数 3
代码语言:javascript
复制
 $fp = fopen('log.txt', 'w');
 fwrite($fp, 'Missing gallery image for: ' . $row['toolbar_id'] . '\n');

上面的代码没有写入文件。$row['toolbar_id']是来自for each循环的值。有什么建议吗?没有PHP错误,因为文件确实会在我调试该部分时打开。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-28 12:37:51

试试这个额外的保证

代码语言:javascript
复制
ini_set('display_errors', 'On');
error_reporting(E_ALL);

$fp = fopen('log.txt', 'ab');
if (false === $fp) {
    throw new RuntimeException('Unable to open log file for writing');
}

$bytes = fwrite($fp, 'Missing gallery image for: ' . $row['toolbar_id'] . PHP_EOL);
printf('Wrote %d bytes to %s', $bytes, realpath('log.txt'));
fclose($fp);

编辑:将"write“标志(w)改为"append”(a),因为截断日志文件听起来不是个好主意

票数 7
EN

Stack Overflow用户

发布于 2012-09-19 14:44:06

https://bugs.php.net/bug.php?id=48607 fwrite和ftp有一个php bug,这意味着当fwrite之后直接调用fclose时,文件的最后一块有时不会被写入,在fclose修复这个问题之前,或者在你的情况下,在fclose之前登录到一个文件也可以停止它。

张贴以供将来参考!

票数 0
EN

Stack Overflow用户

发布于 2012-09-19 14:49:53

代码语言:javascript
复制
 <?php
    $filename = 'log.txt';
    $somecontent = "Missing gallery image for: ";
    if($row['toolbar_id'] != "") 
    { 
        $somecontent .= $row['toolbar_id'];
    }

   if (is_writable($filename)) {


        if (!$handle = fopen($filename, 'a')) {
             echo "Cannot open file ($filename)";
             exit;
        }


        if (fwrite($handle, $somecontent) === FALSE) {
            echo "Cannot write to file ($filename)";
            exit;
        }

        echo "Success, wrote ($somecontent) to file ($filename)";

        fclose($handle);

    } else {
        echo "The file $filename is not writable";
    }
    ?>

试试这段代码。!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7578350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档