<?
/*
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;
?>
|