0

私のブックフォルダーには、次のようなブックフォルダーが 200 近くあります。

--books (folder)  
  |--book1(folder)
  |--book2(folder)
  |--(this continues until 200)  

私が欲しいのは、フォルダーに関するmysqlからデータを取得して、200フォルダー内にいくつかのディレクトリを作成する必要があることです。手作業で作ることはできますが、一つ一つ作るのはとても非効率です。

book1 フォルダーをコーディングcreate_folder.phpして挿入し、結果がどのようになるかを確認しました。

$current_folder = basename(dirname(__FILE__));

// I choose which directories are inserted.
$sql = "SELECT directory FROM ..............WHERE folder = {$current_folder} ";

$result = mysql_query($sql);

while ($row = mysql_fetch_array($result)) {
  mkdir($row['directory']);
}  

そのため、book1 フォルダーに、データベース経由でディレクトリを作成しました。
その後、200個のディレクトリすべてに自動的glob.phpに挿入するためにファイルを作成しました(私は mainに入れました。ここに: create_folder.phpglob.phpbooks folder

$content = file_get_contents("create_folder.php");

$files = glob( './*' );
foreach( $files as $file ) {
if( is_dir( $file ) && is_writable( $file ) ) {
    file_put_contents( $file . '/create_folder.php', $content );
    }
}

現在、200 個のフォルダー内に、サブディレクトリを作成するために 200 個のディレクトリすべてで実行するcreate_folder.php.必要があるという問題があります。create_folder.phpそれを実行する簡単な方法はありますか?ありがとう...

4

1 に答える 1

2
$files = glob( './*' );
foreach( $files as $file ) {
if( is_dir( $file ) && is_writable( $file ) ) {
$output = exec('php -l '.$file.'/create_folder.php',$function_output,$return);
print $output."\n";
print $return."\n";
var_dump($function_output);
    }
}

これをルート ディレクトリで実行します。SO サイトが /home/user/site1、/home/user/site2 にある場合は、/home/user から実行します。

于 2012-06-02T21:24:28.463 に答える