0

如果这是一个非常新手的问题,我深表歉意,但我正在学习 PHP,并且在编写 Web 服务时遇到了麻烦。

当我使用fopen($fullfilename, 'r')它时返回两个错误:

警告:fopen() [function.fopen]:不支持远程主机文件访问

警告:fopen(file://filepath) [function.fopen]:无法打开流:找不到合适的包装器

我使用的文件路径是本地计算机上文件的绝对路径。如果这有什么不同,我正在使用 Mac。任何帮助将不胜感激!

4

4 回答 4

0

您可以尝试 php 文件中的相对路径

fopen($fullfilename, 'r')

可以找到线路

例如:

/*
/usr/You/Documents/project/myproject/myfolder/myscript.php
/usr/You/Documents/project/myproject/mydata/datafile.txt
*/    

$fullfilename = "../mydata/datafile.txt";
$contents = fopen($fullfilename, 'r');

应该可以正常工作。

于 2013-09-23T18:30:37.937 回答
0

尝试:

$filename = realpath($fullfilename);
var_dump($filename);

它返回什么?如果它返回 bool(false),则路径/文件在此处不存在。

于 2015-03-31T23:22:25.750 回答
0

访问本地系统上的文件时,不需要http://file:///。您只需要文件的路径,就像您从机器本身访问一样。

你只需要这样做:

fopen('/path/to/file', 'r')
于 2013-09-23T18:33:42.927 回答
0
echo( "<pre>");
$fullfilename = "C:\Users\Documents\hey.txt";

$gg = fopen($fullfilename, 'r') or die("file doesnt exist");


// for entire read of doc use file_get_contents($fullfilename)
$readtext = fread($gg, 3000); //read 3000 chars of doc 

fclose($gg);

echo $readtext;
echo "</pre >"; 

希望有帮助,谢谢

于 2013-09-23T19:30:22.333 回答