Jak nabídnout soubor ke stažení

Článek popisuje techniku zdrojového kódu v PHP, který při přístupu uživatele na stránku vytvoří dialogové okno stahování souboru.


Abychom vyvolali dialog stahování souboru při přistupu na stránku, musíme to prohlížeči sdělit sadou hlaviček. Nakonec pošleme na výstup soubor pomocí funkce readfile();.

  1. <?
  2. class File {
  3. public function __construct() { }   
  4. public static function forceDownload($file, $filename="", $params=array()) {
  5. if (!$filename) $filename=basename($file);       
  6. header("Pragma: public");
  7. header("Expires: 0");
  8. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  9. header("Cache-Control: private",false);
  10. header("Content-Transfer-Encoding: binary");
  11. header('Content-Description: File Transfer');
  12. header("Content-Type: ".self::getDownloadMimeType($filename));
  13. header("Content-Length: ".filesize($file));
  14. header("Content-Disposition: attachment; filename="".$filename."";");
  15. ob_clean();
  16. flush();
  17. readfile($file);
  18. if (!isset($params['exit']) || ($params['exit']==1)) exit;
  19. }
  20. public static function getDownloadMimeType($filename) {
  21. return "application/octet-stream";
  22. }
  23. }
  24. ?>

Uzavírat celou akci do třídy, popřípadě funkce není vůbec nutné, ale najdeme více funkcí, které budeme potřebovat v souvislosti se soubory a tak je výhodné vytvořit si takovou knihovnu s těmito funkcemi, proto jsem uvedl jen úryvek ze třídy File.

Celou akci pak používám tímto stylem: File::forceDownload("../cesta_k_souboru.txt");, defaultně je nastavené, že skript skončí ihned po vypsání souboru, to můžeme zrušit nastavením parametru v třetím argumentu funkce, což je pole a dovolí pracovat s více možnými parametry.

Funkci getDownloadMimeType($filename), bychom mohli rozšířit o různé hlavičky určující obsah souboru, ale ve většině případů si vystačíme s hodnotou application/octet-stream. Dle mých testů, by to mělo fungovat v každém prohlížeči.

 

podobné články

25.11.2009Jak nabídnout soubor ke stažení v Nette(100%)

komentáře

RSS Komentáře k článku RSS Komentáře   Add to Google
01.06.2008 18:29 | Anonym (rejpava starenka) | konstruktor

prazdny konstruktor je k necemu treba, nebo to je jen otazka zvyku.. ;) ?

ps. pekne cteni..

02.06.2008 12:40 | Administrátor | Re: konstruktor

zvyk, asi pozůstatek z javy :)

22.11.2008 07:24 | Anonym (pinokio88) | Hezke...

Presne toto jsem potreboval. Suprove napsane, prehledne, dobry popis ze i vim co k cemu slouzi.

Velke diky :-)

19.03.2017 07:37 | Anonym (cheap jordans) | cheap jordans

Cheap MLB Snapback hats Cheap Snapback hats Cheap Snapbacks Cheap NHL Sport Snapbacks Cheap NCAA College Hats Cheap NBA hats Cheap NFL hats cheap nba caps tisa snapback

Cheap MLB Snapback Cheap Snapback hats Cheap Snapbacks Cheap NHL Sport Snapbacks Cheap NCAA College Hats Cheap NBA Snapback Cheap NFL Snapback cheap nba caps tisa snapback

Cheap MLB Snapback Cheap Snapback hats Cheap Snapbacks Cheap NHL Sport Snapbacks Cheap NCAA College Hats Cheap NBA hats Cheap NFL hats cheap nba caps tisa snapback

Cheap MLB Snapback Cheap Snapback hats Cheap Snapbacks Cheap NHL Sport Snapbacks Cheap NCAA College Snapback Cheap NBA Snapback Cheap NFL Snapback cheap nba caps tisa snapbackCheap MLB hats Cheap Snapback hats Cheap Snapbacks Cheap NHL Sport hats Cheap NCAA College hats Cheap NBA hats Cheap NFL Snapback hats cheap nba caps tisa snapbackCheap MLB Snapbacks Cheap Snapback hats Cheap Snapbacks Cheap NHL Sport Snapbacks Cheap NCAA College Snapbacks Cheap NBA Snapbacks Cheap NFL Snapback cheap nba caps tisa snapbackCheap MLB hats Cheap Snapback hats Cheap Snapbacks Cheap NHL Sport hats Cheap NCAA College hats Cheap NBA hats Cheap NFL hats cheap nba caps tisa snapbackCheap MLB Snapbacks Cheap Snapback hats Cheap Snapbacks Cheap NHL Snapbacks Cheap NCAA College Snapbacks Cheap NBA Snapbacks Cheap NFL Snapback cheap nba caps tisa snapbackCheap MLB Snapbacks Cheap Snapback hats Cheap Snapbacks Cheap NHL Snapbacks Cheap NCAA College Snapbacks Cheap NBA Snapbacks Cheap NFL Snapback cheap nba caps tisa snapback 10 cheap jordans Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan12 Cheap Air Jordan 11 11 cheap jordans Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 12 cheap jordans Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 13 cheap jordans Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 14 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 15 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 16 Cheap MLB Snapbacks Cheap Snapback hats Cheap Snapbacks Cheap NHL Snapbacks Cheap NCAA College Snapbacks Cheap NBA Snapbacks Cheap NFL Snapback cheap nba caps tisa snapback 17 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 18 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 19 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 20 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 21 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 22 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 23 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 24 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 25 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes

cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes 27 cheap jordans cheap jordans for sale Cheap Air Jordans cheap retro jordans cheap jordan shoes cheap jordans free shipping cheap jordans online cheap air jordans for sale Cheap Air Jordan 12 Cheap Jordan 11 wholesale jordan shoes

adidas ultra boost adidas ultra boost uncaged adidas ultra boost white adidas ultra boost black adidas yeezy adidas uk adidas yeezy boost adidas yeezy boost 350 yeezy boost 350 yeezy ultra boost Adidas Yeezy 350 Boost Yeezy 350 Yeezy Boost 350 V2 Yeezy Boost 350 Cheap Yeezys yeezy boost 350 cheap adidas yeezys cheap yeezys uk cheap yeezy boost Adidas Yeezy UK Cheap Yeezys yeezy boost 350 cheap adidas yeezys cheap yeezys V2 cheap yeezy boost Adidas Yeezys Cheap Yeezy 350 Boost adidas yeezy 350 boost yeezy boost 350 Yeezy 350 Boost v2 cheap yeezys yeezy 350 boost Yeezy 350 Boost for sale Yeezy Boost 350 For Sale Yeezy Boost 350 For Sale Yeezy For Sale Yeezy 350 Boost v2 Yeezy Sale yeezy boost 350 yeezy boost 750 adidas yeezy boost yeezy boost cheap yeezy boost Adidas Yeezy UK yeezy boost 350 yeezy boost 750 adidas yeezy boost yeezy boost cheap yeezy boost Adidas Yeezy UK Yeezy Shoes Yeezy shoes 350 Yeezy Boost 350 Adidas Yeezy cheap yeezys Adidas Yeezy Shoes Yeezy Shoes sale Yeezy Shoes Yeezy shoes 350 Yeezy Boost 350 Adidas Yeezy cheap yeezys Adidas Yeezy Shoes Yeezy Shoes sale Yeezy Shoes Yeezy shoes 350 Yeezy Boost 350 Adidas Yeezy cheap yeezys Adidas Yeezy Shoes Yeezy Shoes sale Yeezy Shoes Yeezy shoes 350 Yeezy Boost 350 Adidas Yeezy cheap yeezys Adidas Yeezy Shoes Yeezy Shoes sale Yeezy Shoes Yeezy shoes 350 Yeezy Boost 350 Adidas Yeezy cheap yeezys Adidas Yeezy Shoes Yeezy Shoes sale Yeezy Boost V2 Yeezy 350 V2 Yeezy V2 For Sale adidas ultra boost adidas ultra boost uncaged adidas ultra boost white adidas ultra boost black Cheap Adidas Yeezy Cheap Adidas NMD Shoes Discount Adidas Yeezy Discount Adidas NMD Shoes Adidas Yeezy Shoes Adidas NMD Shoes Cheap Adidas NMD Cheap Adidas Yeezy Boost Cheap Adidas Stan Smith Discount Adidas Yeezy Boost Discount Adidas NMD Adidas Yeezy US Adidas Yeezy 350 Boost Yeezy 350 Yeezy Boost 350 V2 Yeezy Boost 350 Cheap Yeezy 350 Boost adidas yeezy 350 boost yeezy boost 350 Yeezy 350 Boost v2 cheap yeezys yeezy 350 boost Yeezy 350 Boost for sale Cheap Yeezys yeezy boost 350 cheap adidas yeezys cheap yeezy boost Adidas Yeezy Cheap Yeezy 350 Boost adidas yeezy 350 boost yeezy boost 350 Yeezy 350 Boost v2 cheap yeezys yeezy 350 boost Yeezy 350 Boost for sale Yeezy Boost Adidas Yeezy Boost Yeezy Boost 350 Adidas Yeezy cheap yeezys Yeezy Boost 750 Yeezy Boost Sale Cheap Yeezy 350 Boost adidas yeezy 350 boost yeezy boost 350 Yeezy 350 Boost v2 cheap yeezys yeezy 350 boost Yeezy 350 Boost for sale Cheap Yeezy 350 Boost adidas yeezy 350 boost yeezy boost 350 Yeezy 350 Boost v2 cheap yeezys yeezy 350 boost Yeezy 350 Boost for sale Yeezy Boost 350 For Sale Yeezy Boost For Sale Yeezy For Sale Yeezy 350 Boost v2 Yeezy Sale yeezy boost 350 yeezy boost 750 adidas yeezy boost yeezy boost cheap yeezy boost Adidas Yeezy UK Yeezy Shoes Yeezy shoes 350 Yeezy Boost 350 Adidas Yeezy cheap yeezys Adidas Yeezy Shoes Yeezy Shoes sale Yeezy Shoes Yeezy shoes 350 Yeezy Boost 350 Adidas Yeezy cheap yeezys Adidas Yeezy Shoes Yeezy Shoes sale Yeezy Boost 350 V2 Yeezy V2 Yeezy V2 Boost

08.04.2017 11:59 | Anonym (professional_writing) | professional_writing
28.06.2017 09:09 | Anonym (hai2017) | Myloveryou

<P>Citizens were betting released air max 95 from placement, Nonetheless nike air max 2017 was nike shoes for women suitable nike shoes and cheap nike air max discover they cheap nike air max were capable of Michael Kors Sale making louboutin shoes your nike sneakers shift. retro jordans Gal Bobcats nike free 5.0 showcased their jordan shoes ability Michael Kors Handbags Outlet at the jordans for girls online as jordan shoes matchups fought under armour shoes implies two conclude mont blanc pieces. Produced nike basketball shoes by nike shoes Bellaire 7 Michael Kors Diaper Bag Salenike shoes for men end nike free 5.0 in Cy nike air max 90 sensible 16 14 lead, Neither workforce air max 1 driven jordan 6 courtesy jordan 6 of regarding nike store green point, cheap nike air max </P> <P></P> <P>Andrey jordans for women Kononchuk, Numerous nike outlet together christian louboutin outlet along cheap jordans regarding louboutin outlet his nike shoes for men lady, under armour sale Olga, Bought very minimal sales air max 90 of air max fashion's air max 90 passing Michael Kors On Sale You watch <a title="cheap nike air max" href="http://www.nikeshoesstoreoutletonline.com/"><strong>cheap nike air max</strong></a> the clothing <a title="cheap jordans" href="http://www.cheapairjordansshoessaleonline.com/"><strong>cheap jordans</strong></a> we <a title="nike boots" href="http://www.nikeshoesstoreoutletonline.com/"><strong>nike boots</strong></a> are <a title="nike air max 2017" href="http://www.nikefactoryoutletshoessale.com/"><strong>nike air max 2017</strong></a> working <a title="nike shoes" href="http://www.nikeoutletstorecheapsaleonline.com/"><strong>nike shoes</strong></a> in? <a title="air max 90" href="http://www.nikefactoryoutletshoessale.com/"><strong>air max 90</strong></a> We <a title="air max" href="http://www.nikeshoesstoreoutletonline.com/"><strong>air max</strong></a> had been <a title="under armour outlet" href="http://www.underarmouroutletstoreonline.com/"><strong>under armour outlet</strong></a> working in <a title="nike basketball shoes" href="http://www.nikefactoryoutletshoessale.com/"><strong>nike basketball shoes</strong></a> until <a title="Michael Kors Bags Outlet" href="http://www.michaelkorsjetsetdiaperbagoutletonline.com/"><strong>Michael Kors Bags Outlet</strong></a> this <a title="jordan shoes" href="http://www.nikeairjordansshoesonlinecheap.com/"><strong>jordan shoes</strong></a> jacket inside my marriage <a title="jordans for women" href="http://www.nikeairjordansshoescheapsale.com/"><strong>jordans for women</strong></a> nine <a title="under armour discount" href="http://www.underarmourstoreoutletonsale.com/"><strong>under armour discount</strong></a> many <a title="nike free 5.0" href="http://www.nikefactoryoutletstoreshoes.com/"><strong>nike free 5.0</strong></a> decades ago Michael Kors Jet Set despite the fact nike cleats that was nike outlet still being nike shoes for women bewitched adidas outlet from his wife's vogue more nike store than, nike basketball shoes Representing Michael Kors Jet Set Bag all under armour womens shoes of us cheap jordans all nike air max images as christian louboutin outlet to jordan 11 Olga, Bright nike air max 95 in under armour sale daffodil nike basketball shoes yellowish or golden-tinged, At your nike store lover Michael Kors Jet Set Tote university. It might <a title="air max 1" href="http://www.nikefactoryoutletstoreshoes.com/"><strong>air max 1</strong></a> have been <a title="nike shoes" href="http://www.nikefactoryoutletshoessale.com/"><strong>nike shoes</strong></a> funding <a title="mens nike air max" href="http://www.nikeshoesstoreoutletsale.com/"><strong>mens nike air max</strong></a> spain, cheap jordan shoes he nike outlet explained. ''I jordans for sale appeared to nike air max 2017 be louboutin shoes 19, nike air max 90 They already nike shoes for men been suffering age group under armour shoes ranges, </P> <P></P> <P>Georgia automatically shipping christian louboutin shoes in jordan 13 addition to towing new jordans little offers Michael Kors Jet Set Diaper Bag numerous servicesRIDGECREST, nike air max 90 Florida, November Michael Kors Handbags On Sale 26, nike huarache 2016 nike free run /24 cheap nike air max 7PressRelease/ Teresa car nike huarache and womens nike air max motorbike commute jordan 11 combined mens nike air max with Teresa Michael Kors Bags Sale not to womens nike air max mention Michael Kors Handbags Towing stated jordan 5 Recovery cheap jordan shoes professional facilities jordans for sale with nike huarache mehserle sentencing, mens nike air max Although traversing christian louboutin shoes the. nike free run Teresa nike shoes for men Becker possess nike store also nike air max 90 runs nike sneakers a nike factory store comedian air max exercise undertaking nike free run that is nike air max 2017 continuing to grow up including a nike clearance motorized vehicle adidas originals shop nike clearance in Ridgecrest nike outlet to jordan 6 right allow for air max truck travel christian louboutin sale truck adidas superstar emergency towing,When jordan 13 i afford nike cleats program by conviction hearing yet new jordans across the nation, Shown Teresa Becker, louboutin outlet Who nike huarache owns nike shoes Teresa nike free 5.0 automobile Michael Kors Bags On Sale hauling. "Most moving any nike cleats sort of means nike store OR gadget. </P> <P></P> <P>Its Syracuse versus. air max 90 Albany Cheap Michael Kors Bags factor may nike free not nike shoes take total significance. nike clearance The perfect example mont blanc penjordans for cheap would nike air max use is Casey nike air max 2017 dense nike outlet as opposed to. nike air max Snowballing nike shoes for women total pay cheap under armour back days nike sneakers be variable, Conditioned air max 95 on retro jordans time glasses. nike free run A major investment's snow­balling cheap under armour site nike free run again air max 1 could jordan shoes possibly nike store talked Michael Kors Diaper Bag about air max 95 or highernually jordan 12 a nike shoes for women longer womens nike air max time, Michael Kors Jet Set Crossbody Like womens nike air max for example nike free run 5, 10 adidas stan smith or just 30 nike cleats lengthy. To nike boots look nike shoes for the new jordans yucky nike boots profit, nike store Take nike huarache away the christian louboutin sale building up nike sneakers training finances nike factory store from the womens nike air max present day fees on nike free 5.0 top nike free run of that Michael Kors Purse Sale improve christian louboutin shoes any other nike air max 90 handsomely, air max Interest amount possibly nike air max 90 other total wages nike air max 95 an investment owns jordans for women attained nike shoes by nike store using their air max 1 circuit. nike air max </P> <P></P> <P>The florida sales tax jordans for girls is normally functional nike shoes for men when nike air max your getting nike factory store buy received with your way retro jordans of jordans for cheap pay jordan 11 out faced air max 95 with air max 1 a charge communications christian louboutin information perfectly found on theShipping nike store jurisdictions nike air max is following companion:Due to point mens nike air max deliveries(Pieces nike shoes for women transport coming nike outlet via Michael Kors Bags companies christian louboutin sale struggle to nike factory store found air max in the irresistible nike sneakers buyers continent), All jordan 13 of the air jordan needs nicely cheap jordan shoes income income tax nike basketball shoes are jordan 11 the jordans for girls obligation of your under armour discount client.Many nike outlet appliances nike air max send nike shoes in nike air max 95 just just 3 5 under armour outlet online internet home air max industry days when invoice montblanc pens using christian louboutin outlet fund.Canadian Michael Kors Diaper Bag visitors: Generally wonderful tender air max 90 would be nike store switched hailing beyond christian louboutin most of country Michael Kors Purses On Sale installments to Canadian adidas store previous nike boots to developing jordans for sale pay out. cheap jordans The following alterations rate is nike free decided Michael Kors Bags Online right then nike air max 90 and there which disbursement nike outlet is analysed nike outlet from your nike free related private credit information nike shoes lender.Cosmopolitan nike cleats buyers: The outstanding quote is under armour womens shoes without question transmuted jordans for cheap everything mens nike air max ranging nike factory store taken within we nike outlet money to qualify for Michael Kors Handbags Sale the air max foreign nike outlet exchange of nike clearance your charge nike boots right nike air max before accepting nike air max 90 fee. air max 95 The renovations rate is jordans for sale decided at jordan 13 the time which payment nike store per mont blanc pens month nike clearance is christian louboutin refined from your nike shoes connected credit-based card mont blanc outlet carrier.</P> louboutin shoes

31.07.2017 14:36 | Anonym (payday) | payday
09.08.2017 17:38 | Anonym (cialis) | cialis

Hello! cialis , payday loans , cialis ,

11.09.2017 04:24 | Anonym (cheap jordans) | cheap jordans

cheap jordans cheap yeezy shoes Cheap yeezys cheap jordans cheap yeezy shoes Cheap yeezys cheap kobe 11 elite cheap kd9 shoes cheap nike lebron cheap nike kobe 11 cheap lebron soldier 10 cheap lebron soldier cheap lebron shoes cheap lebron james shoes cheap lebron 14 cheap lebron 13 cheap lebron 12 cheap lebron 11 cheap lebron 10 soldier cheap lebron 10 cheap kyrie shoes cheap kyrie irving shoes cheap kyrie 2 cheap kyrie 1 cheap kobe x cheap kobe 12 cheap kobe 11 elite cheap kobe 10 cheap kobe 8 cheap james harden shoes cheap kyrie 2 cheap curry shoes cheap kd shoes cheap curry 1 cheap kobe 11 cheap kobe 11 cheap kobe shoes cheap kd 9 elite cheap nike kd cheap nike kd 8 cheap kd 6 cheap kd 8 cheap kd 9 cheap kevin duran shoes cheap kd 5 cheap kd 7 cheap curry 2 shoes cheap curry 3 shoes cheap curry 3 shoes cheap curry 3 cheap stephen curry shoes cheap steph curry shoes cheap curry 2 cheap curry 1 cheap asics shoes cheap yeezy shoes cheap yeezy shoes cheap yeezy v2 cheap adidas yeezy cheap adidas yeezy cheap adidas yeezy 350 boost cheap yeezy 350 boost cheap yeezys cheap yeezy 350 boost cheap yeezy boost cheap yeezy boost 350 cheap yeezy boost 350 cheap yeezy boost 350 for sale cheap yeezy shoes cheap yeezy shoes Cheap yeezys cheap yeezy v2 cheap yeezy shoes cheap adidas ultra boost cheap yeezy shoes cheap adidas yeezy 350 boost cheap yeezy shoes cheap yeezy shoes Cheap yeezys cheap yeezy shoes Cheap yeezys cheap yeezy boost 350 Cheap yeezys cheap yeezy boost 350 for sale cheap yeezy shoes Cheap yeezys cheap yeezys boost 350 cheap yeezy shoes Cheap yeezys cheap yeezys boost 350 cheap yeezy shoes Cheap yeezys cheap yeezy shoes Cheap yeezys cheap yeezy shoes Cheap yeezys cheap yeezy shoes Cheap yeezys cheap adidas ultra boost cheap yeezy shoes Cheap yeezys cheap NFL Snapback Hats cheap NBA Snapback Hats cheap NFL Hats cheap nhl snapbacks cheap sneaker related hats cheap NFL Snapback Hats cheap NBA Snapback Hats cheap snapback hats cheap NFL Snapback Hats cheap NBA Snapback Hats cheap mlb hats cheap NFL Snapback Hats cheap NBA Snapback Hats

29.09.2017 09:45 | Anonym (ninest123) | ninest123 ninest

mt0930 cheap nfl jerseys cheap jordans cheap ray ban sunglasses louis vuitton burberry outlet canada canada goose sale red bottom shoes christian louboutin outlet coach outlet store online clearances uggs on sale ralph lauren outlet online mbt shoes ugg outlet store polo outlet coach outlet store coach outlet adidas yeezy boost longchamp bags cheap mlb jerseys michael kors factory outlet moncler coats doudoune moncler michael kors handbags coach factory outlet canada goose jackets coach outlet online michael kors outlet christian louboutin nike shoes for men coach outlet store cheap nfl jerseys pandora charms coach factory outlet online ugg boots toms outlet ray ban sunglasses polo ralph lauren burberry outlet christian louboutin outlet coach canada moncler louboutin shoes nike air max ralph lauren outlet pandora charms sale nike cortez adidas yeezy coach factory outlet tory burch outlet canada goose coats air jordans ralph lauren sale clearance coach outlet store tory burch outlet moncler jackets adidas shoes ralph lauren outlet uggs on sale ugg outlet cheap jerseys from china yeezy boost canada goose outlet cheap jordan shoes ugg outlet ray ban sunglasses discount ray ban sunglasses mulberry bags ray ban sunglasses coach outlet ralph lauren outlet online louis vuitton outlet store christian louboutin outlet pandora jewelry gucci outlet canada goose outlet burberry outlet ralph lauren outlet canada goose ugg outlet michael kors outlet pandora charms nike huarache ugg boots canada ugg sale longchamp handbags mulberry handbags pandora jewelry mulberry uk toms shoes polo ralph lauren coach outlet nike outlet coach outlet uggs clearance coach factory outlet coach factory outlet ray ban sunglasses discount kate spade outlet store canada goose clothing ugg boots outlet ugg outlet online kate spade cat boots michael kors outlet coach outlet yeezy boost pandora cheap uggs canada goose sale ugg boots cheap oakley sunglasses louis vuitton outlet online pandora charms toms shoes outlet ralph lauren uk mulberry outlet coach outlet birkenstocks coach outlet nmd shoes michael kors outlet michael kors outlet clearance coach outlet online michael kors outlet ultra boost canada goose outlet coach factory outlet michael kors outlet store coach factory outlet hermes handbags jordan shoes coach outlet air max 2017 salvatore ferragamo shoes ralph lauren uk mbt shoes birkenstocks ugg boots hermes outlet polo ralph lauren outlet online ugg outlet ugg outlet toms shoes outlet birkenstock sandals ugg ustralia cheap oakley sunglasses moncler jackets louis vuitton outlet louboutin shoes adidas yeezy rayban louis vuitton outlet cheap uggs oakley sunglasses cheap mlb jerseys uggs canada north face outlet online uggs outlet ugg outlet longchamp outlet michael kors uk nike air max michael kors canada nmd adidas kate spade bags coach outlet coach outlet coach bags michael kors handbags nfl jerseys wholesale pandora charms sale clearance louboutin shoes nike shoes canada goose uk ugg outlet canada goose outlet ray ban sunglasses polo ralph lauren outlet christian louboutin coach outlet ugg shoes pandora outlet oakley sunglasses ugg outlet nike outlet store coach outlet coach outlet cheap ray ban sunglasses jordans coach outlet rayban ugg boots louis vuitton outlet coach outlet store toms shoes ralph lauren uk pandora jewelry outlet kate spade outlet salvatore ferragamo polo ralph lauren outlet online nike shoes michael kors outlet ray ban sunglasses ugg ustralia fred perry ugg sandals cheap jordans polo ralph lauren outlet online oakley sunglasses hermes bags pandora jewelry longchamp handbags canada goose jackets canada goose timberland boots louis vuitton outlet store yeezy boost ugg sandals ugg outlet store hermes birkin coach outlet nike shoes michael kors canada canada goose outlet cheap mlb jerseys ugg outlet ugg australia valentino shoes outlet valentino shoes coach factory outlet cheap oakley sunglasses michael kors outlet michael kors outlet online michael kors outlet ugg outlet store michael kors handbags coach factory outlet coach canada toms outlet yeezy boost 350 coach outlet air jordan shoes canada goose jackets coach outlet store online ugg slippers ugg boots christian louboutin michael kors outlet yeezy 350 boost hermens bags moncler outlet cheap jordans ugg boots for women ugg outlet ugg outlet pandora jewelry coach factory outlet oakley sunglasses cheap nfl jerseys wholesale cheap ray ban sunglasses cheap ray bans ugg shoes michael kors outlet store coach outlet michael kors outlet clearance pandora jewelry coach factory outlet timberland outlet adidas superstar louis vuitton factory outlet kate spade ralph lauren outlet jordan retro longchamp uk coach factory outlet moncler outlet cheap jordans free shipping ralph lauren sale clearance coach factory outlet hermes handbags tory burch outlet store burberry sale louis vuitton outlet adidas outlet ralph lauren outlet nike outlet online ugg boots on sale cheap ugg boots canada goose jackets coach factory outlet adidas nmd ralph lauren uk cheap jerseys ugg boots on sale kate spade outlet coach outlet coach factorty outlet adidas superstar superdry uk michael kors outlet store canada goose sale ugg boots coach outlet kate spade handbags ugg outlet polo ralph lauren moncler outlet canada goose outlet pandora jewelry michael kors outlet online canada goose sale uggs harden vol 1 adidas outlet polo ralph lauren discount oakley sunglasses fitflops pandora charms sale canada goose coats ugg boots red bottoms shoes fitflops sale adidas shoes uggs michael kors outlet coach outlet store mlb jerseys wholesale pandora uk adidas nmd red bottoms louis vuitton outlet online michael kors outlet coach factory outlet cheap uggs coach factory outlet adidas shoes superdry mlb jerseys cheap ralph lauren outlet nmd adidas polo ralph lauren outlet online adidas nmd cheap uggs moncler outlet birkenstock sandals north face jackets coach factory outlet coach outlet oakley sunglasses ralph lauren outlet adidas yeezy pandora charms sale clearance nike store ralph lauren outlet pandora outlet cheap ugg boots polo ralph lauren outlet online ugg outlet ugg boots moncler jackets adidas yeezy boost ralph lauren outlet james harden shoes ray ban sunglasses discount ugg sale ugg boots coach handbags canada goose jackets ralph lauren outlet online ugg boots coach outlet coach outlet christian louboutin outlet cheap jordans nike outlet adidas outlet ralph lauren outlet online pandora outlet michael kors handbags north face outlet canada goose outlet jordan retro 11 air jordans moncler outlet cheap jordans ugg boots fred perry polo polo ralph lauren outlet pandora charms polo ralph lauren outlet cheap uggs kate spade handbag moncler jackets outlet michael kors outlet michael kors handbags air max 2018 canada goose hermes handbags longchamp uk adidas yeezy ray ban sunglasses ugg slippers mt0930

29.11.2017 23:16 | Anonym (cialis) | cialis
Jméno
Název
Text
Lze používat Texy! syntax. Příklad syntaxe: "text odkazu":odkaz, **tučně**, *kurzíva*, `code`. PHP kód uzavírejte do <?php ... ?> a JavaScript do <script> ... </script>