function export_zip($tables, $output_file) { $output_folder = sys_get_temp_dir() . "/openbiblio_export"; if (!file_exists($output_folder)) { mkdir($output_folder); } foreach ($tables as $table) { create_csv($table, $output_folder); } $output_file = sys_get_temp_dir() . "/" . $output_file; $files = scandir($output_folder); if (create_zip($files, $output_folder, $output_file, true)) { header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename={$output_file}"); header("Content-Transfer-Encoding: binary"); readfile($output_file); } else { print "Cannot export a zipped file."; } }
function get_data($table, $format, $mysql) { //получаем данные из выбранной таблицы $query = "SELECT * FROM {$table}"; $result = $mysql->query($query); $data = $result->fetch_all(MYSQL_ASSOC); //проверка формата для вызова соответствующей функции генерирования файла switch ($format) { case "CSV": create_csv($table, $data, $mysql); break; case "JSON": create_json($table, $data, $mysql); break; case "XML": create_xml($table, $data, $mysql); break; default: echo "<h3>Выберите нужный формат из списка!</h3>"; } }
// Проверка корректности таблицы if (in_array($table, $allow_tables)) { try { $stmt = $pdo->query("SELECT * FROM {$table}"); // Получаем имена столбцов $keys_stmt = $pdo->query("SHOW COLUMNS FROM {$table}"); } catch (PDOException $e) { die("Ошибка выполенения запроса: " . $e->getMessage()); } } else { die("Неверно указана таблица"); } $data = $stmt->fetchAll(PDO::FETCH_ASSOC); $keys = $keys_stmt->fetchAll(PDO::FETCH_ASSOC); unset($pdo); $keys_array = array(); foreach ($keys as $key) { $keys_array[] = $key['Field']; } switch ($format) { case 'csv': $filename = create_csv($data, $keys_array, $filepath); break; case 'json': $filename = create_json($data, $filepath); break; case 'xml': $filename = create_xml($data, $keys_array, $filepath, $table); break; } file_download($filepath);
function export_csv_report($data) { $filename = make_file_name(); $file = dirname(__FILE__) . '/csv-assessment-reports/' . $filename; $result = array(); if (!file_exists($file)) { $file = create_csv($data, $file); } else { //return 'No file created'; } return $file; }
<?php require_once "main.php"; //получаем список таблиц из БД для выпадающего меню $tables = get_tables($conn); if ($_POST) { $name = $_POST['tables']; $format = $_POST['formats']; $m_format = strtolower($format); if (in_array($name, $tables)) { switch ($format) { case "CSV": create_csv($name, $conn); break; case "JSON": create_json($name, $conn); break; case "XML": create_xml($name, $conn); break; default: echo "<h3>Выберите формат файла!</h3>"; break; } //проверяем существование файла $file = DIR . $m_format . "/" . $name . "." . $m_format; if (file_exists($file)) { download_file($file); } } else { echo "<h3>Выберите таблицу из списка!</h3>";