Php fwrite()错误:提供的参数不是有效的流资源。为什么?
我有以下代码:Php fwrite()错误:提供的参数不是有效的流资源。为什么?,php,warnings,Php,Warnings,我有以下代码: $file = '/path/to/file.txt'; if (($fd = fopen($file, "a") !== false)) { fwrite($fd, 'message to be written' . "\n"); fclose($fd); } 为什么我会收到以下警告 fwrite(): supplied argument is not a valid stream resource fclose(): supplied argument i
$file = '/path/to/file.txt';
if (($fd = fopen($file, "a") !== false)) {
fwrite($fd, 'message to be written' . "\n");
fclose($fd);
}
为什么我会收到以下警告
fwrite(): supplied argument is not a valid stream resource
fclose(): supplied argument is not a valid stream resource
你的if陈述是错误的。试一试
if (($fd = fopen($file, "a")) !== false) {
因为你的那个像
$fd = fopen($file, "a") !== false
你的if陈述是错误的。试一试
if (($fd = fopen($file, "a")) !== false) {
因为你的那个像
$fd = fopen($file, "a") !== false
因为你有一个括号错误。守则应改为:
if (($fd = fopen($file, "a")) !== false) {
当前代码所做的是将$fd
设置为将fopen
返回值与false
进行比较的结果,后者也是false
(假设fopen
成功)。实际上你有
if ($fd = false) {
这是不言自明的,也是可测试的(使用var\u dump
)
故事的寓意:如果条件满足,则不要给
内的变量赋值。这不是1980年,也不是用C语言编程。只要说“不”,使核心可读;它会喜欢你的。因为你有一个括号错误。守则应改为:
if (($fd = fopen($file, "a")) !== false) {
当前代码所做的是将$fd
设置为将fopen
返回值与false
进行比较的结果,后者也是false
(假设fopen
成功)。实际上你有
if ($fd = false) {
这是不言自明的,也是可测试的(使用var\u dump
)
故事的寓意:如果
条件满足,则不要给内的变量赋值。这不是1980年,也不是用C语言编程。只要说“不”,使核心可读;它会因此而爱你。Ups。。。我错过了。谢谢!不间断电源。。。我错过了。谢谢!