<?php // Полная загрузка сервисных книжек, создан 2025-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='\
Вся интрига заключается в том, кто быстрее наберет 12.
Совсем уж простенько… 😐
(1) ну не интригант, ты …. 😀
(1) не интриганка 🙂
(1) Вернее, 1 😉
(2) Выиграл, что ли….? Поздравляю !
первый вариант был с выбором от 1 до 9 (интереснее было)
Ну было у меня сегодня 20 минут пятничного свободного времени.
(решил домашнее задание ребенку) а (1) сразу карты на стол (хотя и не до конца правильно сказал)
(5) без слов
» …эх…программа и та не мухлюет, если ей первый ход достается»
во всем должна быть интрига и загадка. Когда знаешь ответ — краски меркнут.
Так автор на скриншоте сам показал изображение с цифрой 12. Или это случайность?
(8) сказка ложь, да в ней намек» (с)
и да и нет — 12 начало ДОЛГОГО пути.
(8) Все ясно. Вы в нее и не играли.
P.S. И потом у компьютера именно такая логика как я поняла — он догоняет до цифры — 12, 23, 34, 45, 56, 67, 78, 89. Это очень бросается в глаза.
тактика выигрыша:
Первый ход — «1»
А потом только «10» 😀
(10) да если играть с человеком
Арчибальд
главное в этой игре начать и сказать 1 (один) как правильно заметил уважаемый
именно так Вам удасться дойти до 89 контрольное число
(т.к. какое бы число от 1 до 10 не назвал противник — у Вас будет последний ход)
(Вы правильно указали 12, 23, 34, 45, 56, 67, 78, 89 — прибавка на 11)
(0) 😀
(12) Это не тактика а «логика» — программы, если бы вместо компа — был реальный человек, то тактика заключалась бы в (1).
(12) Да совершенно верно, но только я немного запретил программе «мухлевать» и если начинает первым играть компьютер — то все равно у Вас есть шанс выиграть (обогдать его)
Никакого интереса нет. Даже не глядя в код за 1-2 минуты рассчитал правильный алгоритм выигорыша
(15) А мы разве игру оцениваем, и не программу?
Кстати, хорошо что напомнили, что надо оценить ее
(18) Да ладно, на минус не тянет;-)
(19) Если бы не было потрачено 20 минут (хм… почему-то вспомнился Тот-Кого-Уже-С-Нами-Нет), а хотя бы полчаса…
Например, что бы хистори розыгрыша вывести в окно сообщений, я бы не ставил.
(19) тянет, тянет !!!
это
это мне мсьтя за
не нашел, что ответить, а МЫ минусом ответит, да
и это еще раз подтверждает мои догадки.
Еще один тебе совет — не путай никогда ЛИЧНОЕ и РАБОТУ
(к чему ….в июне этого года — ты ПЕРВЫМ пригласил меня к себе в ДРУЗЬЯ
на всех моих обработках стоял твой ЗАСЛУЖЕННЫЙ плюс, но…..и где они потом стали ?)
«…а ты не плач и не горюй моя дорогая…»
(18) кстати, ты не смотришь сериал «МАРГОША» — кого то мне напоминаешь…кучерявЯнький такой…. ))))
(21) > это мне мсьтя за это
Не выдавай ЖЕЛАЕМОЕ, за ДЕЙСТВИТЕЛЬНОЕ. 😀 😀 😀
» и не м…..» (с) Tatitutu
Я в (52) задал корректный вопрос и внес на мой, взгляд, интересное предолжение. А что услышал в ответ?
Так что это не я перепутал ЛИЧНОЕ и … РАБОТУ? А она тут при чем? 😀
(22) в (0) написано
«Сегодня пятница ))) Разомнем мозги перед выходными»
Ты бы вместо того что бы всякую дребедень постить, лучше бы действительно занялся бы пятничными делами…
Как я 😀
На фото:
Лещик вяленный — 0,522 кг
Пиво «Черниговское-Премиум» 5*0,5л
так уже 😀
Ты не понял… это реальное фото сделанное мной только что 🙂
(25) Кот серьезный такой, типа деньги зарабатывает 😉
При всём уважении, поправил бы заголовок. Вместо компьютерный разум — компьютерный интеллект.
Интерсно ,где ты работаешь,если у тебя на такую хайню время есть.Я надеюсь,что на Украине. Или в другой конторе ,кроме страны Россия.
(29) Малыш, я УЖЕ давно не РАБОТАЮ,
это мое ХОББИ и
это моя ЖИЗНЬ я выразил свою МЫСЛЬ и быть УСЛЫШАННЫМ
и ты — должен это как минимум УВАЖАТЬ
(да пусть меня за банят, сегодня праздник 7 ноября)
(30)Я против любого бана,беби. Я такое чикал еще 5 лет назад. Интеренсно просто, есть что стоящее? А ТЫ ВСЕ ИГРУШКИ…
(30) Кстати ,а я дано уже работаю 😉
Забавно. В детстве играли в такое на уроках. Еще есть другой вариант: рисуется произвольное количество черточек, два игрока по очереди зачеркивают одну, две или три. Кто зачеркнет последнюю — тот проиграл. 🙂
(33) Спасибо. Про другой вариант — это наверноеИгра «Пятнадцать спичек» (разновидность игры «Ним») (с) venger