За последние 24 часа нас посетили 17602 программиста и 1721 робот. Сейчас ищет 891 программист ...

header("Content-Disposition: attachment")

Тема в разделе "PHP для новичков", создана пользователем Eser, 5 мар 2011.

  1. Eser

    Eser Активный пользователь

    С нами с:
    16 янв 2007
    Сообщения:
    141
    Симпатии:
    0
    Люди подскажите как мне отправить правильно заголовок.
    При нажатии на ссылку, содержимое выводиться в окне браузера, а нужно что бы предлагалось сохранить файл.

    Вот код:
    //Делаем резервную базу данных
    Код (Text):
    1. if(isset($_POST[save_bd]))
    2. {
    3. $name = date("d.m.Y_H-i-s");
    4. exec("rm /var/www/os/mysql_dump/*.sql");
    5. exec("chmod -R 777 /var/www/os/mysql_dump/");
    6. exec("/usr/bin/mysqldump -u root -P 3306 -h 127.0.0.1 -p1234567 os>/var/www/os/mysql_dump/dump_$name.sql");
    7.  
    8. $dir = opendir ("/var/www/os/mysql_dump/");
    9.  
    10.  while ($file = readdir ($dir) )
    11.   {
    12.     if($file=="dump_$name.sql")
    13. {
    14.  
    15. $view_dump="Создана резервная копия:<a href='mysql_dump/dump_$name.sql'>dump_$name.sql</a>&nbsp
    16. <a href='admin.php?go=database&delete_dump=not_null'><img src='pic/16/delete16.png'></a><br>
    17. <font color=red>Сохраните резервную копию на ваш компьютер,для этого нажмите на файл.</font>
    18. ";
    19. }
    20.   }
    21.   closedir ($dir);
    22. }
    Я так понимаю что мне нужно отправить заголовок вида:
    header("Content-Disposition: attachment; filename=dump_$name.sql"); Но не понимаю как его передать и где.
    Как вариант добавлять в архив но очень не хочется.
     
  2. runner

    runner Активный пользователь

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    1) ссылка должна быть на скрипт, который выдает файл на загрузку
    PHP:
    1.  
    2. $view_dump="Создана резервная копия:<a href='upload.php?file=dump_$name.sql'>dump_$name.sql</a>&nbsp
    3. <a href='admin.php?go=database&delete_dump=not_null'><img src='pic/16/delete16.png'></a><br>
    4. <font color=red>Сохраните резервную копию на ваш компьютер,для этого нажмите на файл.</font>";
    5.  
    2)примерный код upload.php-выдает файл на загрузку
    PHP:
    1.  
    2. if(isset($_GET['file']))
    3. {
    4.      $filename="/var/www/os/mysql_dump/{($_GET['file']}";// полный путь к файлу
    5.      header("Content-type: application/octet-stream");
    6.      header("Content-disposition: attachment; filename=\"{$_GET['file']}\"\n\n"  );
    7.      // выдаешь содержимое файла
    8.      echo readfile($filename);
    9. }
    10.