【发布时间】:2013-06-22 09:34:20
【问题描述】:
我有一个复杂的 php4 代码,想用 file_put_contents 向文件中写入一些东西,如下所示:
$iCounter = 0;
foreach blah...
... code
file_put_contents("/tmp/debug28364363264936214", "test" . $iCounter++ . "\n", FILE_APPEND);
...code
我正在使用FILE_APPEND 将数据附加到给定的文件中,我确定我打印的内容不包含控制字符,随机数序列确保文件没有在任何其他上下文中使用,并且计数器变量(仅用于打印输出)用于控制调用file_put_contents 的频率。
执行代码,查看刚才看到的文件内容
test8
虽然我期待看到
test1
test2
test3
test4
test5
test6
test7
test8
我的语法有问题吗?也许代码不适用于php4?我还能用什么代替?
附:我正在处理一个非常大、非常古老的 php4 项目,因此无法在 php5 中重新编码该项目。不会在 2 年内...
【问题讨论】:
-
因为 file_put_contents() 覆盖现有文件,根据文档
-
它应该可以工作....你使用的是什么版本和操作系统?请注意
file_put_contents是 PHP5 而不是 PHP4 ??? -
它的 4.4.9-pl0-gentoo 在 2.6.30-gentoo-r4 上。但是如果这个函数只存在于PHP5中,为什么我会得到一些东西呢?我认为它根本不应该工作。
-
@MarkBaker 有一个警告,您可以使用
FILE_APPEND作为第三个参数的标志。直到今天我才知道这一点,这就是为什么我喜欢 SO :) -
@Alex PHP 文档说(PHP 5)不确定为什么你在 4 中使用它,但也没有指定引入
FILE_APPEND的日期..