Библотека и каталог программ на сайте

Lukin

Новичок
Библотека и каталог программ на сайте

Необходимо разместить на сайте Книги,программы и т.д. Пользователи сами будут заливать на сайт. Есть директории
Books,prog и т.д. Что делать,если имя файла будут совпадать с уже имеющимися на сайте?Для фотографий и книг я применяли такой подход вычисляла Дату+Время и переименовывала файл,но подходит ли данный метод для программ?
 

Yuriy_S

-=PHP-Club=-
Генери уникальное имя файла и сохраняй под ним, без разницы программы это будут или нет. Исходные имена файлов сохраняй в БД.
Клиенту при этом необходимо отдавать в заголовке исходное имя файла.
 

CCCP_MOCKBA

Новичок
твой подход "Дату+Время" используй и для программ, оригинальное имя программы запиши в базу, а когда будешь отдавать файл читай оригинальное имя из базы и отдавай в заголовке исходное имя файла. функция header().
 

Фанат

oncle terrible
Команда форума
написать алгоритм, по которому виндоус создает новые файлы (Новая папка 1, Новая папка 2) - это 5 минут.
 

Lukin

Новичок
Автор оригинала: CCCP_MOCKBA
твой подход "Дату+Время" используй и для программ, оригинальное имя программы запиши в базу, а когда будешь отдавать файл читай оригинальное имя из базы и отдавай в заголовке исходное имя файла. функция header().
А можно узнать подробнее как это сделать?Как отдавать файл под другим именем?
 

Фанат

oncle terrible
Команда форума
почитать в форуме
таких тем с 2006 года было несколько сотен.
 

Lukin

Новичок
Написала функцию

function download_file($file_is,$file_down)
{
$pat=pathinfo($file_is);

//ob_start();
header("Content-type:application/".$path['extension']);
header("Content-Disposition:attachment;filename=".$file_down);

Но почему-то файлы скачиваются не полностью
readfile($file_is);
ob_end_flush();



}
 

Фанат

oncle terrible
Команда форума
не выпендривайся и пиши просто application/download
ob_start здесь не нужен. и ob_end_flush - тоже.
имя файла нужно обрабатывать через urlencode()

что значит - не полностью? добавь content-length
 

fixxxer

К.О.
Партнер клуба
после двоеточия надо пробел в заголовках

и проверь что ничего не выводится лишнего перед этим (и после), exit не помешает сразу после readfile

когда начнут качать больше 10-15 человек параллельно и все начнет тормозить, приходи снова ;)
 
Сверху