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

Разное

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Передача файла через header

Сообщения:  [1-10]    [11-20]  [21-25] 

 
 автор: Sasha   (01.04.2006 в 21:34)   письмо автору
 
   для: Trianon   (31.03.2006 в 17:05)
 

Может есть какой пример такого действа?

   
 
 автор: Trianon   (31.03.2006 в 17:05)   письмо автору
 
   для: Sasha   (31.03.2006 в 16:43)
 

Одно дело - отдать ссылку (даже не ссылку, а перекинуть на новое Location) через php. И совсем другое - толкать через php весь файл.

   
 
 автор: Sasha   (31.03.2006 в 16:43)   письмо автору
 
   для: Trianon   (31.03.2006 в 12:10)
 

Если честно, то я не понимаю...
Чтоб дать случайную ссылку, нужно присвоить файлу это случайное имя. Но тут опять же без выдачи через php не обходится....
Может какой пример есть?

   
 
 автор: Trianon   (31.03.2006 в 12:10)   письмо автору
 
   для: Sasha   (31.03.2006 в 11:49)
 

link($file, $randomname);
Возможно, достаточно будет символической:
symlink($file, $randomname);
Но в последнем я не уверен. Нужно проверять.

   
 
 автор: Sasha   (31.03.2006 в 11:51)   письмо автору
 
   для: Trianon   (31.03.2006 в 11:46)
 

Ну это просто идеальный вариант :))

   
 
 автор: Sasha   (31.03.2006 в 11:49)   письмо автору
 
   для: Trianon   (31.03.2006 в 10:57)
 

а можно здесь поподробнее
Мы создаём ссылку со случайным именем, а как к нему привязать конкретный файл?

   
 
 автор: Trianon   (31.03.2006 в 11:46)   письмо автору
 
   для: Sasha   (31.03.2006 в 11:20)
 

(to Loki: Спасибо!)

Да, я глянул на скрипт Akira. Конечно, он не хватает тело файла в переменную, но всё же весь траффик прёт через PHP-модуль. К нему даже несложно дописать Accept-Ranges - докачку.
Но я то думал, как сделать чтоб целевым трафиком распоряжался сам апач без привлечения слоя PHP.

   
 
 автор: Loki   (31.03.2006 в 11:21)   письмо автору
 
   для: Trianon   (31.03.2006 в 10:57)
 

http://softtime.ru/forum/read.php?id_forum=1&id_theme=9566&page=1

   
 
 автор: Sasha   (31.03.2006 в 11:20)   письмо автору
 
   для: Trianon   (31.03.2006 в 10:57)
 

Сам скрипт вот

http://www.softtime.ru/forum/files/9566-20051119124252.txt

   
 
 автор: Sasha   (31.03.2006 в 11:18)   письмо автору
 
   для: Loki   (31.03.2006 в 10:00)
 

А как это можно использовать (если можно) без БД. Передаём просто имя файла в переменной (?video=vasya) к нему в скрипте добавляем расширение и забираем с соседней папки. У меня что-то не получается, приходит файл в 132 байта.

Сейчас я использую такую конструкцию

$url = @$_SERVER["HTTP_REFERER"]; // Реферер откуда пришел человек.
  @preg_match("/^(http:\/\/)?([^\/]+)/i", $url, $matches); // www адрес
  @$host = $matches[2];
  @preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches); // хост реферера
  @$domain = $matches[0];
    preg_match("/[^\.\/]+\.[^\.\/]+$/", $_SERVER["HTTP_HOST"], $matches); // тукущий хост
  $now_domain = $matches[0];
  if ($now_domain === $domain) {
    // Осуществляем редирект на URL 
$file = "box/".$_GET['url']; 
$str="Content-Disposition: attachment; filename=" .$_GET['url']; 
header($str); 
header("Content-type: application/octet-stream");
echo file_get_contents ($file); 
 } else { // Если нет, отправляем на стартовую страницу
    header("Location: index.php");
  }

?> 



изменить под get_file($_GET['id']); не получается что-то :(

   

Сообщения:  [1-10]    [11-20]  [21-25] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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