2012-02-23 56 views
2

我試圖重命名目錄:重命名目錄 - 創建一個新的(空)上

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()中 - 沒有區別。
  • 我試過在名稱的末尾添加一個/沒有區別。
  • 我已經嘗試修改文件,重命名目錄之前,仍然沒有區別。

讓人絕望..誰能弄清楚發生了什麼事?

+0

這可能與處理文件時PHP的內部緩存有關。嘗試http://tw.php.net/manual/en/function.clearstatcache.php – Basti 2012-02-23 12:33:56

回答

1

Shucks - 我的錯(再次) - 它按預期工作。

原因(如是否有人問津):(重新)提取的zip文件(太多)的內容。它很複雜..
- 和誤讀ABC/123 - 它們實際上是16位號碼,那看起來像:)
我欠大家一杯啤酒!

+0

我關心:)你修好它的好東西 – 2012-02-23 13:30:59

+1

我給你一個加1因爲我笑你最後一句話,不是因爲這幫助我:) – 2013-09-02 15:20:31

0

嘗試從名稱中刪除「*」。

+0

那些不是我的 - 直到Helge Helwig正試圖澄清我的問題,我認爲..? – T4NK3R 2012-02-23 12:44:12

+0

所以在你的代碼中你實際上並沒有那些***? – 2012-02-23 12:52:12

+0

不是:只是雙方/ 123和雙方/美國廣播公司 – T4NK3R 2012-02-23 13:21:47