从PHP Web应用程序打开/读取本地文件
我觉得这应该是一个非常简单的过程。
我有以下代码:
<?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:/驱动器上名为&TestFold&的文件夹中确实有";fig.txt";。但我一直收到该文件不存在的错误。
我检查了我的PHPInfo以确保";Allow_url_fopen";已打开。
我也尝试了不同的文件路径变体,例如:
C:\TestFolder\config.txt
C:/TestFolder/config.txt
这似乎没有什么不同。
您知道可能是什么原因阻止我打开此文件吗?
编辑: 应该注意的是,当我尝试访问本地计算机上的文件时,此文件被上载到我的Web主机。不确定这是否会改变一切。
解决方案
这不可能。本地文件是运行PHP的服务器上的文件,而不是运行Web浏览器的客户端上的文件。虽然在本地测试时它们可能是同一台计算机,但一旦您将脚本上载到Web主机,PHP就会尝试读取Web主机上的文件,而不是您的计算机上的文件。
PHP访问客户端计算机上的文件的唯一方式是应用程序上载该文件。
相关文章