За последние 24 часа нас посетил 30601 программист и 1801 робот. Сейчас ищут 986 программистов ...

Загрузка файла в базу

Тема в разделе "PHP для новичков", создана пользователем Roman82, 4 май 2009.

  1. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    Cron, спасибо, буду пробовать.
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Все очень просто: К примеру, пользователь загружает файл, делается запись с именем файла в БД. Пользователь нажимает "удалить файл", скрипт перед удалением записи из БД удаляет файл по ссылке, указанной в записи, а потом удаляет саму запись из БД.
    Мусор в таком случае может накапливаться в следующих случаях:
    1) Внезапные баги сервера
    2) Ошибка скрипта (либо файлы вообще не будут удаляться, либо не будут удаляться в некоторых случаях (допустим, в какой-то ветке логики забыли прописать удаление файла).
     
  3. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    Kreker, ну да, я примерно так себе и начал все это представлять, спасибо!
     
  4. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    Roman82, если вас так сильно пугает "мусор" то можно написать скрипт, который будете переодически запускать. суть его работы: 1. проверят существует ли файл по url из записи в бд. если нет то запись удаляется. 2. проверяет существует ли запись в бд с url файла. если нет то предлагает добавить запись или удалить файл.

    учитывая вашу "мусоро-фобию"
    такое чудо изобретение позволит вам спать спокойно )))
     
  5. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    vital, да мусор меня не особо пугает, но если посетители будут пытаться загружать файлы (между промежутками запуска скрипта для очистки "мусора"), и вместо этих файлов им будет выскакивать, что такого файла нет, то я думаю, что это ни есть хорошо.
    Поэтому мне кажется, что будет лучше если существование файла будет проверяться при выводе ссылок, тогда все файлы окажутся скачиваемыми.
     
  6. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    А что мешает удалять файл при удалении записи из БД?
     
  7. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    просто Roman82 делает муху из слона.
     
  8. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    Mr.M.I.T., ни чего не мешает, это тоже один из вариантов, о котором, кстати я не подумал, спасибо! Но проверка на существование файла, мне кажется, все равно не повредит.
    vital, да я ничего не из кого ни делаю, просто раз вопрос затронут, неплохо бы выслушать мнения людей которые понимают в программировании больше чем я, и, если что-то потом создавать, то чтобы хоть сделать это правильно, а не переделывать потом по пять раз, пока нормально не получится.
     
  9. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    Hello world! ©
     
  10. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    vital, ???
     
  11. vital

    vital Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    это тонкий намёк... не вернуться ли вам к истокам :wink:
     
  12. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    vital, да уже вернулся, файл загружается, ссылка(имя файла), в базу добавляется, и даже выводится на страницу, но вот проблемы с проверкой существования файла при выводе, никак че-то не получается.