0

次のようなパスで満たされた配列があります。

library/main/single/list.php
library/article/grid/thumbs.php
library/footer/tiny.php

これらのファイルとフォルダーはhttp://localhost/test/にあります

http://localhost/new/というパスもあります

私がしたいこと

私がする必要があるのは、現在のファイル構造 (ディレクトリはそのまま) を維持しながら、ファイルを新しい場所に移動することです。

結果はこのようになるはずです

それを行う簡単な方法はありますか、それともすべての文字列をスラッシュでカットする必要がありますか?

4

1 に答える 1

1

あなたは試すことができます:

$from = './test/'; //replace with absolute path if better
$to = './new/';
$paths = array('library/main/single/list.php', 'library/article/grid/thumbs.php', 'library/footer/tiny.php');
$dirs = array();
foreach( $paths as $path ) {
    $pathinfo = pathinfo($to.$path);
    if (!in_array($pathinfo['dirname'], $dirs) && !file_exists($pathinfo['dirname']) && mkdir($pathinfo['dirname'], 0777, true))
        $dirs[] = $pathinfo['dirname'];
    copy($from.$path, $to.$path);
}
于 2011-05-15T13:03:47.123 に答える