Вопрос № 58850: Как организовать надёжную систему авторизации (как для админпанели, так и для юзеров) и какие могут возникнуть проблемы при этом?
заранее благодарю...Вопрос № 58851: Скрипт моего сайта подразумевает загрузку файлов(картинок) на сервер. Их может быть очень много и я не могу всё время глазами следить, чтобы они не повторялись. Можно средствами php проверить, существует точно такой же рисунок в директории или нет?...
Вопрос № 58.850
Как организовать надёжную систему авторизации (как для админпанели, так и для юзеров) и какие могут возникнуть проблемы при этом?
заранее благодарю
Ответ отправил: Загиров Рустам (статус: Практикант)
Ответ отправлен: 14.10.2006, 15:13
Вопрос № 58.851
Скрипт моего сайта подразумевает загрузку файлов(картинок) на сервер. Их может быть очень много и я не могу всё время глазами следить, чтобы они не повторялись. Можно средствами php проверить, существует точно такой же рисунок в директории или нет?
Отвечает: Загиров Рустам
Здравствуйте, Бобровский Сергей Сергеевич!
Можно проверять по размеру файла, и если они совпадают по содержимому файла. Сначала создаёться массив со всеми файлами, в ключах будет имя файла, а в значении размер файла. Далее создаём копию этого массива массив. Пробегаемся по всему оригинальному массиву и сравниваем с копией массива, если файл не обрабатывался, имена разные, размеры одинаковые и содержимое содержимое, то он удаляеться.
Весь вопрос в том, какой файл удалять?? В приведённом скрипте удаляется произвольный файл, но у меня удаляется файл, имя которого лексиграфически больше исходного.
Ответ отправил: Загиров Рустам (статус: Практикант)
Ответ отправлен: 14.10.2006, 13:40
Отвечает: Jeka911
Здравствуйте, Бобровский Сергей Сергеевич!
К предыдущему ответу могу добавить, что можно использовать сравнение хэш значений файлов. Для получения используем функцию hash_file (string alg, filename);, где alg - алгоритм хэш функции (sha256, md5, ...)
--------- Шахтер - чемпион!!!
Ответ отправил: Jeka911 (статус: 8-ой класс)
Ответ отправлен: 14.10.2006, 21:40 Оценка за ответ: 2 Комментарий оценки: это ведь каждый файл нужно хэшировать . . а если их тысячи? по-моему, это очень накладно в смысле нагрузки на сервер
Отвечает: PVS
Здравствуйте, Бобровский Сергей Сергеевич!
К сожалению глаз у PHP вообще нет :-(
Как вариант: можете "перегонять" все файлы в один формат и один размер и тогда сравнивать их побитно
Ответ отправил: PVS (статус: Практикант)
Ответ отправлен: 16.10.2006, 10:26 Оценка за ответ: 4
Отправить вопрос экспертам этой рассылки
Приложение (если необходимо):
* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.
Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!
Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.
Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.