用fopen打不开任何东西

时间:2015-06-17 14:55:18

标签: php apache fopen

我试图设置一些fopen函数

$path = 'php://testdir';
$h = fopen($path, "rw+") or die("Error");
fwrite($h, "test");
fseek($h, 0);
echo stream_get_contents($h);

由于某种原因,仍然存在错误。我已经完成了以下步骤来解决这个问题:

  • 检查了php.ini并打开了allow_url_fopen,save_mode + restarted apache
  • 添加了甚至chmod 777(这是测试passwd保护的服务器,所以暂时完成)
  • 甚至尝试在同一位置打开一些现有文件,但仍然出现错误
  • error_reporting没有显示任何内容(当删除die语句以进行测试时)但是日志显示: [错误] [xxx] PHP警告:fopen():第24行/var/www/xxx/xxx/all.php中指定的php:// URL无效,引用:http://xxxxxxxxxx/xxxx/all.php [错误] [xxx] PHP警告:fopen(php:// testdir):无法打开流:第24行/var/www/xxx/xxx/all.php中的操作失败,引用:http://xxxxx/xxxx/all.php < / LI>

'xxx'在我这里改变了。

1 个答案:

答案 0 :(得分:1)

那不是php://的用途。它允许访问专门的流,例如stdin / stdout / etc,而不是常规文件访问。

不要使用php:// - 您的fopen()电话应该只有文件的路径。像fopen('/path/to/testfile.txt')

这样的东西