- Milyen videókártyát?
- Kormányok / autós szimulátorok topikja
- Azonnali VGA-s kérdések órája
- Amlogic S905, S912 processzoros készülékek
- Milyen TV-t vegyek?
- Melyik tápegységet vegyem?
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- OLED TV topic
- Kezdő fotósok digitális fényképei
- Kivégzi a Firewire-t az új macOS verzió?
Új hozzászólás Aktív témák
-
cucka
addikt
Nem kell hozzá curl. Lényegében a galéria letöltős linked egy php oldalra fog mutatni (mondjuk oldaladneve/download_gallery.php?gallery_id=5 ). A php szkript összeszedi a galéria file-jait, bezippeli és elküldi a kliensnek. A küldés lényegében annyit jelent, hogy beállítod a megfelelő header-eket (elsősorban content-type), majd egyszerűen kiírod a zip file tartalmát a standard kimenetre (vagy csinálhatod fpassthru-val is, gyorsabb).
A kényes kérdés itt a zip-elés. Több lehetőséged van:
- A php zip eszközeivel menet közben állítod elő a zip filet. Ezzel az a baj, hogy hamar ki fog futni a memóriából a php.
- A php meghív egy shell script-et, ami elvégzi a zip-elést (parancssoros zip-el), a zip filet lerakja a temp-be. Te onnan fpassthru-val kiköpöd a standard kimenetre, majd törlöd a filet.
- Minden galéria módosításnál elkészíted a zip filet, így bármelyik galériát is szeretné letölteni a júzer, csak átdobod neki a meglévő filet. Ez jó, ha ritkán változik a galéria, viszont gyakran töltik le egyben. A zip file elkészítésére a fenti 2 pont érvényes.(#11840) Speeedfire
Ez jó, csak az alap probléma, hogy nem 1 file-ról van szó, hanem többről (galéria). Ezért a zip-elés.mod: továbbá érdemes tudni, hogy a böngészők igyekeznek intelligensen kezelni az érkező file-okat. Ezért van az, hogy egy zip filet automatikusan felajánl letöltésre anélkül, hogy varázsolni kéne a http header-ekkel. Nyilván, egy jpeg file-nál rá kell erőltetni ugyanezt a viselkedést a megfelelő header-ek segítségével.
-
Speeedfire
félisten
Sima egyszerű header manipulálást.
<?php
$file = str_replace('../','',$_GET['file']);
header ("Content-type: octet/stream");
header ("Content-disposition: attachment; filename=".$file.";");
header("Content-Length: ".filesize($file));
readfile($file);
exit;
?>Még mielőtt Athlon beszóna' ez csak egy alap példa!
-
Sk8erPeter
nagyúr
Ennek örülök, bár ha egy modi mondja azt, hogy na kuss, akkor általában azzal agyon is van csapva a szakmai beszélgetés. Most már komoly felelősség terhel minden szavadért.
Bocs, de "force a download in php" kulcsszavakkal rákeresve, meg a PHP header() manualját megnézve is elég sok olvasmányt találni a témában...
Mintha épp az előbb lett volna szó a 2 perc Google-ről.
De a felvetést nem is értem, miért kell általad fejlesztett oldalhoz cURL?Vagy csak félreértettem a kérdésedet?
(#11837) j0k3r! :
jaja, pontosan. Elég régóta érdektelenek a topicbeli kérdések is, most legalább valami érdekesről van (volt) szó.
Új hozzászólás Aktív témák
- Bomba ár! Lenovo X1 Yoga 2nd - i7-7G I 8GB I 256SSD I 14" WQHD I HDMI I W11 I CAM I Garancia!
- BESZÁMÍTÁS! ASUS ProArt Z790-CREATOR WIFI alaplap garanciával hibátlan működéssel
- BESZÁMÍTÁS! MSI Z370 i5 9500 16GB DDR4 512GB SSD RX6600 8GB Cooler Master MB510L Chieftec 500W
- AKCIÓ! ASUS MAXIMUS VIII HERO Z170 chipset alaplap garanciával hibátlan működéssel
- ÚJ Lenovo Legion Pro 5 16IRX9 - 16" WQXGA 165Hz - i5 14500HX - 32GB - 1TB - RTX 4060 - 3 év garancia
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged