[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Органицация Храниния Файлов На Хостинге
MaxSystems.ru
Есть много вопросов по хранению файлов на хостинге, создал этут тему что бы их расмотреть.
Я выбрал ваш форум, глубоко не читал но думаю умные люди здесь имеються и будет с кем пообщаться на эту больную тему. Почему больная во преврых:

Я так и не разобрался с правами к директории, в которые будут храниться файлы, три семерки держать вредно ибо записать тужа может любуой вреднун любую вредятину. Теоретически я представил это как есть директория с правами запрещающие запись из вне, при загрузке файла директория переименововаеться в три семерки записываеться файл после чего права опять снимаються. Проблема встала в том что директория не хочешь менять права, chmod() - не сработал.

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



Спустя 28 минут, 14 секунд (24.10.2008 - 17:30) bearman написал(а):
Цитата(MaxSystems.ru @ 24.10.2008, 20:02) [snapback]52653[/snapback]
Есть много вопросов по хранению файлов на хостинге, создал этут тему что бы их расмотреть.
Я выбрал ваш форум, глубоко не читал но думаю умные люди здесь имеються и будет с кем пообщаться на эту больную тему. Почему больная во преврых:

Я так и не разобрался с правами к директории, в которые будут храниться файлы, три семерки держать вредно ибо записать тужа может любуой вреднун любую вредятину. Теоретически я представил это как есть директория с правами запрещающие запись из вне, при загрузке файла директория переименововаеться в три семерки записываеться файл после чего права опять снимаються. Проблема встала в том что директория не хочешь менять права, chmod() - не сработал.

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

вы хостинг хотите открыть ? для других лиц? или что? я просто не очен ьпонял

Спустя 3 часа, 48 минут, 47 секунд (24.10.2008 - 21:19) MaxSystems.ru написал(а):
Конец дня было, я из офиса тему создавал, усталый и голодный был, сейчас объясню задумку.

Под хостингом я имел обычную хост площадку где работают 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 час. злой, голодный, уставший, злой smile.gif

Цитата(MaxSystems.ru @ 25.10.2008, 0:19) [snapback]52682[/snapback]
Под хостингом я имел обычную хост площадку где работают php скрипты, вообщем стандартные условия для работы php под юниксойдной оси.

я спрашивал для своих нужд или для того, чтобы людям его продавать smile.gif

Цитата(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 (для апача).
Быстрый ответ:

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