从PHP Web应用程序打开/读取本地文件

2022-08-17 00:00:00 php fopen

我觉得这应该是一个非常简单的过程。

我有以下代码:

<?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访问客户端计算机上的文件的唯一方式是应用程序上载该文件。

相关文章