chmod和fopen不工作

时间:2014-02-26 08:54:57

标签: php chmod

我正在尝试更改服务器上的文件权限,但我无法使其正常工作。我需要一些特定的文件,这些文件是.csv格式,需要在上传后读取。 Fopen无法打开文件,我认为这是许可的问题。默认值是640,我需要它在777.我得到的错误是:

chmod() [function.chmod]: No such file or directory
fopen(http://.../file.csv) [function.fopen]: failed to open stream: No such file or directory

上传文件并且fopen中的路径正常,所以这不是问题。问题在于许可。所以我试图通过php改变它:

$csv_file = $csvpath."import/".$typ."/".$id."/".$flname; // path to the csv file
chmod($csv_file, 0777); 

我尝试了相对和绝对的路径,仍然没有工作。安全模式已关闭。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您正在尝试使用fopen http://文件,因此会引发错误:failed to open stream.

您应该使用完整的服务器路径。

$csvFile = $csvpath."import/".$typ."/".$id."/".$flname;
$filePath = realpath($csvFile); // also checks if the file exists!
if (!$filePath || !is_file($filePath)) {
    die('file not found: ' . $csvFile);
} else {
    fopen($filePath);
}

答案 1 :(得分:0)

PHP设置中的“allow_url_fopen”标志是否相应设置?

- > PHP filesystem configuration

或者其他什么阻止PHP通过HTTP访问文件?

相关问题