我試圖重命名目錄:重命名目錄 - 創建一個新的(空)上
rename("billeder/123", "billeder/abc");
此後不久我修改一個文件的目錄中的內容:
$s = file_get_contents("billeder/abc/fil.txt"); // note: using the new directory name (abc)!
$s = str_replace("123", "abc", $s);
file_put_contents("billeder/abc/fil.txt", $s);
結果很奇怪:文件內容被修改,OK!
- 但它仍然位於舊目錄(123
),並創建一個新的空目錄(abc
)?!?!
PS:
- 目錄is_writable()
- 我是一個Linux服務器(Ubuntu的,什麼都在漲,最新)
- 我一直在使用的完整路徑嘗試在rename()中 - 沒有區別。
- 我試過在名稱的末尾添加一個/沒有區別。
- 我已經嘗試修改文件,重命名目錄之前,仍然沒有區別。
讓人絕望..誰能弄清楚發生了什麼事?
這可能與處理文件時PHP的內部緩存有關。嘗試http://tw.php.net/manual/en/function.clearstatcache.php – Basti 2012-02-23 12:33:56