= 1024 && $i < 4; $i++) $size /= 1024; return round($size, 2).$units[$i]; } $configFile = 'dbImportConfig.php'; if (array_key_exists('config', $options)) { $configFile = $options['config']; } if (file_exists(__DIR__.'/'.$configFile)) { $config = include __DIR__.'/'.$configFile; } else { echo "No config."; exit; } $path = $config['dir']; $name = $options['name']; $excludeDb = array(); $dir = $path.'/'.$name; if ( ! is_dir($dir) ) { echo "Directory '$path/$name' not found!"; exit; } if (array_key_exists('decompress', $options)) { // --- Parcourir le répertoire pour la décompression $pattern = '/([^\s_]+)\.(.*)\.sql\.(gz|bzip2|xz|7z)\Z/'; if ( $dh = opendir($dir) ) { while ( ($file = readdir($dh)) !== false ) { if ( !is_file($dir.'/'.$file) && $file == '.' && $file == '..' ) { continue; } if ( preg_match($pattern, $file, $matches) ) { switch($matches[3]) { case 'gz': break; case '7z': break; case 'xz': break; default: break; } if (!empty($cmd)) { echo date('Y-m-d H:i:s')." - Décompression $file"; passthru($cmd); echo " - Done\n"; } } } closedir($dh); } } // --- Parcourir le répertoire pour l'import $pattern = '/([^\s_]+)\.(.*)\.sql\Z/'; $import = array(); if ( $dh = opendir($dir) ) { while ( ($file = readdir($dh)) !== false ) { if ( !is_file($dir.'/'.$file) && $file == '.' && $file == '..' ) { continue; } if (array_key_exists('db', $options)) { if (substr($file, 0, strlen($options['db'])) != $options['db']) { continue; } } if ( preg_match($pattern, $file, $matches) ) { if ( !in_array($matches[1], $excludeDb) && ( empty($database) || $matches[1]==$database ) ) { $import[$file] = array( 'database' => $matches[1], 'source' => $dir.'/'.$file, 'size' => format_bytes(filesize($dir.'/'.$file)), ); } } } closedir($dh); } // --- Import ksort($import); $nb = count($import); if ($nb>0) { $i = 0; foreach($import as $file => $info) { $i++; echo date('Y-m-d H:i:s').' : '.$i.'/'.$nb.' - '.$info['database'].' '.$file.' ('.$info['size'].')', "\n"; $cmdDB = "mysql -h ".$config['host']." -u".$config['user']." -p".$config['pass']." -e \"CREATE DATABASE IF NOT EXISTS ".$info['database']."\""; $output = shell_exec($cmdDB); $cmd = "mysql ".$config['options']." -h ".$config['host']." -u".$config['user']." -p".$config['pass']." ".$info['database']." < ".$info['source']; $output = shell_exec($cmd); if (!empty($output)) echo $output, "\n"; } }