2015-06-17 106 views
-1

我試圖建立一些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 +重啓apache的
  • 添加甚至搭配chmod 777(這是測試passwd中受保護的服務器,所以暫時做到了)
  • 甚至試圖打開一些現有的文件在同一位置,但仍然出現錯誤
  • error_reporting不顯示任何內容(當刪除die語句測試),但日誌顯示: [error] [xxx] PHP警告: fopen():無效的php://第24行/var/www/xxx/xxx/all.php中指定的URL,referer:http://xxxxxxxxxx/xxxx/all.php [錯誤] [XXX] PHP警告:的fopen(PHP:// TESTDIR):未能打開流:操作/var/www/xxx/xxx/all.php失敗的線24,引用者:http://xxxxx/xxxx/all.php

'xxx'由我自己在這裏改變。

回答

1

這不是php://的用途。它允許訪問專門的流,例如stdin/stdout/etc,而不是常規的文件訪問。

不要打擾使用php:// - 您的fopen()調用應該只是文件的路徑。類似於fopen('/path/to/testfile.txt')

+0

是的,你說得對:php://不能在這裏使用。 – Adam

相關問題