Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用PHP CLI读取文件_Php - Fatal编程技术网

无法使用PHP CLI读取文件

无法使用PHP CLI读取文件,php,Php,我总是无法打开流。在…中没有这样的文件或目录。。。。当我在服务器和浏览器上运行它时,它就会工作。但是错误发生在我使用命令行运行脚本时。这个问题肯定缺少一些澄清,但有两种猜测: 由于您尚未提供路径,因此该文件应位于当前目录中,但服务器很可能作为不同的用户web运行,确切地说,该文件应位于该用户主目录或当前目录中。 权限,像往常一样。 首先,深呼吸,喝杯茶 消息是:DATA.txt只是一个文件名 文件通常放在目录中。这听起来很愚蠢,但这很愚蠢:目录是什么 答案:当前工作目录。这在服务器和CLI之间有

我总是无法打开流。在…中没有这样的文件或目录。。。。当我在服务器和浏览器上运行它时,它就会工作。但是错误发生在我使用命令行运行脚本时。

这个问题肯定缺少一些澄清,但有两种猜测:

由于您尚未提供路径,因此该文件应位于当前目录中,但服务器很可能作为不同的用户web运行,确切地说,该文件应位于该用户主目录或当前目录中。 权限,像往常一样。
首先,深呼吸,喝杯茶

消息是:DATA.txt只是一个文件名

文件通常放在目录中。这听起来很愚蠢,但这很愚蠢:目录是什么

答案:当前工作目录。这在服务器和CLI之间有所不同

因此,最好也添加您的目录:

$file=file('DATA.txt');
希望这会有帮助。

我发现这是有效的:$fname=str\u replacebasename\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
我不能简单地使用dirname,因为我希望它在Windows和Linux中都能工作\or/

您刚刚剪切了错误消息的重要部分。您运行PHP CLI的用户是否具有读取该文件的权限?@Carl Zulauf:如果没有,很可能会给他一条权限被拒绝的消息。
$name = 'DATA.txt';
$dir = 'C:/';
$path = $dir.$name;
$file = file($path);