Peredi Zoltán Posted August 14, 2009 Posted August 14, 2009 Uraim! Egy honlap al-oldalait leíró fájlba látogatószámlálót applikálva megtudhatom, hogy az illetõ alegység iránt volt-e érdeklõdés. De van-e mód arra, hogy megtudjam, ráklikkelt-e a látogató egy olyan linkre, amelyik nem valamelyik al-oldalra, hanem egy fix szövegfájlra mutat?
Peredi Zoltán Posted August 14, 2009 Author Posted August 14, 2009 Na, hogyan? A szövegfájlba nem tudok php-s látogatószámlálót beépíteni.
payskin Posted August 15, 2009 Posted August 15, 2009 Úgy, hogy nem a szövegfájlt linkeled be, hanem csinálsz mondjuk egy download.php oldalt, ami paraméterben megkapja, hogy mit akarnak letölteni, az elmenti valahova (szövegfájl, adatbázis), hogy a valamit eggyel többször töltötték le, majd elindítja a letöltést (headeren keresztül).
Peredi Zoltán Posted August 15, 2009 Author Posted August 15, 2009 Kedves Fõkolompos, köszönöm, ezen a nyomon elindulok. De nem tudnál mutatni egy kód részletet? Fõleg ezt a headeren keresztüli letöltés-indítást nem tudom elképzelni egyelõre.
Peredi Zoltán Posted August 17, 2009 Author Posted August 17, 2009 Tehát nem a tanulmany.pdf-et linkelem be, hanem a tanulmany.php-t. Ami most így néz ki: <?php $filename = "tanulmany.pdf"; header("Content-Type: application/pdf"); header("Location: http://localhost/letolt/"); fopen($filename); /* itt lesz majd a számláló rész*/ ?> de persze nem mûködik, nem nyitja meg a pdf fájlt. Nem néznétek rá?
payskin Posted August 17, 2009 Posted August 17, 2009 Első példa, de a számolást előbb kéne elvégezni. A letöltés (header) legyen a legvége.
Peredi Zoltán Posted August 17, 2009 Author Posted August 17, 2009 Aha, köszönöm, halad a dolog! Tehát ez: <?php header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="downloaded.pdf"'); readfile('original.pdf'); ?> De egyelõre nem mûködik. Az original.pdf helyére beírtam a saját tanulmányom nevét. De van itt még egy másik, a downloaded.pdf. Ide mit kéne írni? Merthogy nekem csak egy pdf fájlom van.
payskin Posted August 17, 2009 Posted August 17, 2009 Ugyanazt kell odaírni, csak a példában egy kicsit zavaró volt... Ez a kód a readfile-nál volt példa a PHP doksiban -- érdemes olvasgatni! Kipróbáltam, működik. De a nagy része felesleges "csicsa", a te három sorod is elég volna hozzá. <?php $filename = 'a.pdf'; if (file_exists($filename)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($filename)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($filename)); ob_clean(); flush(); readfile($filename); exit; } else { die('File not found'); } ?>
Peredi Zoltán Posted August 18, 2009 Author Posted August 18, 2009 Ez már tökéletesen mûködik, a csicsák törlése után is. Ebben egyértelmû, mi a fájl neve. Van mit tanulni a readfile meg a header témákban! Még egyszer köszönöm!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now