[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удаление файлов с сервера(php)
lodas
Здравствуйте дорогие форумчане, столкнулся с такой задачей:
На сервере(форум) каждый пользователь может создать себе папки для хранения какой нибудь инфы и залить себе небольшое количество файлов(jpg, html, js, png). Допустимый размер места для каждого пользователя ограничен и возникает вопрос как все это дело по желанию пользователя подчищать(удалять)? Нужно ли выставлять права на папки и файлы перед удалением? Разрешает ли хостинг по умолчанию удалять файлы с сервера путем запуска скрипта в php-файле? С какими трудностями можно столкнуться?
Вообщем посоветуйте как все сделать грамотно, заранее спасибо)
icedfox
Само удаление http://php.net/manual/ru/function.unlink.php
Прав на удаление должно хватить, если файл уже был залит юзером.
Рекомендую проверять принадлежит ли файл тому же юзеру, который его загрузил. Это позволит избежать нескольких проблем.
Естественно preg_match для защиты от кулхацкеров.
Трудностей не должно возникнуть в основном. Конечно стоит проверить настройки самого хостинга, бывает так, что залитые файлы имеют владельца root и удалить их уже нельзя. Проверить просто, попробуйте самостоятельно через фтп удалить(переименовать) любой файл залитый юзером.
Игорь_Vasinsky
Цитата
Естественно preg_match для защиты от кулхацкеров.
biggrin.gif biggrin.gif biggrin.gif

ТС: когда юзер грузит себе файлы - пиши инфу в БД с привязкой по ID юзера - при удалении сверяй.

вообще идея с разрешением создания энного кол-ва папок посетителям - это страшный сон.

лучше создавать псевдопапки - категории - которые тоже хранить в бд и привязывать файл к той или иной категории.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

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