Вообщем я копиировал папку с сервера потом назад с картинками... оказываеться когда она копировалась с сервера то не все картинки скопировались... Теперь у меня в базе записи с картинками которых нет. Есс и на сайте когда смотриш обьявление их нет а пишет только АЛТ имя.. вообщем как можно сделать что бы я скачал базу на локал хост потом запустил какойто скрипт что бы он проверил - Есть ли картинка в папке images так которая в базе - и если ее в папке нету то удаляем с базы. сдесь кто то раньше писал но я не могу найти.. я где то на форуме видел подобное кто то писал.
Что то не могу понять как поискать в нэте... типа If file not exist delete row from mysql ну или что то такое помогите найти плизз
Этo функция проверки валидности изображения. PHP: <? if(imagecreatefromjpeg('http:\\site.com\test.jpg')){ echo 'Win'; }else{ echo 'Fail'; } ?>
Но как ? туда запихнуть все картинки с базы ...? или как ? я не пойму суть т.е как оно работать должно что бы я начал искать функции и т д. Я не сильно шарю в пхп.. но стараюсь
берём картинки напр PHP: $sql=mysql_query("select id,img from images"); далее делаем цикл while($img = mysql_fetch_array($sql)) { $put = $img['img']; // тут полный путь до папки с картинками я хз как оно хранится в базе if(!@file_exists($put)) { mysql_query("delete from images where id ='{$img['id']}'"); } } примерно так =) делай соеденение меняй запрос на свои колонки и всё будет гуд=)
Имя базы - xx_apics ------ Столбцы picid - id number picfile - сдесь имена файлов (типа filename.jpg)
Вообщем буду как то .... разбираться только вот это не понял $put = $img['img']; т.е как то так ? $put = images/$img['img']; ??
да так , переменная $img['img'] содержит путь картинки из базы , а так остальной путь от скрипта можно делать!
А это что ? $sql=mysql_query("select id,img from images"); выбираем ID или картинку ? но я же не буду подставлять каждый раз картинки ? Можете обьяснить как он работает ? т.е сначала он берет из базы имя картинки потом сверяет есть ли она в папке ? если ее нет то удаляет ? тогда я думаю где селект нужно поставить * что бы выбирало не 1 а все картинки ? Я прав = если что не так не бейте : )
и так выбираются все строки из базы, по 2 поля айди и путь если * поставить, то будет еще ненужная инфа выбираться