Я выбрал ваш форум, глубоко не читал но думаю умные люди здесь имеються и будет с кем пообщаться на эту больную тему. Почему больная во преврых:
Я так и не разобрался с правами к директории, в которые будут храниться файлы, три семерки держать вредно ибо записать тужа может любуой вреднун любую вредятину. Теоретически я представил это как есть директория с правами запрещающие запись из вне, при загрузке файла директория переименововаеться в три семерки записываеться файл после чего права опять снимаються. Проблема встала в том что директория не хочешь менять права, chmod() - не сработал.
Хочу организовать скрипт, который создавл директории и управлял вних кол-вом загруженных файлов, что то подобнео видел на билютени, но восоздать не получилось.
Спустя 28 минут, 14 секунд (24.10.2008 - 17:30) bearman написал(а):
Цитата(MaxSystems.ru @ 24.10.2008, 20:02) [snapback]52653[/snapback]
Есть много вопросов по хранению файлов на хостинге, создал этут тему что бы их расмотреть.
Я выбрал ваш форум, глубоко не читал но думаю умные люди здесь имеються и будет с кем пообщаться на эту больную тему. Почему больная во преврых:
Я так и не разобрался с правами к директории, в которые будут храниться файлы, три семерки держать вредно ибо записать тужа может любуой вреднун любую вредятину. Теоретически я представил это как есть директория с правами запрещающие запись из вне, при загрузке файла директория переименововаеться в три семерки записываеться файл после чего права опять снимаються. Проблема встала в том что директория не хочешь менять права, chmod() - не сработал.
Хочу организовать скрипт, который создавл директории и управлял вних кол-вом загруженных файлов, что то подобнео видел на билютени, но восоздать не получилось.
Я выбрал ваш форум, глубоко не читал но думаю умные люди здесь имеються и будет с кем пообщаться на эту больную тему. Почему больная во преврых:
Я так и не разобрался с правами к директории, в которые будут храниться файлы, три семерки держать вредно ибо записать тужа может любуой вреднун любую вредятину. Теоретически я представил это как есть директория с правами запрещающие запись из вне, при загрузке файла директория переименововаеться в три семерки записываеться файл после чего права опять снимаються. Проблема встала в том что директория не хочешь менять права, chmod() - не сработал.
Хочу организовать скрипт, который создавл директории и управлял вних кол-вом загруженных файлов, что то подобнео видел на билютени, но восоздать не получилось.
вы хостинг хотите открыть ? для других лиц? или что? я просто не очен ьпонял
Спустя 3 часа, 48 минут, 47 секунд (24.10.2008 - 21:19) MaxSystems.ru написал(а):
Конец дня было, я из офиса тему создавал, усталый и голодный был, сейчас объясню задумку.
Под хостингом я имел обычную хост площадку где работают php скрипты, вообщем стандартные условия для работы php под юниксойдной оси.
Ищу решение проблеммы с хранением файлов для сайта на безопасном уровне от взлома, то есть не оставлять для директории права 0777, а без них в директорию не перемещает загруженные файлы.
Дальше я хочу в директории создать автоматизированную систему хранения файлов. Смысл заключаеться в том что бы не хранить в одной директории все файлы а разбивать например в каждую директорию по 50 файлов например, если лимит исчерпан в 50 файлов создаеться новая директория и вней продолжает хранить файлы, если в директории превышает колво вложенных директории наприме 10 штук, то создаеться новая директория уже более глубже и тд. Эта технология по моей задумке должна экономить ресурсы сервера. А позиция файла и надлежащая категория и описание для него будет храниться в базе. Вот только волнует вопрос может эта тенология уже существует, а я тут велосипед изобретаю..
Под хостингом я имел обычную хост площадку где работают php скрипты, вообщем стандартные условия для работы php под юниксойдной оси.
Ищу решение проблеммы с хранением файлов для сайта на безопасном уровне от взлома, то есть не оставлять для директории права 0777, а без них в директорию не перемещает загруженные файлы.
Дальше я хочу в директории создать автоматизированную систему хранения файлов. Смысл заключаеться в том что бы не хранить в одной директории все файлы а разбивать например в каждую директорию по 50 файлов например, если лимит исчерпан в 50 файлов создаеться новая директория и вней продолжает хранить файлы, если в директории превышает колво вложенных директории наприме 10 штук, то создаеться новая директория уже более глубже и тд. Эта технология по моей задумке должна экономить ресурсы сервера. А позиция файла и надлежащая категория и описание для него будет храниться в базе. Вот только волнует вопрос может эта тенология уже существует, а я тут велосипед изобретаю..
Спустя 4 часа, 22 минуты, 44 секунды (25.10.2008 - 01:41) bearman написал(а):
Цитата(MaxSystems.ru @ 25.10.2008, 0:19) [snapback]52682[/snapback]
Конец дня было, я из офиса тему создавал, усталый и голодный был, сейчас объясню задумку.
я не спал уже 21 час. злой, голодный, уставший, злой
Цитата(MaxSystems.ru @ 25.10.2008, 0:19) [snapback]52682[/snapback]
Под хостингом я имел обычную хост площадку где работают php скрипты, вообщем стандартные условия для работы php под юниксойдной оси.
я спрашивал для своих нужд или для того, чтобы людям его продавать
Цитата(MaxSystems.ru @ 25.10.2008, 0:19) [snapback]52682[/snapback]
Ищу решение проблеммы с хранением файлов для сайта на безопасном уровне от взлома, то есть не оставлять для директории права 0777, а без них в директорию не перемещает загруженные файлы.
если не продаешь, то на нужные для загрузки папки сделай chmod $apache-user /path/to/folder. если продаешь, то тот же алгоритм + suexec + fastcgi.
Цитата(MaxSystems.ru @ 25.10.2008, 0:19) [snapback]52682[/snapback]
Дальше я хочу в директории создать автоматизированную систему хранения файлов. Смысл заключаеться в том что бы не хранить в одной директории все файлы а разбивать например в каждую директорию по 50 файлов например, если лимит исчерпан в 50 файлов создаеться новая директория и вней продолжает хранить файлы, если в директории превышает колво вложенных директории наприме 10 штук, то создаеться новая директория уже более глубже и тд. Эта технология по моей задумке должна экономить ресурсы сервера. А позиция файла и надлежащая категория и описание для него будет храниться в базе. Вот только волнует вопрос может эта тенология уже существует, а я тут велосипед изобретаю..
затея гавно, ибо не так надо ресурсы экономить, лучше посмотрите в сторону выбора не ext3 filesystem а в сторону тех, которые относятся насирательски к количеству файлов в директории (без проблем могут содержать миллионы файлов). это первый момент, второй - давайте каждому файлу уникальный id а для имени файла делайте md5($id). получите 32байтовую строку.
далее возьмите первые 6-9(на ваше устмотрение) букв от этого мд5 и разбейте в буквенный массив, потом слейте (join) с помощью палки(/) и прибавьте слева к вашему md5
получите нечто вида
$filename = a/d/e/1/4/2/3/ade1423113213123123_{$realid}.jpg
и кладите в такие папки файлы, получите очень большой разброс файловых папок, врядли ближайший меяц вы найдете два файла в одной папке))
вроде все.
Спустя 2 дня, 13 часов, 27 минут, 21 секунда (27.10.2008 - 16:09) MaxSystems.ru написал(а):
Цитата
если не продаешь, то на нужные для загрузки папки сделай chmod $apache-user /path/to/folder. если продаешь, то тот же алгоритм + suexec + fastcgi.
Можно по подробней...
Начал разрабатывать скрипт, и столкнулся с проблемой на одном из этапов, уменя не создаються директории с правами 0777, заместа них устанавливаются 0755, а сними уже не возможно создать в поддиректории папку или файл , приблизительный пример кода чуть ниже:
Код |
<?php /* Папка для файлов и директорий с правами 0777, общая картина выглядит так: file - dir index.php - file */ $d['filedir']='file/'; $t['md5']='cfcd208495d565ef66e7dff9f98764da'; // md5(mysql_insert_id()); //Проверка насуществование директорий и под директории, если нет то создаем их $t['fdir']=$d['filedir']; $t['dir']=''; for($i=0;$i<6;$i++){ $t['dir'].=$t['md5'][$i].'/'; $t['fdir']=$t['fdir'].$t['dir']; if(!is_dir($t['fdir'])){ mkdir($t['fdir'], 0777); } } /* Переменные: $t['dir'] - собираем путь директории из md5 айди файла $t['fdir'] - Полный путь директории к файлу */ ?> |
Спустя 2 часа, 12 минут, 32 секунды (27.10.2008 - 18:21) bearman написал(а):
Цитата(MaxSystems.ru @ 27.10.2008, 18:09) [snapback]52962[/snapback]
Цитата
если не продаешь, то на нужные для загрузки папки сделай chmod $apache-user /path/to/folder. если продаешь, то тот же алгоритм + suexec + fastcgi.
Можно по подробней...
Начал разрабатывать скрипт, и столкнулся с проблемой на одном из этапов, уменя не создаються директории с правами 0777, заместа них устанавливаются 0755, а сними уже не возможно создать в поддиректории папку или файл , приблизительный пример кода чуть ниже:
Код |
<?php /* Папка для файлов и директорий с правами 0777, общая картина выглядит так: file - dir index.php - file */ $d['filedir']='file/'; $t['md5']='cfcd208495d565ef66e7dff9f98764da'; // md5(mysql_insert_id()); //Проверка насуществование директорий и под директории, если нет то создаем их $t['fdir']=$d['filedir']; $t['dir']=''; for($i=0;$i<6;$i++){ $t['dir'].=$t['md5'][$i].'/'; $t['fdir']=$t['fdir'].$t['dir']; if(!is_dir($t['fdir'])){ mkdir($t['fdir'], 0777); } } /* Переменные: $t['dir'] - собираем путь директории из md5 айди файла $t['fdir'] - Полный путь директории к файлу */ ?> |
http://phpdude.ru/archives/118
это пример полезной функции.
насчет 0755. их не важно такие выставлять, просто сделайте владельцем папки с файлами пользователя из под котрого запускается веб серер, линукс системах без suExec модуля этот пользователь - www-data (для апача).