-1

言語とライブラリ ID で分類する必要がある書籍が多数あります。

ファイル名は次のように構成され、多くのフォルダーに分散しています。

ENG_FILENAME_LIBRARYNAME1.pdf
ENG_FILENAME_LIBRARYNAME2.pdf
SPA_FILENAME_LIBRARYNAME1.pdf
SPA_FILENAME_LIBRARYNAME2.pdf

このようなフォルダに移動する必要があります

ENG
->LIBRARYNAME1
--ENG_FILENAME_LIBRARYNAME1.pdf
->LIBRARYNAME2
--ENG_FILENAME_LIBRARYNAME2.pdf

これが私のコードです:

foreach (glob("C:/wamp/www/projects/filemove/eth/*") as $folderpath) {
$foldername = preg_replace('/.*?\/(.*?)/', '$1', $folderpath);
    foreach (glob("C:/wamp/www/projects/filemove/eth/*/*") as $librarypath) {
    $libraryname = preg_replace('/.*?\/(.*?)/', '$1', $librarypath);

        foreach (glob("C:/wamp/www/projects/filemove/pdf/*.pdf") as $filepath) {
           $ethologue = preg_replace('/(.*?)_.*/', '$1', $filepath);
           $library = preg_replace('/.*?_.*?_.*?_(.*?)_.*/', '$1', $filepath);
           $filename = preg_replace('/.*?\/(.*?)/', '$1', $filepath);

           if ($ethologue = $foldername ) {
           if ($library = $libraryname) {
                copy($filepath, $librarypath);
                }
           }
        }
    }
}

前もって感謝します!

4

2 に答える 2

1

すぐにわかる唯一のことは、if ステートメントで割り当てを行っていることです。これは意図的なものですか?

if ($ethologue = $foldername ) {
   if ($library = $libraryname) {

これはおそらく代わりに比較する必要があります。

if ($ethologue == $foldername ) {
   if ($library == $libraryname) {
于 2013-05-08T20:27:27.137 に答える