Помогите сделать скрипт.

Discussion in 'PHP' started by Adio, 10 Sep 2010.

  1. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Вообщем я копиировал папку с сервера потом назад с картинками... оказываеться когда она копировалась с сервера то не все картинки скопировались... Теперь у меня в базе записи с картинками которых нет. Есс и на сайте когда смотриш обьявление их нет а пишет только АЛТ имя..

    вообщем как можно сделать что бы я скачал базу на локал хост потом запустил какойто скрипт что бы он проверил - Есть ли картинка в папке images так которая в базе - и если ее в папке нету то удаляем с базы.

    сдесь кто то раньше писал но я не могу найти.. я где то на форуме видел подобное кто то писал.
     
  2. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Что то не могу понять как поискать в нэте... типа If file not exist delete row from mysql ну или что то такое помогите найти плизз :)
     
  3. Anarh1st

    Anarh1st Member

    Joined:
    19 May 2010
    Messages:
    32
    Likes Received:
    5
    Reputations:
    0
    imagecreatefromjpeg();
     
  4. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Ты предлогаеш создать пустые картинки ? :)
    Тоже вариант - но как это совместить с MYSQL ..
     
  5. Anarh1st

    Anarh1st Member

    Joined:
    19 May 2010
    Messages:
    32
    Likes Received:
    5
    Reputations:
    0
    Этo функция проверки валидности изображения.

    PHP:
    <?
    if(
    imagecreatefromjpeg('http:\\site.com\test.jpg')){
    echo 
    'Win';
    }else{
    echo 
    'Fail';
    }
    ?>
     
    #5 Anarh1st, 10 Sep 2010
    Last edited: 10 Sep 2010
  6. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Но как ? туда запихнуть все картинки с базы ...? или как ? я не пойму суть т.е как оно работать должно что бы я начал искать функции и т д. Я не сильно шарю в пхп.. но стараюсь
     
  7. Dark_cracker

    Dark_cracker Member

    Joined:
    29 May 2009
    Messages:
    73
    Likes Received:
    8
    Reputations:
    1
    берём картинки напр
    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']}'");
    }
    }
    примерно так =)
    делай соеденение меняй запрос на свои колонки и всё будет гуд=)
     
    #7 Dark_cracker, 11 Sep 2010
    Last edited: 11 Sep 2010
  8. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Имя базы - xx_apics

    ------ Столбцы
    picid - id number
    picfile - сдесь имена файлов (типа filename.jpg)
     
  9. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Вообщем буду как то .... разбираться только вот это не понял


    $put = $img['img']; т.е как то так ? $put = images/$img['img']; ??
     
  10. Dark_cracker

    Dark_cracker Member

    Joined:
    29 May 2009
    Messages:
    73
    Likes Received:
    8
    Reputations:
    1
    да так , переменная $img['img'] содержит путь картинки из базы , а так остальной путь от скрипта можно делать!
     
  11. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    А это что ?

    $sql=mysql_query("select id,img from images");

    выбираем ID или картинку ? но я же не буду подставлять каждый раз картинки ?

    Можете обьяснить как он работает ? т.е сначала он берет из базы имя картинки потом сверяет есть ли она в папке ? если ее нет то удаляет ? тогда я думаю где селект нужно поставить * что бы выбирало не 1 а все картинки ?

    Я прав = если что не так не бейте : )
     
  12. mrxh8

    mrxh8 New Member

    Joined:
    16 Apr 2009
    Messages:
    69
    Likes Received:
    4
    Reputations:
    0
    и так выбираются все строки из базы, по 2 поля айди и путь
    если * поставить, то будет еще ненужная инфа выбираться