【问题标题】:How can I make same php file run from many directories in a quick way?如何快速从多个目录运行相同的 php 文件?
【发布时间】:2012-06-07 14:51:16
【问题描述】:

在我的books文件夹中,有近200个书夹,比如:

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

我想要的是我需要通过从 mysql 中获取有关文件夹的数据来在 200 文件夹中创建一些目录。我可以手动制作,但是一个一个制作效率很低。

我编码create_folder.php 并将其插入 book1 文件夹以查看结果:

$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 文件夹中,我通过数据库创建了目录。
之后,我创建了glob.php 文件,以便在所有 200 个目录中自动插入create_folder.php。(我将glob.php 放在主books 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 个文件夹中,有 create_folder.php. 问题是,我必须让 create_folder.php 在所有 200 个目录中运行才能创建子目录。有什么快速运行的方法吗?谢谢...

【问题讨论】:

    标签: php directory glob mkdir


    【解决方案1】:
    $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);
        }
    }
    

    在你的根目录中运行它。因此,如果您的站点位于 /home/user/site1、/home/user/site2,则从 /home/user 运行它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-13
      相关资源
      最近更新 更多