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

Форум PHP

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

 

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

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

тема: Распаковка архива

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

 
 автор: co6r (гость)   (03.03.2006 в 21:55)
 
   для: Trianon   (03.03.2006 в 11:37)
 

точно...забыл про этувозможность, спасибо

   
 
 автор: Trianon   (03.03.2006 в 11:37)   письмо автору
 
   для: co6r (гость)   (03.03.2006 в 09:29)
 

на самом деле из заголовков нужно только
header("Content-type: application/octet-stream; name=\"$filename\""); 
header("Content-Disposition: attachment; filename=\"$filename\""); 


А ежели хочется просто, то неужели правой кнопкой нажать на ссылку и выбрать "Сохранить объект как..." это так сложно?

   
 
 автор: co6r (гость)   (03.03.2006 в 09:29)
 
   для: Трататых   (23.02.2006 в 12:49)
 

1. я из файлы как раз из zip достаю
2. не ужели, просто через <a href=..> никак нельзя?

   
 
 автор: Трататых   (24.02.2006 в 11:13)
 
   для: co6r   (24.02.2006 в 09:57)
 

Можно и подробнее (некотые переменные остались выше или в др. файле, ну да сам разберёшся):

Скрипт смотрит путь с юних машины через самбу и поддерживает докачку, еств. весь файл в память не берёт.

$filename = '/mnt/samba/'.$serv.'/'.$dira."/".$full;
if (!file_exists($filename))
    {
    header ("HTTP/1.0 404 Not Found");
    echo "HTTP/1.0 404 Not Found";
    exit;
    }

$fsize = filesize($filename);
$ftime = date("D, d M Y H:i:s T", filemtime($filename));
$fdata = @fopen($filename, "rb");
if (!$fdata)
    {
    header ("HTTP/1.0 403 Forbidden");
    echo "HTTP/1.0 403 Forbidden";
    exit;
    }

if ($_SERVER["HTTP_RANGE"])
    {
    $range = $_SERVER["HTTP_RANGE"];
    $range = str_replace("bytes=", "", $range);
    $range = str_replace("-", "", $range);
    if ($range) {fseek($fdata, $range);}
    }

if ($range)
    {
    header("HTTP/1.1 206 Partial Content");
    } else {
    header("HTTP/1.1 200 OK");
    }

header("Content-Disposition: attachment; filename=\"$full\"");
header("Last-Modified: $ftime");
header("Accept-Ranges: bytes");
header("Content-Length: ".($fsize-$range));
header("Content-Range: bytes $range-".($fsize -1)."/".$fsize);
header("Content-type: application/octet-stream");
header("Content-Type: application/force-download");           // вот примерно такие нужны хэдеры
header("Content-Type: application/download");
header("Content-Transfer-Encoding: binary");

while (!feof ($fdata))
    {
    $inew = date("s");
    print fgets($fdata,4096);
    } // X while

fclose($fdata);

   
 
 автор: co6r   (24.02.2006 в 09:57)   письмо автору
 
   для: Трататых   (23.02.2006 в 12:49)
 

>Посылать хедер с несуществующим типом, тогда броузер не будет пытаться его >ассоциировать с каким-либо приложением.

можно поточнее?, что-то у меня не получается...

   
 
 автор: Трататых   (23.02.2006 в 12:49)
 
   для: co6r   (23.02.2006 в 11:39)
 

Можно сделать ещё проще: нужные несколько файлов запаковывать в архив .zip и затем отдавать посетителю.

>А как по ссылке выдавать разные файлы на сохранение?
>А то так он мне их открывает браузером
Посылать хедер с несуществующим типом, тогда броузер не будет пытаться его ассоциировать с каким-либо приложением.

   
 
 автор: co6r   (23.02.2006 в 11:39)   письмо автору
 
   для: cernos   (21.02.2006 в 16:28)
 

А как по ссылке выдавать разные файлы на сохранение?
А то так он мне их открывает браузером

   
 
 автор: cernos   (21.02.2006 в 16:28)   письмо автору
 
   для: co6r   (21.02.2006 в 08:07)
 

Вот взять ваш скрипт и переделать таким вот образом:

<?php 
Error_Reporting
(E_ALL & ~E_NOTICE); 
//cikl 
  for ($i 0$i <= count($ARX); $i++) 
  
                                                             
//soxranenie 
echo "<a href=\"$ARX[$i]\" title='Скачать файл $ARX[$i]'>$ARX[$i]</a><br>\n"
}
                                                                                       
?>
 

   
 
 автор: cernos   (21.02.2006 в 16:25)   письмо автору
 
   для: co6r   (21.02.2006 в 14:11)
 

Хм! А не проще ли сделать не галочками, а показывать название файла как ссылку т.е.

[url]image.jpg[/url]
[url]readme.txt[/url]
[url]install.txt[/url]
[url]resorse.jpg[/url]
Каждая ссылка указывает на определенный файл! который хранится где там в темпе

   
 
 автор: co6r   (21.02.2006 в 14:11)   письмо автору
 
   для: cheops   (21.02.2006 в 13:34)
 

А указать где взять скрипт не можете?

   

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

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

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