Login   Register  
PHP Classes
elePHPant
Icontem

File: download_source.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Vaclav Mares  >  ontoProdukt  >  download_source.php  >  Download  
File: download_source.php
Role: Application script
Content type: text/plain
Description: download_source.php
Class: ontoProdukt
Generate product feeds in XML formats
Author: By
Last change:
Date: 2010-12-29 15:40
Size: 1,298 bytes
 

Contents

Class file image Download
<?

/*
zdroj - http://www.linuxsoft.cz/article.php?id_article=310
Trik spočívá v přidání hlaviček, které se pokusí vysvětlit prohlížečům, že mají se souborem zacházet jako s něčím ke stažení a ne to zobrazovat. Pozor, zase platí, že k souboru musíme mít minimálně právo pro čtení, abychom jej mohli stáhlout. Různé prohlížeče se k tomuto postupu postaví různě, ale je to lepší než nic.
Pozn.: V reálné aplikaci bychom zřejmě místo proměnné $soubor, která je zde nastavena "natvrdo" použili funkci a umožnili bychom tak stahovat například soubor předaný jako parametr. V příkladu to není úmyslně, je to potenciální bezpečnostní díra do souborového systému webu.
Uvědomte si rovněž, že to, co chceme stahovat vůbec nemusí předtím existovat jako soubor na serveru. Následující skript například vytvoří 
*/
/*
Pokud máte zapnutou PHP konstantu magic_quotes_gpc, tak u $_POST, $_GET a $_COOKIE automaticky dochází k přidávání zpětných lomítek například před uvozovku, apostrof a zpětné lomítko. Ještě jednou zdůrazňuji, že automaticky.
*/
header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
$file_name $_POST['file_name'];

header("Content-Disposition: attachment; filename=\"$file_name\"");
$source $_POST['source'];
echo 
$source;
?>