PHP版本:5.4.16
我在Centos Linux机器上运行Apache服务器,我的PHP代码更改目录不起作用。我的最终目标是尝试读取位于不同目录但不会读取文件的文件。我的第一次尝试是
$filename=("/home/tom/notes/test_notes.txt");
$file = fopen( $filename, "r" );
这不起作用,所以我用这个问题的答案解决了这个问题:Reading a file in a different directory php
$filename=(__DIR__."/home/tom/notes/test_notes.txt");
$file = fopen( $filename, "r" );
但那也不会读取文件,然后我检查它是否可以读取同一目录中的文本文件并且工作正常,我决定将目录更改为文本文件所在的位置可以正常工作。
我使用此代码进行了此操作,但它不会更改目录:
echo getcwd();
chdir("/home/tom/notes");
echo getcwd();
它返回:
/var/www/html
/var/www/html
(没有换行符..)
该目录在shell中有效为cd / home / tom / notes,正常工作
知道什么是不允许它更改目录? 或者还有其他更好的方法来读取位于另一个目录中的文件吗?
(我使用此代码查看是否打开文件)
if( $file == false )
{
echo "ERROR: Unable to open file";
}
答案 0 :(得分:1)
我不确定您的chdir()
代码有什么问题必须有一些警告如果失败,请参阅文档here尝试调试代码如下所示,启用error reporting。
echo getcwd();
$response = chdir("/home/tom/notes");
var_dump($response);
echo getcwd();
要阅读该文件,请参阅下面的示例。 More Details
<?php
$myfile = fopen("/path/of/your/file", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>