通过PHP Web服务打开本地文件

时间:2013-09-23 18:26:01

标签: php web-services

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

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

  

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

     

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

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

4 个答案:

答案 0 :(得分: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');

应该可以正常工作。

答案 1 :(得分:0)

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

你只需要这样做:

fopen('/path/to/file', 'r')

答案 2 :(得分: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 >"; 

希望它有所帮助,谢谢

答案 3 :(得分:0)

尝试:

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

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