Вопрос № 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