Добавлено: 11.09.2018 / 09:00
kantry, дык в phpMyadmin всё отображается
Проблему решил.
Первая была: __dir__ указывает на расположение файла, а я лепил код в downloads/includes. В итоге получался неверный путьк файлу.
Перенес код в файл в корне - всё заработало
Для дополнительных файлов сделал костыль
(Не знаю насколько оптимально, но результат получил
) за 103 секунды.
Вот код:
$dir_files2 = $db->query("SELECT * FROM `download__files` ");
$stmt = $db->prepare('UPDATE `download__files` SET `md5` = ? WHERE id = ?');
$stmt2 = $db->prepare('UPDATE `download__more` SET `md5` = ? WHERE refid = ?');
while ($res_down2 = $dir_files2->fetch()) {
$jar_file = $res_down2['name'];
$javadir = $res_down2['dir'];
$javadir = preg_replace('/\..\//', '/', $javadir);
$test = __dir__ . $javadir . '/' . $jar_file;
$md5_hash2 = md5_file(__dir__ . $javadir . '/' . $jar_file, $raw_output = true);
$stmt->execute([$md5_hash2, $res_down2['id']]);
$dir_files3 = $db->query("SELECT * FROM `download__more` WHERE `refid` = '" .
$res_down2['id'] . "'");
while ($res_down3 = $dir_files3->fetch()) {
$jar_file2 = $res_down3['name'];
$md5_hash3 = md5_file(__dir__ . $javadir . '/' . $jar_file2, $raw_output = true);
$stmt2->execute([$md5_hash3, $res_down2['id']]);
}
echo $test;
Закинул, допустим, в login.php. echo там просто чтобы видеть что скрипт работал.
Добавлено: 11.09.2018 / 09:41
Подскажите, поиск дублей по целых словах в имени лучше делать через РНР или через запрос MySQL?
Типа
$name = explode(" ", $fname);
SELECT * FROM `download__files` WHERE `rus_name` = '" . $name[] . "' //не знаю как сделать перебор слов из массива прямо в запросе SQL.
Но тут два момента:
- Надо как-то отсечь слова менее 4 букв
- Длина массива не фиксированная. как сделать перебор по существующим элементам массива?
//кстати, хинт как редактировать свой пост, если время закончилось, и он последний:
пишешь новый пост
он лепится к предыдущему
вуаля
кнопка Изменить снова на месте.
Удаляешь - и всё выглядит как и было
[timestamp]11.09.2018 08:15
Блин, тут еще обнаружилось что при импорте файла тоже надо md5 генерировать.
Но я что-то затрудняюсь как указать на файл, который тянется через
if (copy('http://' . $url, "$load_cat/$fname")) {