Пример #1
0
include "includes.php";
include "html/head.php";
include "html/menu.php";
##Разбор CSV
if (isset($_POST['upload_csv_button'])) {
    if ($_FILES['upload_csv']['error'] != "0") {
        print "Ошибка. Попробуй еще.";
        exit;
        #Добавить проверку расширения в имени файла
    } elseif ($_FILES['upload_csv']['type'] != 'application/vnd.ms-excel') {
        print "Загружать можно только файлы формата .csv";
        exit;
    }
    $csv_const = new CSV($_FILES['upload_csv']['tmp_name']);
    $csv = $csv_const->getCSV();
    $col_name_key = array_search($_POST['col_name'], $csv['0']);
    $col_dept_key = array_search($_POST['col_dept'], $csv['0']);
    $col_size_key = array_search($_POST['col_size'], $csv['0']);
    $col_pol_key = array_search($_POST['col_pol'], $csv['0']);
    if ($col_name_key == FALSE or $col_pol_key == FALSE or $col_size_key == FALSE or $col_dept_key == FALSE) {
        print "Не найден как минимум один столбец в загруженном файле";
        exit;
    }
    $added = array();
    foreach ($csv as $key => $value) {
        if ($key != 0) {
            if ($value[$col_pol_key] == "М" or $value[$col_pol_key] == "м") {
                $value[$col_pol_key] = "m";
            }
            if ($value[$col_pol_key] == "Ж" or $value[$col_pol_key] == "ж") {
Пример #2
0
<?php

class CSV
{
    //private $_csv_file = null;
    public $_csv_file = null;
    public function __construct($csv_file)
    {
        if (file_exists($csv_file)) {
            $this->_csv_file = $csv_file;
        } else {
            throw new Exception("Файл \"{$csv_file}\" не найден");
        }
    }
    public function getCSV()
    {
        $handle = fopen($this->_csv_file, "r");
        $array_line_full = array();
        while (($line = fgetcsv($handle, 0, ";")) !== FALSE) {
            $array_line_full[] = $line;
        }
        fclose($handle);
        return $array_line_full;
    }
}
///
$csv = new CSV("file.csv");
$get_csv = $csv->getCSV();
foreach ($get_csv as $value) {
    echo $value[5];
}
Пример #3
0
function import_FLOWERS()
{
    global $modx;
    $today = date("Y-m-d_H_i_s");
    echo "-------------------------------------------------------------------";
    echo "*******************************************************************";
    echo $today;
    echo "*******************************************************************";
    include "csv.php";
    //var_dump($_FILES);
    //var_dump($_POST);
    $uploaddir = $_SERVER['DOCUMENT_ROOT'] . '/imports/';
    $uploadfile = $uploaddir . basename($_FILES['importFile']['name']);
    echo '<pre>';
    if (move_uploaded_file($_FILES['importFile']['tmp_name'], $uploadfile)) {
        echo "Файл корректен и был успешно загружен.\n";
        $bk_file = $uploaddir . "history/" . $today . "_" . $_SERVER['REMOTE_ADDR'] . "_" . basename($_FILES['importFile']['name']);
        echo $bk_file . "<br>";
        copy($uploadfile, $bk_file);
        echo exec("gzip " . $bk_file) . "<br>";
        try {
            //   $csv = new CSV($uploadfile); //Открываем наш csv
            $csv = new CSV($uploadfile);
            //Открываем наш csv
            /**
             * Чтение из CSV  (и вывод на экран)
             */
            $get_csv = $csv->getCSV();
            //много однотипных запросов база блокирует
            $cat = '';
            //имя категории
            /* $modx->query("TRUNCATE TABLE s_category ;");
            
                        $modx->query("TRUNCATE TABLE s_orders_labels;");
                        $modx->query("TRUNCATE TABLE s_product_count;");
                        $modx->query("TRUNCATE TABLE tem1;");
                        $modx->query("TRUNCATE TABLE s_options;");
                        $modx->query("TRUNCATE TABLE s_category_features;");
                        $modx->query("TRUNCATE TABLE s_features;");
                        $modx->query("TRUNCATE TABLE s_products;");
                        $modx->query("TRUNCATE TABLE s_products_category;");*/
            foreach ($get_csv as $value) {
                //Проходим по строкам
            }
        } catch (Exception $e) {
            //Если csv файл не существует, выводим сообщение
            echo "Ошибка: " . $e->getMessage();
        }
    } else {
        echo "Возможная атака с помощью файловой загрузки!\n";
    }
    echo "<h3>Кол-во загруженных товаров: " . $count . "</h3>";
    echo 'Некоторая отладочная информация:';
    // print_r($_FILES);
    echo "</pre>";
}