2012-01-26 47 views
0

我想在php中打开文件。 但是,当我打开一个文件使用fopen()我得到了错误。 我的代码如下。在php中打开文件

<?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

是否文件中存在?尝试'w +'作为文件模式。 –

+1

你有*什么*错误? –

+0

回声“打开文件时出错”; – samn

回答

-1

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

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

+0

不,它不起作用。 – Chintan

+0

这不是真的这个问题的答案,是吗?你用什么样的布尔错误实际上是不相关的。 – Evert

+0

@Evert,我不是服务器管理员,所以我没有足够的关于设置PHP的配置选项,所以它不能正常工作。 ;)也许某些错误级别可能会设置为错误的情况下失败,因为文档和Code Insight都使用大写字母而没有其他字符。无论如何,userxx已经证实这不是问题。 –

0

退房你的php.ini,并设置如下:

display_errors = On 
error_reporting = E_ALL | E_STRICT 

这将显示“真实的”基本错误。

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); 

?> 

PS:

而在安全模式下的PHP,它不会允许目录更改为不可访问的目录由于安全模式限制

功能只是失败没有生成任何类型的错误 消息。

Reference