Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скачать файл сервером и передать пользователю
 
 автор: Елена Смирнова   (28.12.2008 в 16:34)   письмо автору
 
 

Скажите, как средствами PHP скачать файл с удаленного сервера и передать пользователю с таким же названием, типом и размером?
Файлы размером 4-6мб

  Ответить  
 
 автор: xx 77   (28.12.2008 в 17:53)
 
   для: Елена Смирнова   (28.12.2008 в 16:34)
 

а если просто RewriteRule с флагом [P] ( если не установлен mod_proxy лучше не пробовать )
, не пробовали ?
И лучше-бы сделать просто редирект , хоть будет докачка, если что
// интересно будет-ли докачка с mod_proxy

  Ответить  
 
 автор: Елена Смирнова   (28.12.2008 в 19:19)   письмо автору
 
   для: xx 77   (28.12.2008 в 17:53)
 

Можно наглядным примером, я с RewriteRule не работала ни разу.

  Ответить  
 
 автор: xx77   (28.12.2008 в 20:54)   письмо автору
 
   для: Елена Смирнова   (28.12.2008 в 19:19)
 

С редиректом , есть даже два способа , с mod_rewrite и без него
что-то типа такого (бывают разные значения например переменных типа REQUEST_URI на разных серверах)
# RedirectMatch /zagruzon/(.*\.gif)$ http://www.xx77/img/$1
# Простой вариант с редиректом


Options +FollowSymlinks
RewriteEngine On
RewriteBase /zagruzon/

RewriteCond %{REQUEST_URI} ^/zagruzon/(.*\.gif)$ [NC,OR]
RewriteCond %{REQUEST_URI} ^/zagruzon/(.*\.jpe?g)$ [NC]
# тех кто за jpg , jPeg  , GIF ...
RewriteRule ^.*$ http://xx77/dl/%1 [L,R]

#все остальные видят только index.php

RewriteCond %{REQUEST_URI} !^.*/index\.php$ 
RewriteRule ^(.+)$ ?x=$1 [L]

это если например все посылаются в папку /zagruzon/ ? в корне сайта , в которой всего два файла , этот .htaccess и index.php

но чтобы скрыть настоящий адрес картинок , нужно чтобы на apache был установлен mod_proxy
и поменять [L,R] на [L,P]
, у меня его нет, и незнаю как он поведёт себя, и снимаю с себя всю ответственность за последствия :)

  Ответить  
 
 автор: Елена Смирнова   (28.12.2008 в 23:47)   письмо автору
 
   для: xx77   (28.12.2008 в 20:54)
 

Скажите, а чем отличаются эти варианты?
mod_proxy нету, поэтому с [L,P] не работает.

  Ответить  
 
 автор: xx77   (28.12.2008 в 23:55)   письмо автору
 
   для: Елена Смирнова   (28.12.2008 в 23:47)
 

Это так , даже не варианты :) это например просто

нужно делать взависимости от того что именно нужно отдавать , и как,
и предусмотреть все возможные случаи
, в моём примере не всё предусмотрено , например незнаю что получится , если вызвать /zagruzon/otherdir/index.php
или картинку с get-параметрами

и вообще влияют-ли расширения файлов , или это должен быть любой файл.
и если нужно делать скрыто , а не радиректить , то без mod_proxy остаётся только php

  Ответить  
 
 автор: Елена Смирнова   (29.12.2008 в 00:00)   письмо автору
 
   для: xx77   (28.12.2008 в 23:55)
 

А случаем примера на php нету? Чтобы php скачал файл и выдал его пользователю

  Ответить  
 
 автор: xx77   (29.12.2008 в 01:16)   письмо автору
 
   для: Елена Смирнова   (29.12.2008 в 00:00)
 

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=51167
Здесь например можно понять примерный механизм отправки файла.
Где-то видел это оформленное как функцию , но не смог найти , сам это я долго буду сочинять , не заготавливал такие шаблоны для быстрой вставки ;)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования