отдача больших файлов (php + nginx) - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Sat, 11 Jan 2025 02:01:49 +0300<blockquote class="blockquote"><strong>ShiftBHT</strong> (21 Февраля 2012 / 05:44)<br>
а чем оно не безопасно? оставь deny from all в .htaccess, и доступа минуя nginx туда не будет, nginx отправит запрос апачу (ибо не попадёт под регулярку статики)</blockquote>
с дени фром алл нигс отдает пустой файл
https://visavi.net/topics/29740/510190
отдача больших файлов (php + nginx) ramzesTue, 21 Feb 2012 08:40:38 +0400Сообщенияhttps://visavi.net/topics/29740/510190а чем оно не безопасно? оставь deny from all в .htaccess, и доступа минуя nginx туда не будет, nginx отправит запрос апачу (ибо не попадёт под регулярку статики)
https://visavi.net/topics/29740/510166
отдача больших файлов (php + nginx) ктулхуTue, 21 Feb 2012 05:44:54 +0400Сообщенияhttps://visavi.net/topics/29740/510166<blockquote class="blockquote"><strong>ShiftBHT</strong><br>
Главное чтобы файл хранится с реальным расширением, ибо помоему заголовки с указанием типа не воспринимаются =( надо тестировать</blockquote>
Проверил, с заголовками все отлично, он их наследует от скрипта<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile">
https://visavi.net/topics/29740/510103
отдача больших файлов (php + nginx) ramzesTue, 21 Feb 2012 00:23:41 +0400Сообщенияhttps://visavi.net/topics/29740/510103в общем завелся по методу Артема, Шифта<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> <br>
теперь другая проблема, пришлось убрать дени фром алл<br>
как организовать безопасное хранение?
https://visavi.net/topics/29740/510098
отдача больших файлов (php + nginx) ramzesTue, 21 Feb 2012 00:04:31 +0400Сообщенияhttps://visavi.net/topics/29740/510098<blockquote class="blockquote"><strong>akawin</strong> (20 Февраля 2012 / 23:30)<br>
22. <strong>ramzes</strong>, Но ведь отдает файл? уже хорошо :-)</blockquote>
да нет ни чего он не отдает как раз.<br>
просто заголовки же идут на отдачу и все. а контент нулевой((<br>
и вроде все верно..<br>
<br>
<pre class="prettyprint"><?
$ftime = gmdate("D, d M Y H:i:s", filemtime('files/'.$file['md5']))." GMT";
header('Cache-control: public');
header('Content-Length: '.$file['file_size']);
header('Last-Modified: '.$ftime);
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header("Content-Type: application/octet-stream");
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename='.$_SERVER['HTTP_HOST'].'_'.valid_filename($file['file_name']));
header('Content-Transfer-Encoding: binary');
header('X-Sendfile: files/'.$file['md5']);
//header('X-Accel-Redirect: files/'.$file['md5']);
</pre>
https://visavi.net/topics/29740/510087
отдача больших файлов (php + nginx) ramzesMon, 20 Feb 2012 23:45:36 +0400Сообщенияhttps://visavi.net/topics/29740/51008722. <strong>ramzes</strong>, Но ведь отдает файл? уже хорошо :-)
https://visavi.net/topics/29740/510072
отдача больших файлов (php + nginx) ДмитрийMon, 20 Feb 2012 23:30:11 +0400Сообщенияhttps://visavi.net/topics/29740/510072<blockquote class="blockquote"><strong>akawin</strong> (20 Февраля 2012 / 21:40)<br>
x-sendfile: fail.avi </blockquote>
попробовал<br>
правда на денвере, но файл отдает пустой<img src="https://visavi.net/uploads/stickers/sad.gif" alt="sad"> 0 байт
https://visavi.net/topics/29740/510034
отдача больших файлов (php + nginx) ramzesMon, 20 Feb 2012 22:50:19 +0400Сообщенияhttps://visavi.net/topics/29740/510034<blockquote class="blockquote"><strong>Ant0ha</strong> (20 Февраля 2012 / 21:43)<br>
17. <strong>ramzes</strong>, высер? оу оу, попридержи лошадей) у тебя гиговые файлы != статика? тогда что же это?<br>
<br>
<em><span style="font-size:x-small">Добавлено через 00:30 сек.</span></em><br>
сначала обиделся на гугл, теперь на меня)</blockquote>
1. Обменник.<br>
2. Я яндекс предпочитаю.<br>
3. Обижаются дети.<br>
____<br>
Артем, у меня файл вида md5_file(), в папке с deny from all<br>
И без всяких расширений.<br>
Файлы любые, и php тоже
https://visavi.net/topics/29740/509985
отдача больших файлов (php + nginx) ramzesMon, 20 Feb 2012 21:51:19 +0400Сообщенияhttps://visavi.net/topics/29740/50998517. <strong>ramzes</strong>, высер? оу оу, попридержи лошадей) у тебя гиговые файлы != статика? тогда что же это?<br>
<br>
<em><span style="font-size:x-small">Добавлено через 00:30 сек.</span></em><br>
сначала обиделся на гугл, теперь на меня)<br>
<br>
<em><span style="font-size:x-small">Добавлено через 05:23 сек.</span></em><br>
небольшую поправку уже высером называют) надо быть хоть немного самокритичным
https://visavi.net/topics/29740/509977
отдача больших файлов (php + nginx) Ant0haMon, 20 Feb 2012 21:43:38 +0400Сообщенияhttps://visavi.net/topics/29740/50997717, опиши плиз задачу. чем не устраивает вариант с X-Accel-Redirect? помоему хороший вариант, есть аналог для апача (можно предусмотреть и работу скрипта без nginx).
https://visavi.net/topics/29740/509976
отдача больших файлов (php + nginx) ктулхуMon, 20 Feb 2012 21:42:04 +0400Сообщенияhttps://visavi.net/topics/29740/50997617. <strong>ramzes</strong>, Ну как обычно ты файл отдаешь? передаешь нужные заголовки- отменяешь кэширование браузером, размер фаила, тип, название, дата модификации потом печатаешь echo file get contents или readfile или while(fread - php сам пишет файл в буфер и отдает, а тут вроде такой есть заголовок x-sendfile: fail.avi он то и определяет передачу, но тип файла передавать скорее всего надо что бы ясно было браузеру, а насчет дальнейшего участия php не уверен возможно нужно завершать работу сразу после отправки заголовка die or exit(статус-код)<br>
но это лишь теория опыта мне не пришлось еще набраться :-)
https://visavi.net/topics/29740/509974
отдача больших файлов (php + nginx) ДмитрийMon, 20 Feb 2012 21:40:51 +0400Сообщенияhttps://visavi.net/topics/29740/509974<blockquote class="blockquote"><strong>akawin</strong> (20 Февраля 2012 / 21:17)<br>
заголовки типа икс-сендфиле, работает на уровне сервера</blockquote>
А подробнее можно?<br>
<br>
<em><span style="font-size:x-small">Добавлено через 05:10 сек.</span></em><br>
<blockquote class="blockquote"><strong>Ant0ha</strong> (20 Февраля 2012 / 21:20)<br>
<br>
А может дело в тебе ;/ Какой запрос, такой и ответ) php кода и не должно быть при отдаче статики)</blockquote>
мне не нужно "как должно быть" мне нужно, как необходимо. <br>
Где ты хоть слово о статике увидел?<br>
Улови разницу.<br>
К чему был этот высер?
https://visavi.net/topics/29740/509965
отдача больших файлов (php + nginx) ramzesMon, 20 Feb 2012 21:31:10 +0400Сообщенияhttps://visavi.net/topics/29740/509965Т.е очевидно должны быть контент-тип, диспонсион и сам икс-сенд где и указывать пути к файлу<br>
размер файла и подобное не передается в заголовка .....
https://visavi.net/topics/29740/509953
отдача больших файлов (php + nginx) ДмитрийMon, 20 Feb 2012 21:23:49 +0400Сообщенияhttps://visavi.net/topics/29740/509953<blockquote class="blockquote"><strong>ramzes</strong> (20 Февраля 2012 / 20:57)<br>
Огрвничений мне не надо, а вот гглить больше не буду, гугл мусорка а не поисковик, выдает бред всякий с настройкой конфигов и т.д.</blockquote>
<br>
А может дело в тебе ;/ Какой запрос, такой и ответ) php кода и не должно быть при отдаче статики)
https://visavi.net/topics/29740/509948
отдача больших файлов (php + nginx) Ant0haMon, 20 Feb 2012 21:20:07 +0400Сообщенияhttps://visavi.net/topics/29740/509948Попробуйте через специализированные заголовки, как альтернатива фреду в цикле заголовки типа икс-сендфиле, работает на уровне сервера сам лично опыта не имею
https://visavi.net/topics/29740/509946
отдача больших файлов (php + nginx) ДмитрийMon, 20 Feb 2012 21:17:44 +0400Сообщенияhttps://visavi.net/topics/29740/509946