Да мало ли ? Просто представьте, что такое случилось.с какой стати второй не удался?
mysql_query($query) or trigger_error(mysql_error()."[$query]");
Не понял.Дело в том, что я одно время думал на каждого зарегистрированного пользователя открывать свою директорию, что позволило бы проще отслеживать такого рода вещи, но куча директорий не вариант поэтому сейчас и пытаюсь найти все варианты как по максимуму продумать решение подобных вещей.
Честно говоря, я себе представлял это таким образом:при чем здесь действия пользователей?
Ошибка запроса - это ошибка приложения. Ошибки приложения должны логироваться в обязательном порядке.
Обычно это делается еррор хендлером. Но в самом простом случае говнокода на mysql надо любой запрос писать
или кидать исключение.PHP:mysql_query($query) or trigger_error(mysql_error()."[$query]");
у каждого узера при регистрации создается своя лиректория-папка, куда в последствии записываются его картинки, в случае если происходит какой-то сбой, то знаешь что у каждого есть своя папка и проще ориентироваться. Но если юзеров будет 5000 то 5000 папок это не очень хорошо.Не понял.
Ни почему позволит проще отслеживать, ни почему много директорий не вариант
tail -f /var/log/httpd_error.log
не понимаю. есть имя картинки - по нему и надо ориентироваться.у каждого есть своя папка и проще ориентироваться.
а 50000 файлов - хорошо разве? Делить по папкам все равно придется, такая единица деления, как папка юзера вполне подойдет.5000 папок это не очень хорошо.
/10/1050/
/13/1351/
/13/1388/
/49/4930/
К сожалению юниксом не могу воспользоваться. Сайт находится на арендуемом хосте.емейл от ошибок лопнет.
поломается какая-то одна штука - типа права на каталог слетят - и каждый запрос к сайту будет генерировать десяток писем.
Наблюдение за логами - совершенно стандартная для веб-мастера и программиста процедура. консоль с логами - самая привычная деталь десктопа после редактора.
ссылок, честно говоря, не знаю. В юниксе просто открываешь консоль, пишешь
и наслаждаешьсяPHP:tail -f /var/log/httpd_error.log
не понимаю. есть имя картинки - по нему и надо ориентироваться.
а 50000 файлов - хорошо разве? Делить по папкам все равно придется, такая единица деления, как папка юзера вполне подойдет.
чтобы не было в одной папке все 5000 делай по 100, отрезая первые две цифры.
PHP:/10/1050/ /13/1351/ /13/1388/ /49/4930/
if(unlink($row_select_images['url_small_img']) and unlink($row_select_images['url_big_img']))
{
}
else
{
// Здесь я создаю сообщение о том что в такое-то время, пользователь такой-то, пытался удалить картинки такие-то такие-то, и это сообщение допустим записываю в файл error_messages.txt. каждый раз захожу и проверяю этот файл, и если в данном примере большая фотка удалена а маленькая нет то я в ручную ее удалю.
}
Это как раз юникс и есть.Сайт находится на арендуемом хосте.
Фанат скажите а в каком виде попадает ошибка при попытке удаления файла? Если ошибка в виде только номера ошибки и сообщения о том что не удалось удалить файл без его названия, это же совсем мне не поможет в последствии искать такие файлы и удалять их в ручную. Поговорил с представителем хостинга, описал пример двух картинок, маленькая удалилась большая нет, как узнать и потом удалить, ответили что в логах такой инфы нет и что на такие случае стоит писать свой журналЭто как раз юникс и есть.
Есть, конечно, тупые хосты, которые дают доступ к логу ошибок через браузер, но таких, чтобы вообще не давали - я не видел.
Специально создавать никакие сообщения не надо. Если произойдет ошибка при анлинк - она сама попадет в лог. В этом-то и суть логирования ошибок.
да еще сказали что доступ к журналу только через AWstatерунду они говорят.
попробуй удалить заведомо несуществующую картинку, и посмотри
Если ошибки РНР не попадают в лог ошибок, то надо настроить, чтобы попадали.
для начала надо попробовать в файле настроек написать
PHP:ini_set('log_errors',1);