function HandleExportData1() { session_start(); if (!isset($_SESSION["request"])) { $_SESSION["request"] = $_REQUEST; include "templates/startPopup.html"; exit; } $_REQUEST = $_SESSION["request"]; unset($_SESSION["request"]); session_destroy(); require_once "RubricsData.php"; require_once "FileUtils.php"; require_once "StrUtils.php"; require_once "Spreadsheet/Excel/Writer.php"; print " "; clearOldFiles(); $rubrics = new RubricsData(); $expr = getExpr($rubrics); if (!PEAR::isError($expr)) { $res = $rubrics->getResults($expr); } if (PEAR::isError($expr) || PEAR::isError($res)) { exit; } if ($res->numRows() == 0) { exit; } $headers = array("№ рубрики", "Название рубрики", "№ рубрики (источник)", "Урл рубрики", "№ компании (источник)", "Урл компании", "Название", "Адрес", "Метро", "Телефон", "Факс", "Сайт", "E-mail url", "E-mail", "Статус", "Дата изменения", "Район", "Округ"); $tmpfname = tempnam("../tmpworksheets", "results") . ".xls"; chdir("../tmpworksheets"); $tmpfname = basename($tmpfname); // NOTE неработает если указывать относительный путь $workbook = new Spreadsheet_Excel_Writer($tmpfname); $row =& $res->fetchRow(DB_FETCHMODE_ASSOC); $worksheet =& $workbook->addWorksheet("список компаний"); $worksheet->setInputEncoding("windows-1251"); $format =& $workbook->addFormat(array("Bold" => true)); $rowNum = 0; writeRow($worksheet, $rowNum, $headers, $format); $rowNum++; writeRow($worksheet, $rowNum, getOrderedColumns($row)); $rowNum++; while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { writeRow($worksheet, $rowNum, getOrderedColumns($row)); $rowNum++; } $workbook->close(); chdir("../admin"); $tmpfname = "../tmpworksheets/{$tmpfname}"; if (file_exists(realpath($tmpfname))) { print $tmpfname; } }
function HandleExportData() { require_once "RubricsData.php"; require_once "FileUtils.php"; require_once "StrUtils.php"; require_once "Spreadsheet/Excel/Writer.php"; print " "; clearOldFiles(); $rubrics = new RubricsData(); $expr = getExpr($rubrics); if (!PEAR::isError($expr)) { $res = $rubrics->getResults($expr); } if (PEAR::isError($expr) || PEAR::isError($res)) { $_GLOBAL["msg"] = "Данных нет."; include "templates/noresultsPopup.html"; exit; } if ($res->numRows() > 0) { $headers = array("№ рубрики", "Название рубрики", "№ рубрики (источник)", "Урл рубрики", "№ компании (источник)", "Урл компании", "Название", "Адрес", "Метро", "Телефон", "Факс", "Сайт", "E-mail url", "E-mail", "Статус", "Дата изменения"); $tmpfname = tempnam("../tmpworksheets", "results") . ".xls"; chdir("../tmpworksheets"); $tmpfname = basename($tmpfname); /* $f = fopen($tmpfname, "w"); fwrite($f, ' <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <style> table { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9pt; } </style> </head> <table border=1 cellspacing=0 cellpadding=2>'); fwrite($f, "<tr><th>" . implode("</th><th>", $headers) . "</th></tr>\n"); while ($row = &$res->fetchRow(DB_FETCHMODE_ASSOC)) { fwrite($f, "<tr><td>" . implode("</td><td>", getOrderedColumns($row)) . "</td></tr>\n"); } fwrite($f, '</table></body></html>'); fclose($f); */ // fclose(fopen($tmpfname, "w")); // NOTE неработает если указывать относительный путь $workbook = new Spreadsheet_Excel_Writer($tmpfname); //$workbook = new Spreadsheet_Excel_Writer(); //$workbook->send("results.xls"); $row =& $res->fetchRow(DB_FETCHMODE_ASSOC); $worksheet =& $workbook->addWorksheet("список компаний"); $worksheet->setInputEncoding("windows-1251"); $format =& $workbook->addFormat(array("Bold" => true)); $rowNum = 0; writeRow($worksheet, $rowNum, $headers, $format); $rowNum++; writeRow($worksheet, $rowNum, getOrderedColumns($row)); $rowNum++; while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { writeRow($worksheet, $rowNum, getOrderedColumns($row)); $rowNum++; } $workbook->close(); chdir("../admin"); $tmpfname = "../tmpworksheets/{$tmpfname}"; if (!file_exists(realpath($tmpfname))) { $_GLOBAL["msg"] = "Ошибка при создании файла."; include "templates/noresultsPopup.html"; } else { $_GLOBAL["link"] = $tmpfname; include "templates/resultsPopup.html"; } } else { $_GLOBAL["msg"] = "Данных нет."; include "templates/noresultsPopup.html"; } }
if (!$mimeType) { stopAndResponseMessage('error', 'Тип файла не распознался!'); } $validMimeType = ['image/png', 'image/jpeg']; if (!in_array($mimeType, $validMimeType)) { stopAndResponseMessage('error', 'Загружать можно только png и jpeg!'); } $size = filesize($file['tmp_name']); if ($size > 2128 * 1024) { stopAndResponseMessage('error', 'Файл слишком большой!!'); } $uploadDir = __DIR__ . '/files'; if (!is_writable($uploadDir)) { stopAndResponseMessage('error', 'Папка для файлов не доступна для записи.'); } $filename = time() . '-' . mt_rand(00, 9999) . '.' . guessFileExtension($mimeType); if (!move_uploaded_file($file['tmp_name'], $uploadDir . '/' . $filename)) { stopAndResponseMessage('error', 'Файл не был перемецен!'); } sendResponse('upload', ['url' => 'files/' . $filename]); # # if used php-fpm # * send response (finish request) # * clear old images (created >= 5 minutes ago) # if (!function_exists('fastcgi_finish_request')) { exit; } fastcgi_finish_request(); clearOldFiles($uploadDir, '/*.{jpg,png,jpeg}', 5);