Исполнитель желаний — можно ВСЁ!!! Скачай и получи в подарок 1 доллар США




Принцип обмена данными из 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='\

69 Comments

  1. Tatitutu

    Кому уже надоело работать ?Пора зарабатывать ))) Налетай , пока бесплатно , т.е. даром !

    Reply
  2. Lara.Builova

    Спасибо за добрые слова и предпраздничное настроение! :{} ❗

    Reply
  3. Ish_2

    Как ты сам не допёр ?

    Юра , у тебя в запасе — небывалый ход .

    Платить всем — кто скачает . Хоть по рублю.

    Слабо !?

    Reply
  4. Tatitutu

    (3) «Афоня — ты рупь должен» (с)

    Да не вопрос и на «слабо» не лови

    ВСЕМ КТО СКАЧАЕТ ДАННУЮ ОБРАБОТКУ ДО 01.01.2011 года

    пришлю 1 доллар США

    Reply
  5. Ish_2

    (4) Слишком хорошо — тоже нехорошо. 1рупь — достаточно.

    Не знаешь ты нашего народа. Оторвался совсем…

    Reply
  6. Tatitutu

    (5) Давай найдем ЗОЛОТУЮ СЕРЕДИНУ ))) Пусть будет так

    Reply
  7. Ish_2

    Золотая середина — это 1.5 рубля за скачивание.

    Если по-честному : мне за идею — 10 коп. за каждое скачивание.

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

    (4) Ну вот, только хотел посмотреть — теперь буду ждать до января 🙁

    Reply
  9. Tatitutu

    (8) Почему ? Ждать ? До января ?

    Reply
  10. Tatitutu

    (7) На момент ТВОЕЙ идеи до МОЕГО воплащения было 20 скачиваний.

    ты уже «поднялся» на 40 копеек 😀

    Reply
  11. Ish_2

    (10) Постой , а 20 скачиваний ? ты мне простил что ли ?

    Не жульничай ! Я расчитывал на эти 2 рубля.

    Reply
  12. Tatitutu

    (11) Ты хочешь меня «по миру» пустить ? 2 рубля под Новый год ?

    Ладно , уговорил. С меня

    Reply
  13. Tatitutu

    (11) Как ты думаешь, а Доржи в долю тоже надо брать ?

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

    (9) Народ подумает, что я на доллар повелся 😉

    Reply
  15. Lara.Builova

    (14) Ах, народ 😉

    Reply
  16. Ellochka

    Ой, а я повелась… плохо да?

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

    (16) Людоедкам можно 😀

    Reply
  18. Tatitutu

    В связи с открывшимся интересом у народа — ПЕРЕЗАЛИЛ РЕЛИЗ в 10:36 28.12.2010

    (добавил реквизиты для оплаты Вашей скачки — то есть Вы просто скачиваете и получает 1 доллар США)

    Все просто, поддерживаем идею (с)Автор идеи Ish_2

    Впервый на Инфостарт!

    Reply
  19. Ellochka

    Так вначале было — пока бесплатно, думала продавать начнут скоро, а тут уже и денежку обещают, ну как вот тут не повестись, а вдруг? В Турции за доллар много чего можно прикупить, если не юге, конечно

    Reply
  20. Ellochka

    Ой, а я уже денежку получила! Спасибо автору, как и обещал!!!

    С Новым Годом ВСЕХ!

    Reply
  21. Ish_2

    (12) ,(13) Ты уже должен 2 р. 50 коп.

    Делиться с Доржи ?

    Пойми , Юра , настоящий мужчина должен быть жмотОм.

    Reply
  22. Ish_2

    Разорим Tatitutu !

    Холявщики всех мастей — Налетай !

    Reply
  23. СергейКа

    Странно

    пришлю 1 доллар США (по Вашему желанию)

    А если я не желаю?

    Может два отдельных архива — для желающих и нет? 😀

    Reply
  24. Ellochka

    На взгляд женщины это вовсе не так! Наоборот, женщины любят щедрых мужчин!

    Reply
  25. Ish_2

    (24) Вы слабо разбираетесь в настоящих мужчинах .

    Reply
  26. Ish_2

    Юра , уже 4 рубля ! Так держать !

    Reply
  27. Tatitutu

    (26) а от дедушки ушел, я от бабушки ушел и от тебя уйду

    КАЧАЮТ ВСЕ !!! (я ушел от налогов, кому 1 бакс нужен пишет в личку) 😀

    Reply
  28. Ellochka

    (25) А вы полагаете, что мужчины друг в друге лучше разбираются? ооооо!

    Reply
  29. Ish_2

    (27) «от тебя уйду» — Не горячись ! Пообещаю Доржи 50% — не уйдёшь !

    (28) Ась ?

    Reply
  30. Lara.Builova

    (29) Игорь спалился 😉

    Reply
  31. maljaev

    А если зарегиться 100 раз с разных ящиков и скачать — то 100$ заработать можно? 😀 Или еще и IP ресетить каждый раз придется? 😀 Я пока чисто теоретически спрашиваю, а так жена дома сидит, делать ей нечего — чего бы не заняться….

    Reply
  32. Tatitutu

    (31) Доступ для скачивания данной обработки совершенно бесплатно и без регистрации ))) Сделай жене подарок — она будет тебе благодарна

    Reply
  33. maljaev

    Некачественная разработка… разрешение скана низкое!!! 😀 Кроме того, в описании обработки отсутствуют рекомендации по бумаге, имитации водяных знаков, люминесцентных волосков и других элементов защиты. Незачод в общем. 😀

    Reply
  34. Tatitutu

    (33) елка искуственная,пиво безалкогольное,сигарета электронная,баба резиновая,Дом-2 … С таким настроением — Слона не продашь!

    С Новым Годом и тебя хороший человек )

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

    (34) … думается мне … стАвки надо ПОВЫШАТЬ … однАко … вОт …

    Reply
  36. Tatitutu

    (35) тсс…не спугни, пока по перло, здесь люди «бабло подымают»

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

    (36) … нууу … не знаююю … «бабло подымают» что-то не видно … ))) … всего-то 12 человек … да и то половина до «того как …» …

    … всЁ таки надо поднимать …

    … опять же чем не биржа … ))) … предлагаю организовать «купоны ТаТиТуТу» или «баксоганы Т» … номинал 1 купон — 1 бакс … купоны обмениваются всеми членами сообщества — а отовариваются при предЪявлении в «банке Т» …

    … вотИДЕЯвот …

    Reply
  38. cool.vlad4

    Теперь за то, чтобы скачали с ИС, авторы уже сами деньги предлагают…неплохо…а за комменты тоже ведь неплохо платить…

    ЗЫ налог на добавленную закачку — я его придумал, мне и платите…Вычисляется он следующим образом 1-1/(1+1/(1+…)

    Reply
  39. Tatitutu

    (38) елка искуственная,пиво безалкогольное,сигарета электронная,баба резиновая,Дом-2 … С таким настроением — Слона не продашь!

    С Новым Годом и тебя хороший человек )

    Сходи по ссылке, может сможешь улыбнуться ))

    Reply
  40. cool.vlad4

    (39) а чего это ты так обиделся…Насчет того, что деньги платят — это же не шутка — ты сам предложил (1 доллар) — так, что это правда. Вещь может быть стоящая, спорить не буду. Как раз таки повторение одного и того же баяна

    елка искуственная,пиво безалкогольное,сигарета электронная,баба резиновая,Дом-2 … С таким настроением — Слона не продашь!

    не есть хорошее чувство юмора ЗЫ Извини, если обидел

    Reply
  41. cool.vlad4

    Может налог показался большим))) не обращай внимания…у каждого свои заморочки, просто настроения (праздничного особенно) нет, вот и пытаюсь как-то повеселится…

    Reply
  42. Tatitutu

    (40) ААААААААААААААААААААА!!!! что говорят то, люди добрые !

    Я! нет Я ???? обиделся ?

    нельсти себе 😀 😀 😀

    еще не родился, тот человек на Земле, который бы Tatitutu смог обидеть.

    Reply
  43. Tatitutu

    (41) Брат, скажи номер счета, я в натуре тебе сейчас пришлю на пузырь,вот зацепило и по человечески жаль 😥 …

    Reply
  44. Lara.Builova

    (41) (участливо) Корпоратив не удалсЯ?

    Reply
  45. cool.vlad4

    Быть вежливым еще никогда никого хуже не делало…

    А вот быть высокомерным?

    (40) ААААААААААААААААААААА!!!! что говорят то, люди добрые !

    Я! нет Я ???? обиделся ?

    нельсти себе

    еще не родился, тот человек на Земле, который бы Tatitutu смог обидеть
    (41) Брат, скажи номер счета, я в натуре тебе сейчас пришлю на пузырь,вот зацепило и по человечески жаль …
    Reply
  46. cool.vlad4

    (44) Вы, что издеваетесь? (я оставил безобидный комментарий, и тут начались непонятные издевки и стеб — у меня личные проблемы — если вам интересно — у отца инсульт, а у дяди по новой химия — опять обнаружилась опухоль, ну что теперь можно еще постебатся? я же ни над кем не стебался, просто заметил, что автор деньги предлагает за скачку и это забавно)

    Reply
  47. Tatitutu

    (46)Извини (ничего личного). Пусть у тебя и твоих близких будет все хорошо.

    только щепни мне, что значит твой пост под № (45)

    Я на ПОЛНОМ СЕРЬЕЗЕ хочу перечислить тебе честно заработанные тобой деньги (за идею и комментарии),

    но не знаю счета (у тебя в личке пусто)

    Reply
  48. cool.vlad4

    (47) Спасибо(я тоже на это надеюсь).Всех с Наступающим!!!

    Reply
  49. Lara.Builova

    (46) Лучиков выздоровления твоему отцу и дяде! А тебе к ним, подбадривать и веселить, их состояние улучшить!

    Reply
  50. Tatitutu

    А до НОВОГО ГОДА осталось 3 дня !

    Reply
  51. venger

    (50) Не поверю, что ты был трезв сегодня;-)

    Reply
  52. Tatitutu

    (51) Капитан коробля делает ежедневный обход

    и видит запись в бортовом журнале «Капитан сегодня был пьян» ❗

    он вызывает боцмана, тот совсем молоденький и давай ему вставлять:

    — в бортовом журнале, пишут только НЕОРДИНАРНЫЕ СОБЫТИЯ, ты меня понимаешь ?

    — все понял, извинете исправлюсь..

    прошло три дня. Капитан снова с обходом, открывает журнал и видит

    «Капитан сегодня был ТРЕЗВ»

    чем вызвано недоверие ?

    Reply
  53. Ish_2

    (52) Скажи , Соколиный Глаз , сколько мне набежало сверх 4 рублей ?

    Reply
  54. Tatitutu

    (53) Приношу свои искренние извинения, я был не прав.

    Готов снова взять тебя в долю.

    Вчера сделал обработку доступной для скачки всем и тишина…

    Сегодня посмотрел статистику 😀

    (ну скрытый контроль на открытие программы 😀 — все гениально просто !

    точно могу сказать за сутки эту обработку запускали 567 раз

    (но у некоторых нет Интернета, кто то запускал по несколько раз)

    округлим до 600 * на 10 копеек то выходит ты в доле еще на 60 рублей.

    Обработка теперь только для ЗАРЕГИСТРИРОВАННЫХ пользователей ИСА

    Reply
  55. Ish_2

    (54) Кхе..кхе.. Видишь ли , цена 10 коп. была назначена вчера…

    10 коп. — это просто смешно !

    Для серьезного мужчины — 12 коп. — самое то.

    Reply
  56. Tatitutu

    (55) 11,50

    Reply
  57. Ish_2

    (56) 11,75 !

    Reply
  58. Tatitutu

    (57) с НДС ?

    Reply
  59. Ish_2

    (58) с ЕСН ?

    Reply
  60. Ish_2

    (58) 11,80 с НДС. Ок ?

    Reply
  61. Tatitutu

    (60) да шо мы из- за каких то копеек ?

    11,70 и по рукам 😉

    Reply
  62. Ish_2

    (61) 11,80. Точка.

    Reply
  63. Tatitutu

    (63) ну тогда выплата после 15 числа следующего месяца

    Reply
  64. Tatitutu

    (62) что то масть пошла не дуром, тебе куда бабло слить — не хочу быть в должниках )))

    Reply
  65. Tatitutu

    (65) За сегодня !!! Обработку открыли (запустили) уже 1896 раз !

    я вижу это по статистике. еще немного и будет 2010 ! Ура !

    P/S Модераторы, СуперМодераторы,support — не злитесь на меня, я не специально

    просто Новогодний подарок ! С Новым Годом и до Нового Года !

    если я появлюсь раньше 11.01.11 баньте меня — я уже весь в празднике 😀 😀 😀

    Reply
  66. Ish_2

    (64) Ишь ты прыткий какой ! После 15 — как договорились.

    Reply
  67. vawd

    Купился на развод …… 🙁

    Reply
  68. maxchaos

    Плюс за позитив и чувство юмора!

    Reply
  69. Andzhej

    ээээ, а для 8.2 есть такая? 🙂

    Reply

Leave a Comment

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