Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Подскажите как вывести файл через PHP

1.9K
24 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
Есть файл, предположим большого размера. Если закачать весь файл в память, то памяти не хватит. Нужно чтобы пользователю выдавались порции данных.

В то же время эта функция должна быть "легкой" и не нагружать сервер. Например, при запросе любой картинки на сайте предварительно будет вызван скрипт, и если есть что sdjlbnm? то скрипт считает картинку из файла и выведет ее.

Заранее багодарен
2.1K
24 ноября 2006 года
vectoroc
234 / / 25.07.2006
Насколько мне известно файлы не грузятся целиком в память, ПА качает файл и сбрасывает во временный файл каждые N байт загруженного файла. На пхп можно написать функцию, которая читает файл порциями по M байт и отправляет.
13
24 ноября 2006 года
RussianSpy
3.0K / / 04.07.2006
чередуем fread, print и flush и будет тебе счастье по порциям
4
24 ноября 2006 года
mike
3.7K / / 01.10.2002
Цитата: kopex
А вроде в соседнем посте написал что профессионал..
Я себя таковым не счита, но насколько мне известно файлы не грузятся целиком в память, ПА качает файл и сбрасывает во временный файл каждые N байт загруженного файла. На пхп можно написать функцию, которая читает файл порциями по M байт и отправляет.


Просто когда единственная функция для чтения файла - это file(), то тогда PHP действительно всега считывает файлы в память :D

256
24 ноября 2006 года
foxweb
1.0K / / 27.07.2005
readfile() - выводит файл напрямую в вывод. Вроде мимо памяти.
1.9K
24 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
foxweb, я тоже об этом читал. Мне интерестно, таким ли способом выводят файлы через PHP скрипты на сайтах файловых архивов и mp3 порталов, или другим.

Есть две операции:
1. readfile()
2. fpassthru()

Какой вариант предложите?
355
24 ноября 2006 года
<SCORP>
786 / / 21.10.2006
http://www.raditha.com/wiki/Readfile_vs_include
пусть название статьи не пугает -- там есть таблица со сравнением функций чтения файлов.
8
24 ноября 2006 года
mfender
3.5K / / 15.06.2005
Особо меня возбуждает эта фраза: "Какой вариант предложите?" :D
1.9K
24 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
<SCORP> большое спасибо. Отличная статья.
4
24 ноября 2006 года
mike
3.7K / / 01.10.2002
Цитата: eliteMOBILE
<SCORP> большое спасибо. Отличная статья.


Офф: Для благодарностей есть репутация ;)

1.9K
24 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
mike, а где эта реппутация? На forum.searchengines.ru есть реппутация, а у вас на форуме я не заметил где она отображается, и как я могу повысить другим реппутацию
4
24 ноября 2006 года
mike
3.7K / / 01.10.2002
Цитата: eliteMOBILE
mike, а где эта реппутация? На forum.searchengines.ru есть реппутация, а у вас на форуме я не заметил где она отображается, и как я могу повысить другим реппутацию


Повысить - весы слева. Отображается в зеленных кубиках.

256
24 ноября 2006 года
foxweb
1.0K / / 27.07.2005
Цитата: eliteMOBILE
foxweb, я тоже об этом читал. Мне интерестно, таким ли способом выводят файлы через PHP скрипты на сайтах файловых архивов и mp3 порталов, или другим.

Есть две операции:
1. readfile()
2. fpassthru()

Какой вариант предложите?



Нет, на файловых архивах и т.п. сайтах с большим download-трафиком использовать эти функции неэффективно. Всё происходит именно на уровне файлов и директорий. То есть скажем пользователь кликается по ссылке "скачать", после чего вызывается скрипт, учитывающий факт скачивания, готовит файл для скачивания (помещает его в директорию, доступную только для этого юзера, причём на определённый срок) и этот файл скачивается. URL принимает вид вроде такого: /files/sdfpouikjnvkdfwerfwef/34635684562345623562345/file.mp3

Вариант с применением файловых функций приемлем только при маленькой нагрузке и небольших файлах (скажем до 1 Мб). Иначе MP3 и варез-сервера просто "горели" бы от такой нагрузки :)

355
25 ноября 2006 года
&lt;SCORP&gt;
786 / / 21.10.2006
Цитата: eliteMOBILE
<SCORP> большое спасибо. Отличная статья.



ок, буду иметь в виду. потому что сам не читал :D

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог