core/parcer/findfiles.php

61 lines
2.0 KiB
PHP
Raw Permalink Normal View History

2023-02-08 16:59:59 +05:00
<?php
/*
Ищем файлы, которых нет в БД
*/
$_SERVER['SERVER_NAME']='tk-ligat.ru';
function list_file ( $dir ){
if ( $dir [ strlen( $dir ) - 1 ] != '/' ){
$dir .= '/';
}
$nDir = opendir( $dir );
while ( false !== ( $file = readdir( $nDir ) ) )
{
if ( $file != "." AND $file != ".." ){
if ( !is_dir( $dir . $file ) ){
$files [] = $file;
}
}
}
closedir( $nDir );
return $files;
}
function leopak ($text) {
$old1 = array(".jpg", ".png");
$new1 = array("", "");
$text = str_replace($old1, $new1, $text);
return $text;
}
require_once('/home/cloud/core/set/tk-ligat.ru.php');
require_once('/home/cloud/core/api/php/db.php');
$allImg=list_file('/home/cloud/core/img/tk-ligat.ru/tovar');
//print_r($allImg);
$j=0;
for ($i=0; $i<count($allImg); $i++){
$filename=leopak($allImg[$i]);
unset($id);
$id=DB::getValue("SELECT `id` FROM `tovar_img` WHERE `filename`=? LIMIT 1", $filename);
//echo "Текущий ИД: " . $id . "\n";
if (!$id){
unlink('/home/cloud/core/img/tk-ligat.ru/tovar/' . $allImg[$i]);
echo 'Удалено: /home/cloud/core/img/tk-ligat.ru/tovar/' . $allImg[$i] . "\n";
$j++;
sleep(1);
}
$r=(int)count($allImg)-$i;
echo "Осталось: " . $r . "\n";
}
echo "Всего файлов: " . count($allImg) . "\n";
echo "Удалено: " . $j . "\n";
/* обратный процесс - идем по БД сверяем MD5 потом кильнем то где нет md5*/
$tovar_img=DB::getAll("SELECT `id`, `filename`, `tip` FROM `tovar_img`");
for ($i=0; $i<count($tovar_img); $i++){
$md5=md5_file("/home/cloud/core/img/tk-ligat.ru/tovar/" . $tovar_img[$i]['filename'] . '.' . $tovar_img[$i]['tip']);
DB::set("UPDATE `tovar_img` SET `md5`=? WHERE `id`=?", array($md5, $tovar_img[$i]['id']));
}
?>