2012-02-23 18 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の、すべてが最新である)
  • 私は完全なパスを使用して試してみました名前の変更() - 違いはありません。
  • 名前の最後に/を追加しようとしましたが、違いはありません。
  • 私はdirの名前を変更する前にファイルを最初に修正しようとしましたが、まだ違いはありません。

何が起こっているのか把握できますか?

+0

これは、ファイルを扱うときにPHPの内部キャッシングと関係がある可能性があります。試してみてください。http://tw.php.net/manual/en/function.clearstatcache.php – Basti

答えて

1

Shucks - 私のせい(もう一度) - 期待どおりに動作します。

原因:(再)zipファイルの内容を抽出した(あまりにも)..複雑です..
- 誤読abc/123 - 実際には16桁の数字です、そのは似ています:)
私はみんなビールです!

+0

私は気にします:)あなたがそれを修正した良いこと –

+1

私はあなたに最後の文章で笑った原因を私に与えた –

0

名前から「*」を削除してみます。

+0

これは私のものではありません.- Helgeが私の質問を明確にしようとしています。 – T4NK3R

+0

あなたのコードでは、実際にそれらの***を持っていないのですか? –

+0

いいえ:ちょうどbilleder/123とbilleder/abc – T4NK3R