История программирования: Шура-Бура.




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

42 Comments

  1. Ish_2

    Узнаем ,а потом поддержим отечественного производителя !

    Reply
  2. Шёпот теней

    .. с таким курсом валют МЫ поддерживаем только отечествА нАших Олигархов … вот …

    … у нас в городе ездило куча «газелек» теперь хундаи, форды и остальные не «наши» машины … вроде бы и «ни чего» … но только как-то грустно … кого «кормим» … ?

    … тот сАмый случай когда «нам по отдельности» — хорошо, а вот «всем вместе» — плохо …

    … ВОТдряньДЕЛО …

    Reply
  3. Арчибальд

    (1) Темное пятно в биографии Шуры-Буры — соучастие в клонировании IBM/360…

    (2) 🙁

    Reply
  4. Ish_2

    (3) Кстати , клонирование IBM/360 — диверсия против СССР или нет ?

    Люди разное говорят. Как дилетант я бы остерегся от категоричных суждений.

    Reply
  5. Арчибальд

    (4) Дейкстра считал это одной из важнейших побед Запада в холодной войне 🙁

    Reply
  6. Ish_2

    (5) Первый образец испытанной атомной бомбы был аналогом американской модели.

    Хм… Это можно трактовать как моральную победу США ?

    Reply
  7. Арчибальд

    (6) Победа была в опережении. Прежде, чем перегнать, надо было догнать. И пойти своим путем.

    Reply
  8. Шёпот теней

    http://www.osp.ru/text/print/302/4388326.html … вотЕСТЬмнение …

    … ситуация такая же как и с «газельками» … хотя и организовали группу по написанию линуксов для России … вот …

    п.с.

    … считается что господин ХрущЁв разрушил всю нашу ИТ-индустрию … нуууу, не видел ОН в ней ничего военного и достойного … ОН хотел догнЯть и перегОнять Америку — а ТУТ было всЁ наоборот …

    п.с.2.

    И все же вопреки подобному трагическому развитию событий огонек конструкторской мысли еще теплился. Хотел бы обратить внимание на факт, малоизвестный широкой отечественной аудитории: принцип многопроцессорности в архитектуре был реализован в СССР в 1966 г. в ЭВМ 5Э92б, которая создавалась под руководством академика В. С. Бурцева [8] и на основе которой развертывалась система противоракетной обороны Москвы. В 1969—1972 гг. Бурцев возглавлял проект по созданию модульной трехпроцессорной ЭВМ 5Э261—Э265, которая вошла в наши знаменитые противоракетные комплексы С-300, до сих пор стоящие на вооружении в ряде стран. В рамках упомянутой ЭВМ Бурцева в комплексе С-300 мы тогда имели 32-разрядную трехпроцессорную систему с полностью аппаратным контролем надежности, конвейерами, асинхронными шинами…

    … ВОТ …

    Reply
  9. Шёпот теней

    ужжж …

    http://fiz.1september.ru/2006/14/09.htm

    Жорес Иванович Алфёров родился 15 марта 1930 г. в г. Витебске в семье Ивана Карповича и Анны Владимировны Алфёровых, уроженцев Белоруссии. …

    !!! создание низкопороговых, работающих при комнатной температуре лазеров … переплюнов ВСЕХ … удешевиви технологию лазеров в миллионы раз …

    … ВОТ …

    Reply
  10. Шёпот теней

    Проф. Никлаус Вирт (ETH Zurich, Швейцария) писал [17]: «Cоблазн сложности как стимула для продаж легко объясним; сложность способствует поддержанию зависимости потребителя от поставщика». Вирт сформулировал простой закон: «зависимость клиента более доходна, чем его обучение».

    … вот вам и ответ на многие вопросы в том числе и 1С …

    … » …Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить». (Из речи при вручении премии Тьюринга; Нэшвилл, США, 27 октября 1980 г.)

    Одним из ведущих разработчиков «Эльбруса» был В. М. Пентковский, впоследствии ставший архитектором Intel Pentium III [9]. Преемником В. С. Бурцева в разработке «Эльбрус-3» стал Б. А. Бабаян (ныне — член-корреспондент РАН, Intel Fellow).

    .. без комментариев как говорится …

    … хоть и абстрактно: … В 1928 г. русский философ Иван Ильин написал пророческие слова [18]: «Всмотритесь же в пути и судьбы России, вдумайтесь в ее крушение и унижение! И вы увидите, что русскому народу есть только один исход и одно спасение — возвращение к качеству и его культуре. Ибо количественные пути исхожены, выстраданы и разоблачены, и количественные иллюзии на наших глазах изживаются до конца. » …

    … ВОТ …

    Reply
  11. tango

    (10) откажемся от количества добычи юралс, будем добывать немного, но по-дороже 🙂

    В последнее время в России предпринят ряд шагов для того, чтобы повысить качество нефти Urals путём исключения из неё высокосернистой татарстанской нефти

    http://ru.wikipedia.org/wiki/Urals

    Reply
  12. Шёпот теней

    (11) … ну -да… ну-да … телега впереди паровоза …

    … попытка — не столько отказаться от «татарстанской» нефти сколько в том, чтоБЫ: … нефть становится с каждым годом тяжелее из-за увиличивающихся в еЁ составе битумных фракций … такую нефть и добывать и прокачивать очень сложно …

    … разрабатываются технологии «подогрева нефтяных пластов паром» … считается что «просто нефти» осталось на 5-10 лет … потом только битумная …

    бой идЁт не за чистоту а за саму нефть — как источник «блага» …

    … ВОТ …

    п.с. Добыча нефти в Татарстане в течение 19 лет снизилась со 103,7 млн тонн до 23,8 млн тонн в 2009 году …

    Reply
  13. Ish_2

    Почти закономерность.

    Всё российское (советское), имеющее аналог за рубежом , рано или поздно хиреет.

    Остается только неимеющее аналогов: вооружение,космос, КВН.

    Reply
  14. Шёпот теней

    … производство в России аналогов — ВСЕГДА неВыгодно по определению см. Паршев «Почему Россия не Америка» …

    … поэтому Россия выпускает «свою» продукцию и/или должна быть «закрытой» (не «занавесом» а курсом доллара) …

    … вот …

    Reply
  15. cruse

    Скорее бы эта нефть уже кончилась, сколько разговоров про нее

    Reply
  16. tango

    имхо, отстой в компутерах родился таки из отношений. умельцы могли, конечно, наворовать микросхем и склепать в гараже на коленке ДВК. но что бы они стали с ним делать дальше? и сейчас — то же, вместо того, чтобы просто не мешать, кормят большого рыжего кота, а котятам поменьше ласково так: давйте слегка подрубим сук, с которого мы свесили хвостики.

    Reply
  17. Шёпот теней

    к теме УУ и СКД :

    Широкие слои населения проявляют интерес к достижениям науки. Ознакомление их с этими достижениями предполагает популяризацию, рассчитанную на непрофессиональный уровень людей, что само по себе означает искажение результатов науки, упрощение, схематизацию, привнесение в науку чужеродных образных пояснений и т. д. А главное — при этом приходится иметь дело уже с воспитанными в определенном духе массами людей. Чтобы завладеть их вниманием, просветители и популяризаторы науки превращаются в мошенников, придающих скучным самим по себе результатам науки необычный, яркий, сенсационный и даже мистический вид. От науки при этом остаются лишь имена и смутные намеки на их реальные результаты. Основная масса такой продукции оказывается чудовищным извращением научных истин, умело замаскированным под «подлинную» и «новаторскую» науку.

    Человек, который самыми безукоризненными научными методами покажет, что почти вся научно-популярная и художественная литература, сложившаяся на основе использования идей логики, математики, физики, психологии и других наук, есть шарлатанство, что научно-фантастические фильмы и романы суть явления антинаучные, такой человек не будет услышан даже в кругах профессионалов.

    Надежда на то, что идеология исчезнет и ее место займет наука, является по меньшей мере наивной.

    … ужжжВОТжужужу ..

    п.с.: Тут действует принцип: «Пусть знают все, не понимая ничего!»

    Reply
  18. tango

    ну ты прошептал 🙂

    Reply
  19. Шёпот теней

    (18) … эх … если бы «я» … это Зиновьев Александр «Запад» …

    … просто — куча параллелей …

    … вот …

    Reply
  20. tango

    а по-моему, нифига массы не проявляют. это «отцы-основатели» проявляют интерес к массам — бесплатно служили им два года чтоб

    Reply
  21. cruse

    (17) нет, как говаривал Ошо, ни универсального добра, ни универсального зла. Взять хоть фантастику, она вдохновила многих людей заниматься наукой, да даже просто техникой. Как говорил Иешуа «А истина прокуратор в том, что у тебя болит голова..» от жары кажеться :))) Если честно, мне кажется, дядька, который это писал, либо либо слишком серьезно ко всему относиться или банально хочет привлечь к себе внимание, вот и весь хрен до копейки.

    Reply
  22. Шёпот теней

    (20) … хм .. иногда важнее не то что «чего есть» а то что «чего нет» … вот …

    Reply
  23. Шёпот теней

    (21) … то что нет «универсального добра/зла» … хм … в как же тогда «совесть» ? … и как же быть с «конечностью зла» и «бесконечностью добра» ? …

    … думаетсяВОТмне …

    насчет серЬезности :

    … а вы когда нибудь «передавали свой опыт» … ?

    … и неужели никогда не шлёпали своих детей … ?

    … вот …

    Reply
  24. tango

    (21) поэтому я и ненавижу стругацких

    Reply
  25. tango

    (23) «совесть», как и «личность» — понятие христианской культуры, вне этой культуры не существующие. то, что некоторые современники все же употребляют эти слова, находясь вне этой культуры — всего лишь проявление глобализации

    Reply
  26. tango

    +(23) … вы уже перестали бить свою жену… ?

    Reply
  27. Ish_2

    (17) Отсебятина про «УУ и СКД» как обычно не к месту.

    А цитата превосходная. Заметь, Зиновьев обошелся без «огрызков» с многоточиями.

    Но, честно сказать, обличение популяризаторства как шарлатанства мне не очень интересно. Каждый из нас как-то зарабатывает на жизнь.

    Любопытнее рассмотреть искажения как необходимость при движении к истине.

    Другими словами , как нужно исказить истину , чтобы к ней приблизиться ?

    Еще любопытнее представить познание не как приближение к истине , а как процесс последовательных искажений без приближения.

    Reply
  28. Шёпот теней

    (23) … танго … ты это чего про «совесть» … совесть это вне культуры и вне цивилизации — она внутри «объекта» и именно она рефлексирует в «субъекте» …

    говоря словами З. Фрейдом и К. Юнгом. Место бессознательного в позиции и деятельности…

    нужно также оговорить и первоисточники: Свами Вивекананда, Йог Рамачарака, Бхагаван Шри Раджниш …

    Согласно древнему индийскому учению Веданте, у каждого человека есть индивидуальный дух (Атман), или его высшее «я», который следит за его духовным (эволюционным) продвижением и расширением его сущностного сознания. Конечной целью духа является такое расширение сознания, при котором человек полностью осознает свою высшую природу и отождествляется со своим высшим «я».

    … З. Фрейдом и К. Юнгом — практики … Фрейд исследовал общество как человека а Юнг человека как общество …

    … ужжж …

    п.с.

    Те, кто надел на глаза шоры, должны помнить, что в комплект входят еще узда и кнут.

    С. Е. Лец

    Reply
  29. tango

    фигню вторишь за фрейдом и этим, юнгом, да

    со-весть

    обнажение души перед обществом

    во вне-христианской культуре общество — это род, клан, тейп. во фрейдистских странах родилось общество по национально-государственному признаку

    а христианство предлагает модель публичного обнажения души на страшном суде

    Reply
  30. Шёпот теней

    ужжж: http://mnashe.h1.ru/astrolog/podvodn/tractat/psysub.htm

    Эволюцию мира в целом можно описать как постепенное превращение Хаоса (потенциального, непроявленного мира) в Космос (проявленный мир) путем информационно-энергетического воздействия, именуемого в библейской традиции творением.

    Момент, когда в сознание человека поступает первый сигнал о том, что внутри него не все в порядке, что там нет единства и постоянно происходит борьба между реально существующими высшим и низшим началами, является важнейшим в духовной жизни человека. Теперь он может (при желании) попытаться отследить эту борьбу и сознательно влиять на нее. Это, однако, непросто. И подсознание, и дух имеют веские причины для сокрытия от сознания своего существования и мотивов; порой они предпочитают промолчать, но не обнаружить себя. Тем не менее, их деятельность и взаимодействие не проходят бесследно, и человек по определенным косвенным признакам может научиться разбираться в том, что происходит внутри него. Сначала полной уверенности не будет, но потом многие сомнения отпадут.

    Основной целью духа является эволюционный рост человека и осознание им своей истинной сути. Таким образом, дух хочет явить себя сознанию; подсознание же по многим причинам этому препятствует; и главной из этих причин является то, что сознание не готово воспринять откровение явления духа. Это долгий и трудный процесс и подсознание является необходимым, хотя и не всегда адекватным, ограничителем его скорости.

    Человек является сознательным существом в том смысле, что его центр принятия решений во многих случаях находится под контролем сознания. Дух же и подсознание управляют человеком косвенно, с помощью импульсов, которые человек воспринимает как желания (осознанные или не совсем или неосознанные), или запреты (также осознанные или нет).

    …ВОТнеПРОСТОвот …

    п.с. попытка «упростить» часто приводит к СКД …

    Reply
  31. tango

    блин, шепот…

    Эволюция мира — это рост энтропии. От райского сада до всевыравнивающего огня.

    Наибольшая иллюзия современности — будто рост информационных потоков — это зримый прогресс. На самом деле — ты сам 17 привел мысль — это создание однородной в информационном смысле биомассы.

    Reply
  32. Шёпот теней

    (31) …танго … ты опять о «времени» … ? … ! …

    рекомендую Вивекананду — никто так просто не пишет о сложном …

    для «них» мир это сам «человек» и душа его как часть бога — так как не имеет времени — она вечная …

    … человек субъект и изучением его является познания себя как объекта … остальное это «фон», интерьер … а «жизни» его — мизансцены …

    … вот …

    Reply
  33. Арчибальд

    Господа, может оставим за пределами обсуждения теологию и космогонию?

    Reply
  34. Abadonna

    (33) Продолжат «баловаться» — гаси комменты 😉

    Reply
  35. Шёпот теней

    п.с.

    если человек — материя — тогда энтропия стремится к бесконенчости — тогда человек ограничивает область познания …

    если человек — божественен (душа) — тогда энтропия стремится к нулю …

    (33) не вижу болЬшой разницы, если честно … но как скажешь …

    п.с. а вот и «проявление» — «гасить» …

    Reply
  36. Арчибальд

    (35) Гасить не буду. Однако ж если неокрепший ум встретит их в прямом эфире… 😮

    Reply
  37. tango

    неокрепший ум пусть идёт любить родину два года

    Reply
  38. L_B

    Мама мия, «Небеса обетованные»… (неокрепший ум стек под стол).

    Похоже перегрелись. 😉

    Reply
  39. DoctorRoza

    Когда то в советские времена одна женщина стояла в ГУМе и покупала материю. Стояла она долго, около 10 часов. Купив её она уже собралась было идти на выход, как вдруг потеряла сознание и упала!

    ВЫВОД: Материя — первична .. Сознание — вторично!! 💡 😉

    Reply
  40. tango

    (39) ну здрасьте! что ее держало на ногах 10 часов? именно что сознание. купила-расслабилась-упала-отжалась

    Reply
  41. boln

    Не тот ли это окодемег, что зарубил отечественные направления развития вычислительной техники, переориентировав ее на «сдирание» устаревших моделей IBM?

    Reply
  42. Арчибальд

    (42) См. пост 3.

    Надо сказать, однако, что ученые решений не принимали. И ЕС ЭВМ, кроме прочего — это было вливание в экономику Болгарии, Венгрии, ГДР, т.е. не столько техническое, сколько политическое решение.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *