dqz7636 2015-06-17 14:55
浏览 98

用fopen打不开任何东西

I was trying to set up some fopen function

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

For some reason there's still an error. I've done following steps to fix this:

  • checked php.ini and switched on allow_url_fopen, save_mode + restarted apache
  • added even chmod 777 (that's test passwd protected server, so done it temporarily)
  • was even try to fopen some existing file in the same location but still getting an error
  • error_reporting doesn't show anything (when removed die statement to test) but logs are showing: [error] [xxx] PHP Warning: fopen(): Invalid php:// URL specified in /var/www/xxx/xxx/all.php on line 24, referer: http://xxxxxxxxxx/xxxx/all.php [error] [xxx] PHP Warning: fopen(php://testdir): failed to open stream: operation failed in /var/www/xxx/xxx/all.php on line 24, referer: http://xxxxx/xxxx/all.php

'xxx' changed by myself here.

  • 写回答

1条回答 默认 最新

  • dongpian6319 2015-06-17 15:04
    关注

    That's not what php:// is for. It allows access to specialized streams such has stdin/stdout/etc, not regular file access.

    Don't bother using php:// - your fopen() call should just have the path to the file. Something like fopen('/path/to/testfile.txt')

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog