fopen()无法写入错误“HTTP包装器不支持可写连接”

时间:2012-03-22 08:35:32

标签: php

我有一个带网址的文件:http://localhost:8080/cache/a66b311547bf3da88f01139271d5bb50.txt 在php中我使用代码:

$file = "http://localhost:8080/cache/a66b311547bf3da88f01139271d5bb50.txt"
$output = serialize($data);
$fp = fopen($file, "w");
fputs($fp, $output);
fclose($fp);

运行代码时,是错误

  

警告:fopen(http:// localhost:8080 / cache / a66b311547bf3da88f01139271d5bb50.txt):无法打开流:HTTP包装器不支持可写连接......

如何解决?

5 个答案:

答案 0 :(得分:3)

您无法使用http编写,您必须使用本地文件系统来编写文件。

e.g。见http://php.about.com/od/advancedphp/ss/file_write_php.htm

答案 1 :(得分:1)

$file = $_SERVER['DOCUMENT_ROOT']."/cache/a66b311547bf3da88f01139271d5bb50.txt";
$output = serialize($data);
file_put_contents($file,$output);

答案 2 :(得分:0)

您不能在在线文件中写点东西。

你可以做的是下载文件,并写一些东西。

答案 3 :(得分:0)

fopen()允许使用HTTP GET方法通过HTTP 1.0对文件/资源​​进行只读访问 你不应该使用'w'模式

$fp = fopen($file, "w");

请改为'r'

$fp = fopen($file, "r");

答案 4 :(得分:0)

登录您的webmin,并将该文件夹写入权限,并在您的代码集中绝对路径,如下所示。

if($_SERVER['HTTP_HOST'] != 'localhost'){//for live server
   $file = fopen('/var/www/html/etijarat.pk/feed/file.csv', 'w');
}else{// for your local
    $file = fopen('./feed/file.csv', 'w');
}