[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: бяда-бяда файлы из ФС исчезают
olgatcpip
Здравствуйте.

Вопрос для знатаков, хоть я и не знаю о чём спросить.

дело такое.
http://autostatus.ndbp.ru/_adm/index.php

Это копия сайта. работает с 8 утра по москве до 8 или 10 вечера по москве.

там есть модуль каталог. Туда же в товар можно положить картинку.

Но вот бяда. на реальном сайте стали пропадать картинки из ФС.
Т.е. не все сразу, и не регулярно а вероятностно.

я готова поделиться всем чем угодно, лишь бы понять в чём дело!
Я разговаривала с Админом хостинга, он говорит, что удаление по фтп не было.
Какие вопросы мне ещё ему задать? не знаю.


Вообще в первую очередь подозреваю себя.
Первое что пришло в голову - это что у меня удаление картинок не корректное.

но тама стоит так
PHP
function deleteImg($file_id){
    global $gConfig;
    
    if
(!$file_id) return false;
    
    $query 
= sprintf("select * from items_img where id=%d",$file_id);
    $file = _dbLoadObjectByQuery($query);
    if(!$file) return false;
    
    $query 
= sprintf("delete from items_img where id=%d",$file_id);
    _dbExecQuery($query); // что будет если этот запрос не выполнится?

        
    $path 
= $gConfig['img_catalog'].$file['path'].$file_id;
    unlink($path); // удаляем себя
    
    $delImages 
= glob($path.'_*'); // все производные файлы обязаны начинаться с "_"
    foreach($delImages as $f)
        unlink($f); // удаляем все похожие на себя
    return $file['id_item'];
}
Скрытый текст

ну т.е. я думала, что из БД не удалилась запись а из ФС удалился.
$query = sprintf("delete from items_img where id=%d",$file_id);
// что будет если этот запрос не выполнится?

Дорогие, скажите можете ли вы удалить пару картинок. разрешаю НО только если вы скажете как это сделалали и как защититься.



Спустя 1 час, 25 минут, 11 секунд (14.10.2009 - 15:59) sergeiss написал(а):
Всё, что разумного могу предложить в данный момент - это сделать лог-файл, куда выводить ВСЕ изменения, сделанные в файловой системе.
А именно, например удаляем файл через unlink. Если удаление успешно - пишем в лог-файл информацию о том, что файл (с указанием имени) удален успешно.
Запускаем запрос на удаление имени файла из БД - также пишем инфо об этом в лог-файл, с указанием полного запроса.
И так далее, по каждому шагу.

И если вдруг обнаруживаем, что исчез какой-то файл, то идем в лог-файл и ищем упоминание об этом файле.

Спустя 25 минут, 4 секунды (14.10.2009 - 16:24) olgatcpip написал(а):
хм... я подумаю но с моем случае еслиб файл пропал. та подкаталог пропал.
как будто бы удаляли товар, все скрипты в бд не выполнились, в ФС выполнились. и так за время обеда одного человека

Цитата
вот только что написали "Александр что то я не пойму что за "чудеса" происходят на сайте! я до обеда добавил фотографии в разделе Ксеноновые лампы, сейчас выкладывал остатки! точто до обеда выложено было то исчезло!!!"
вот так. sad.gif
т.е. чел ушёл покушать были картинки, пришёл, нет картинок.

когда выкладывают остатки никаких манипуляций с ФС нет.

Спустя 3 минуты, 24 секунды (14.10.2009 - 16:28) Bezdna написал(а):
Цитата (olgatcpip @ 14.10.2009 - 11:34)
Т.е. не все сразу, и не регулярно а вероятностно.


Во всех вероятностях есть своя логика. Я бы поискал закономерность в пропаже файлов.

Спустя 11 минут, 7 секунд (14.10.2009 - 16:39) glock18 написал(а):
На самом деле, проблема может быть вовсе не с добавлением/удалением. Ну или скажем, все может совершенно не зависеть от того, что этот человек делал.

Пара вопросов:

1. сколько человек работает с сайтом?
2. не мог ли кто-то что-то делать на сайте (что угодно)... в момент пропажи файлов smile.gif проведем расследование и надерем задницу виновному smile.gif

Спустя 21 минута, 48 секунд (14.10.2009 - 17:01) olgatcpip написал(а):
Ой! нашла свою ошибку!
очепятка.

Администраторы, удалите тему, она никому пользу не принесет.

Спустя 3 часа, 9 минут, 26 секунд (14.10.2009 - 20:10) sergeiss написал(а):
Тема принесет пользу, если ты объяснишь заинтригованным мужикам, что же было на самом деле? smile.gif

Спустя 10 часов, 58 минут, 50 секунд (15.10.2009 - 07:09) olgatcpip написал(а):
Ну.. там....
картинка хранится по пути /images_catalog/ ид группы / ид товара/ ид картинки
такая иерархия мне показалась удобной, потому, что при удалении группы можно удалить /images_catalog/ ид группы и товарные все картинки автоматом удалятся.
Ну вот при удалении товара я написала так /images_catalog/ ид группы
т.е. удаляем товар, а из фс удаляется все картинки всех товаров, при этом браузер некоторое время показывает картинку, т.к. она закэширована.
исправила на так /images_catalog/ ид группы / ид товара/ теперь удаяем только 1 товар. копипаст знаете ли...

А такую иерархию в каталог все делают? а то я др коды мало видела....
Или такая вложеность чем-то может мыть недостатком..

Обсудите мой метод, хочется критики rolleyes.gif

Спустя 1 день, 8 часов, 12 минут, 53 секунды (16.10.2009 - 15:22) olgatcpip написал(а):
Люди, если вдруг кому-то тема принесёт пользу, напишите, чтобы знать принесла ли хоть кому-то пользу эта тема.

Спустя 3 минуты, 20 секунд (16.10.2009 - 15:25) Gabriel написал(а):
olgatcpip
лично мне принесла:) ато я тоже недосмотрю и матюкаюся потом:) вот если будет такая ситуация а она будет, то буду знать где я недосмотрел.

Спустя 4 минуты, 53 секунды (16.10.2009 - 15:30) olgatcpip написал(а):
laugh.gif sergeiss выиграл

Спустя 7 минут, 50 секунд (16.10.2009 - 15:38) Gabriel написал(а):
olgatcpip
а были варианты? laugh.gif

Спустя 17 минут, 36 секунд (16.10.2009 - 15:55) olgatcpip написал(а):
да нет....

Спустя 1 час, 15 минут, 21 секунда (16.10.2009 - 17:11) sergeiss написал(а):
Цитата (olgatcpip @ 16.10.2009 - 16:55)
да нет....

Почти по Задорнову: "да нет наверное"... laugh.gif

Спустя 3 часа, 30 минут, 1 секунда (16.10.2009 - 20:41) SunSet написал(а):
Мне кажется или тут уже флуд начался?... mad.gif


_____________
Ласковое слово и кошке приятно... Плюсик в карму сойдет wink.gif
*smarty дока - новая любовь
Моё рукотворение ругайте, хвалите smile.gif
Веду маленький блог
в этом блоге публикую новые работы
WMR217126627282 wink.gif

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.