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";
    }
}
Esempio n. 3
0
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);