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

Форум PHP

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

 

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

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

тема: скачивание txt файла

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

 
 автор: psychomc   (11.12.2013 в 23:05)   письмо автору
 
   для: цы   (20.06.2009 в 15:10)
 

[Модератор: принято]

  Ответить  
 
 автор: Sfinks   (11.12.2013 в 22:14)   письмо автору
 
   для: sergei1094   (11.12.2013 в 00:11)
 

[Модератор: Еще один неадекватный пост, и закрываем тему!]

  Ответить  
 
 автор: psychomc   (11.12.2013 в 13:18)   письмо автору
 
   для: *m*   (21.06.2009 в 19:43)
 

не правильно делаете, до вызова header не должно быть никакого вывода в браузер

  Ответить  
 
 автор: sergei1094   (11.12.2013 в 00:11)
 
   для: *m*   (21.06.2009 в 19:43)
 

Запуская скрипты в которых присутствует заголовок, убедитесь, что САМАЯ первая строка где открывается тег <?php не имеет пробелов до него. И самой первой строкой должен быть именно данный тег. Тег типа данного типа правильный:
1. <?php ...
2.
3.

Тег данного типа не правильный

1.
2. <?php ...
3.

Если же у вас сделано всё правильно, то проверьте кодировку вашего php скрипта. Он должен быть в кодировке UTF-8 без BOM сигнатуры. Зачастую ошибка в заголовках возникает из-за BOM сигнатуры. Принцип таков: Данная сигнатура, устанавливает специальный НЕВИДИМЫЙ символ в самое начало вашего файла. Вам может казаться что начало строки пустое, но может быть и не так, и придерживайтесь данного правила.

  Ответить  
 
 автор: vitaly-nikov   (19.11.2012 в 17:44)   письмо автору
 
   для: Adamant   (21.06.2009 в 20:38)
 

А подскажите как эту кнопку "Скачать файл" вывести в HTML файл отдельно (для размещения в статье, к примеру)?
И как можно вместо кнопки "Скачать файл" добавить картинку?
Заранее СПАСИБО!!!

  Ответить  
 
 автор: Adamant   (21.06.2009 в 23:24)   письмо автору
 
   для: Diplex   (21.06.2009 в 23:10)
 

Если уважаемый M не может(не хочет) справиться с такой пустяковой задачей, то что говорить о более сложных.
Элементарное нежелание думать(соображать) самостоятельно. Есть такой инструмент Google, который может ответить почти на все вопросы.

ЗЫ. Diplex согласен с вами. Тоже считаю, что уже более чем достаточно помогли топикастеру, для того чтобы у него по сабжу наступило просветление.

  Ответить  
 
 автор: Diplex   (21.06.2009 в 23:10)   письмо автору
 
   для: Adamant   (21.06.2009 в 20:38)
 

Жесть в том, что человек не хочет слушать! Его просят, чтобы ничего не менял, а он каждый раз что-то своё добавляет... Лично мои нервы сдают :)))

  Ответить  
 
 автор: Adamant   (21.06.2009 в 20:38)   письмо автору
 
   для: *m*   (21.06.2009 в 19:43)
 

Жесть! Честное слово. Обязательно к прочтению (изучению) http://phpfaq.ru/header
Вот запустите ничего не меняя в коде:


<?php 
$file 
'text.txt';

if (isset(
$_GET['down'])) { 
    if (
$_GET['down'] == $file) { 
        if (!
is_file($file)) {
            echo 
"Файл <b>$file</b> не найден<br />\n";
        } else {
            
header("Content-Disposition: attachment; filename=$file"); 
            
header("Content-type: application/octet-stream"); 

            
readfile($file); 
            exit;
        }
    } else {
        echo 
"Файл $file не разрешен админом для скачивания<br>\n";
   }
} else {
    echo 
"<a href='?down=$file'> Скачать файл </a><br />\n"
}
?>

  Ответить  
 
 автор: *m*   (21.06.2009 в 19:43)   письмо автору
 
   для: Diplex   (21.06.2009 в 15:07)
 

итак, делаю так:

создал файл text.txt

создал файл script.php его содержание:


<form method="get">
<input type="submit" name="down" value="down">
</form>

<?php 
if($_GET['down']) 

if (
is_file($_GET['down'])) { 
header("Content-Disposition: attachment; filename=\"$_GET[down]\"");  
header("Content-type: application/octet-stream");  
echo 
file_get_contents($_GET['down']);   
} else { echo 
'Файл не найден!'; } 
} else { echo 
'Не передано название файла!'; } 

echo 
"<a href='script.php?down=text.txt'> Скачать </a>";
?>


пишу в браузере http://.../script.php
загружается страница с кнопкой down
ниже:
Не переданно название файла 'Скачать файл'

после нажатия на кнопку down
пишет файл не найден (хотя файл есть он существует!)
нажимаем скачать файл

выводит:

Cannot modify header information - headers alreadz sent bz )output started at (далее полный путь к файлу script.php on line 9)

Cannot modify header information - headers alreadz sent bz )output started at (далее полный путь к файлу script.php on line 10)

как раз там где находяться строчки заголовков..
и выводит содержание файла text.txt в браузер.

мазафака это самое геморойное с чем мне приходилось сталкиваться, я и самое обидное что я не могу понять почему не работает, что не так???

  Ответить  
 
 автор: Diplex   (21.06.2009 в 15:07)   письмо автору
 
   для: *m*   (21.06.2009 в 00:59)
 

Ничего нигде менять не нужно. Сделайте всё, как я написал, и посмотрите на результат.

  Ответить  

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

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

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