44 lines
2.0 KiB
PHP
44 lines
2.0 KiB
PHP
|
<?php
|
|||
|
//Ищем имг файлы и обзываем их артикулами
|
|||
|
$set['bd_name']='virtual';/*Название Базы*/
|
|||
|
$set['bd_host']='localhost';/*адрес сервера*/
|
|||
|
$set['bd_user']='root';/*Логин MySQL*/
|
|||
|
$set['bd_pass']='admin';/*Пароль MySQL*/
|
|||
|
mysql_connect( $set['bd_host'], $set['bd_user'], $set['bd_pass']) or die('Не могу подключиться к мускулу, проверьте логин и пароль');/*Подключаемся к СУБД*/
|
|||
|
mysql_query ('SET NAMES utf8');/*чтобы корректно отображались данные в бд*/
|
|||
|
mysql_select_db ( $set['bd_name'] );
|
|||
|
$src='/media/backup/allimg';
|
|||
|
$dst='/media/backup/goodimg';
|
|||
|
//функция, что кладет список файлов в массив (чтобы тысячу раз не пробигать по миллионам файлов, загрузим их имена в массив, если оперативки хватит :D )
|
|||
|
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 find_txt($txt, $str){
|
|||
|
$pos1 = stripos($txt, $str);
|
|||
|
if ($pos1 === false) return 0;
|
|||
|
else
|
|||
|
return 1;
|
|||
|
}
|
|||
|
|
|||
|
$listfiles=array();
|
|||
|
$listfiles=list_file($src);
|
|||
|
$count=count($listfiles);
|
|||
|
$result = mysql_query('SELECT * FROM `oc_product` WHERE `status`="1" AND `image`=""');
|
|||
|
while ( @$postrow[] = mysql_fetch_array($result));
|
|||
|
$x=0;
|
|||
|
while ( $x < mysql_num_rows ( $result ) ) :
|
|||
|
//шерстим массив с файлами и если находим sku - копируем в goodimg
|
|||
|
$y=0;
|
|||
|
while ($y<$count):
|
|||
|
if (find_txt($listfiles[$y], '_' . $postrow[$x]['sku'] . '.')==1){
|
|||
|
if (copy ($src . '/' . $listfiles[$y] , $dst . '/' . $listfiles[$y]))unlink($src . '/' . $listfiles[$y]);
|
|||
|
}
|
|||
|
$y++;
|
|||
|
endwhile;
|
|||
|
$x++;
|
|||
|
endwhile;
|
|||
|
?>
|