我想在php中打开文件。 但是当我使用fopen()打开文件时,我收到了错误。 我的代码如下。
<?php
chdir("/home/chintan/directory");
$fp = fopen("abc.txt","w");
if($fp == false)
{
echo "Error while opening file";
}
fwrite($fp,"Hi........");
fclose($fp);
?>
文件存在且文件/目录具有可写权限 并且它给出了我使用echo打印的错误。 我尝试过使用w +,但它给出了相同的结果
答案 0 :(得分:0)
查看你的php.ini并设置以下内容:
display_errors = On
error_reporting = E_ALL | E_STRICT
这应该会显示“真正的”潜在错误。
答案 1 :(得分:0)
您必须在工作文件夹后提供'/'才能访问它 错了:
chdir("/home/chintan/directory");
正确的:
chdir("/home/chintan/directory/");
您的代码:
<?php
chdir("/home/chintan/directory/");
$fp = fopen("abc.txt","w");
if($fp == false)
{
echo "Error while opening file";
}
fwrite($fp,"Hi........");
fclose($fp);
?>
P.S:
当php处于安全模式时,由于安全模式限制,它不允许将目录更改为不可访问的目录
该函数只是失败而不会产生任何类型的错误 消息。
答案 2 :(得分:-1)
我总是使用FALSE,而不是false。编写比较的较短方式是if (!$fp) {...}
。两者都有效。如果这是一个理论问题,那么,在一个理智的世界:)你的代码应该工作。我使用NetBeans的Code Insight来获取语法建议并标记错误的行。
作为单挑,您的代码需要围绕写入文件的代码的else子句。现在,即使fopen返回false,它也会写入文件。我的意思是假的。 :)