我当前正在用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中没有这样的文件或目录
答案 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");