我的问题非常简单,我想我在路径的某个地方滥用了斜杠。
我想读取本地文件,该文件的路径存储在由phpMyAdmin管理的数据库中。我用来读取文件的代码如下:
<?php
$f = fopen($row['Article'], "r");
while(!feof($f)){
echo fgets($f) . "<br/>";
}
fclose($f);
?>
我最初存储在数据库中的路径是:C:\wamp\www\project\database\article\article1.txt
它运作得很好。问题在于,我正在使用WAMP服务器,这意味着我不必存储文件的绝对路径,因此我将路径存储到我的数据库中:
\project\database\article\article1.txt
但它根本不起作用!它显示的错误是“fopen无法打开流”。
此错误表示php代码无法读取我在DB中存储的路径。所以我尝试了几种方法,例如:
\localhost\project\database\article\article1.txt
/project/database/article/article1.txt
/localhost/project/database/article/article1.txt
但它们都不起作用。显示相同的错误!
有人可以给我一些提示吗?谢谢!!
答案 0 :(得分:1)
你的php文件在哪里?你可以追加
echo dir(__FILE__)
进入你的php块。我认为错误的初始路径(cwd)存在问题。
答案 1 :(得分:0)
解决此问题的方法是查看尝试从
中读取的日志&#34; fopen无法打开流&#34; 文件名
读取文件名并更改代码以转到您想要的文件。
希望它有所帮助!
快乐编码!!!
答案 2 :(得分:0)
文件打开流打开相对于当前工作目录的文件,因此存储相对于正在执行的PHP文件的文件位置。在任何其他情况下,您始终可以通过预先指向您/文件的路径来更改它。 例如,如果我的文件在/ var中 我的脚本在/var/www/index.php上运行 我可以简单地在这种情况下前置&#34; ../"从/ var
读取文件