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] == "ж") {
<?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]; }
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>"; }