virt2/import/php/goodimg.php

44 lines
2.0 KiB
PHP
Raw Normal View History

<?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;
?>