PHP fopen找不到现有文件

时间:2019-01-14 08:21:41

标签: php fopen

我当前正在用PHP编写一个登录系统,为此,我需要读取其中包含一些用户信息的文件。 但是在更改文件夹系统后,PHP fopen不再读取文件。

users.php和userinf.csv文件都位于samle文件夹中。

我已经准备好尝试更改文件路径,对文件路径进行硬编码,然后重新创建文件。所有的文件。

//Read file
$fp = fopen("userinf.csv", "r");
if(!$fp)
{
    echo "File couldn't be read";
    return false;
}

在更改文件系统之前,它可以正常工作。但是现在我得到了错误: 警告:fopen(userinf.csv):无法打开流:第45行的FILEPATH中没有这样的文件或目录

2 个答案:

答案 0 :(得分:1)

在没有任何引用的情况下使用fread函数时,它可能会失败。我总是说您需要先使用getcwd()

检查路径
<?php
echo getcwd(); //Current Working Directory
?>

答案 1 :(得分:0)

始终使用绝对路径。它消除了任何歧义。相对路径的使用可能会根据脚本的位置而有所不同,具体取决于系统。

$fp = fopen("/home/somewhere/blah/userinf.csv", "r");

您也可以始终为路径使用变量:

// Somewhere in your code
define('ROOT_PATH', "/home/somewhere/blah");

// In the implementation
$fp = fopen(ROOT_PATH . "/userinf.csv", "r");