2011-10-18 44 views
1

我正在学习php中的文件处理。我写了下面的代码来创建文件:在php中创建文件失败

<?php 
    $fileName = "testFile.txt"; 
    $fileHandle = fopen($fileName,"w") or die ("can't open file"); 
    fclose($fileHandle); 
    phpinfo(); 
?> 

问题是我得到“无法打开文件”。我将包含此文件的目录权限和目录中的所有文件都更改为777,但问题依然存在。 有人可以帮我解决这个问题吗? 感谢

+0

你的代码是好的。检查php.ini中没有禁用fopen – galchen

+0

@galchen php.ini已经有了allow_url_fopen =默认情况下,我猜,在php.in中是否有其他地方需要启用? –

+0

检查disable_functions = ...是否设置为fopen(我怀疑它会在那里)。你是否尝试打开一个只读文件并获取数据? – galchen

回答

1

你尝试使用绝对路径$文件名

$fileName = "/path/to/file/testFile.txt"; 

,或者你可以打开文件

chdir('/path/to/file'); 

http://nz.php.net/manual/en/function.chdir.php

修正答案之前更改目录,TRY这个

<?php 
    $path = "/path/to/file"; 
    $fileName = "testFile.txt"; 

    if (! file_exists($path)) { 
     die ("$path doesn't exist"); 
    } 

    $fileHandle = fopen("$path/$fileName","w") or die ("can't open file"); 

    fclose($fileHandle); 
    phpinfo(); 
+0

我试过这个,但仍然得到错误 –

+0

@Shankhoneer查看修正的答案 – bumperbox

+0

感谢您的帮助 –

1

是php脚本和文件在同一个文件夹中? 如果不是你需要指定相对路径TESTFILE.TXT

+0

aha保险杠比我快:D – NineAllexis

+0

我正在尝试创建该文件,所以我猜应该在与脚本相同的文件夹中创建文件 –

+0

如何忽略模具零件: $ fileHandle = fopen($ fileName,“w”); 看看它出现了什么错误? 我会说这是权限问题 – NineAllexis

0

尝试:

$fileHandle = fopen(dirname(__FILE__) . '/' . $fileName , 'w') ....