无法使用 PHP CLI 读取文件

发布于 2024-12-19 02:33:15 字数 126 浏览 0 评论 0原文

$file=file('DATA.txt');

我不断收到“无法打开流。...中没有这样的文件或目录”。当我在服务器和浏览器上运行它时,这是有效的。但是当我使用命令行运行脚本时出现错误。

$file=file('DATA.txt');

I keep getting "failed to open stream. No such file or directory in ...". This works when I run it on a server and browser. But the error occurs when I run the script using command line.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

唱一曲作罢 2024-12-26 02:33:15

首先深吸一口气,喝杯茶;)

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

文件通常放置在目录中。尽管这听起来很愚蠢,但实际上也很愚蠢:目录是什么?

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

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

$name = 'DATA.txt';
$dir = 'C:/';
$path = $dir.$name;
$file = file($path);

希望这有帮助。

First of all take a deep breath and a tea ;)

The news is: DATA.txt is only a file-name.

A file normally is placed in a directory. As stupid as this sounds, well, as stupid this is: What is the directory?

The answer: the current working directory. This differs between servers and CLI.

So better add your directory as well:

$name = 'DATA.txt';
$dir = 'C:/';
$path = $dir.$name;
$file = file($path);

Hope this is helpful.

活泼老夫 2024-12-26 02:33:15

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

  1. 由于您没有提供路径,因此该文件预计位于当前目录中,但服务器很可能以不同的用户身份运行(web ,例如),并期望此文件位于此用户主目录(或准确地说是当前目录)中。
  2. 权限,像往常一样。

The question definitely lacks some clarifications, but two guesses:

  1. Since you haven't provided a path, the file is expected to be located in the current dir, but server most likely runs as a different user (web, for example), and expects this file to be located in this user home dir (or current dir, to be precise).
  2. Permissions, as usual.
謌踐踏愛綪 2024-12-26 02:33:15

我发现这有效: $fname=str_replace(basename(__FILE__),'',__FILE__).'DATA3.txt';
我不能简单地使用“dirname”,因为我希望它在 Windows 和 Linux 中都能工作(\ 或 /)。

I found that this works: $fname=str_replace(basename(__FILE__),'',__FILE__).'DATA3.txt';
I couldn't simply use "dirname" because I wanted this to work in both Windows and Linux (\ or /).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文