在php中打开文件

时间:2012-01-26 10:12:16

标签: php

我想在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 +,但它给出了相同的结果

3 个答案:

答案 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处于安全模式时,由于安全模式限制,它不允许将目录更改为不可访问的目录

  

该函数只是失败而不会产生任何类型的错误   消息。

Reference

答案 2 :(得分:-1)

我总是使用FALSE,而不是false。编写比较的较短方式是if (!$fp) {...}。两者都有效。如果这是一个理论问题,那么,在一个理智的世界:)你的代码应该工作。我使用NetBeans的Code Insight来获取语法建议并标记错误的行。

作为单挑,您的代码需要围绕写入文件的代码的else子句。现在,即使fopen返回false,它也会写入文件。我的意思是假的。 :)