【发布时间】:2021-01-27 21:04:06
【问题描述】:
我觉得这应该是一个非常简单的过程。
我有以下代码:
<?php
$filename = "c:/TestFolder/config.txt";
echo "Attempting to read: ".$filename."<br/>";
$fh = fopen($filename, 'r') or die("file doesnt exist");
$readtext = fread($fh, filesize($filename));
fclose($fh);
echo "The Text is: ".$readtext;
?>
我已检查我的 C:/ 驱动器上名为“TestFolder”的文件夹中确实有“config.txt”...但我不断收到文件不存在的错误消息。
我检查了我的 PHPInfo 以确保“allow_url_fopen”已打开。
我也尝试过不同的文件路径变体,例如:
C:\\TestFolder\\config.txt
C:\/TestFolder\/config.txt
这似乎没有什么不同。
知道是什么阻止我打开这个文件吗?
编辑: 应该注意的是,当我尝试访问本地计算机上的文件时,此文件已上传到我的网络主机。不确定这是否会改变一切。
【问题讨论】:
-
检查
open_basedir选项。 -
看起来我的 open_basedir 目前没有值。应该是?如果是这样 - 它应该是什么?
-
另外 - 如果您错过了编辑 - 我已将此文件上传到我的网络主机,同时尝试在我的本地计算机上打开文件。不确定这是否会有所不同。
-
“本地机器”是运行 PHP 的机器。那是网络主机。
-
确保它有所作为。如果您上传了一些文件并使用
php处理它,您需要先将move_uploaded_file(...)到某个位置然后打开它。