отдача больших файлов (php + nginx) - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - 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) ramzes Tue, 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) ramzes Tue, 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) ramzes Tue, 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">&lt;? $ftime = gmdate(&quot;D, d M Y H&#58;i&#58;s&quot;, filemtime(&#039;files/&#039;.$file&#91;&#039;md5&#039;])).&quot; GMT&quot;; header(&#039;Cache-control&#58; public&#039;); header(&#039;Content-Length&#58; &#039;.$file&#91;&#039;file_size&#039;]); header(&#039;Last-Modified&#58; &#039;.$ftime); header(&#039;Expires&#58; 0&#039;); header(&#039;Cache-Control&#58; must-revalidate&#039;); header(&#039;Pragma&#58; public&#039;); header(&quot;Content-Type&#58; application/octet-stream&quot;); header(&#039;Content-Description&#58; File Transfer&#039;); header(&#039;Content-Disposition&#58; attachment; filename=&#039;.$_SERVER&#91;&#039;HTTP_HOST&#039;].&#039;_&#039;.valid_filename($file&#91;&#039;file_name&#039;])); header(&#039;Content-Transfer-Encoding&#58; binary&#039;); header(&#039;X-Sendfile&#58; files/&#039;.$file&#91;&#039;md5&#039;]); //header(&#039;X-Accel-Redirect&#58; files/&#039;.$file&#91;&#039;md5&#039;]); </pre> https://visavi.net/topics/29740/510087 отдача больших файлов (php + nginx) ramzes Mon, 20 Feb 2012 23:45:36 +0400 Сообщения https://visavi.net/topics/29740/510087 22. <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) ramzes Mon, 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) ramzes Mon, 20 Feb 2012 21:51:19 +0400 Сообщения https://visavi.net/topics/29740/509985 17. <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) Ant0ha Mon, 20 Feb 2012 21:43:38 +0400 Сообщения https://visavi.net/topics/29740/509977 17, опиши плиз задачу. чем не устраивает вариант с 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/509976 17. <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> мне не нужно &quot;как должно быть&quot; мне нужно, как необходимо. <br> Где ты хоть слово о статике увидел?<br> Улови разницу.<br> К чему был этот высер? https://visavi.net/topics/29740/509965 отдача больших файлов (php + nginx) ramzes Mon, 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) Ant0ha Mon, 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