Autor | Zpráva | ||
---|---|---|---|
davef6 Profil |
#1 · Zasláno: 30. 9. 2007, 20:46:33
mám tento skript
<?php setcookie ("pocet_stazeni".$id, "ano", time()+3600, "", "smsnikolka.cz"); $povolene = array("config.php"); if (in_array("config.php", $povolene)) { include "config.php"; } $id = $_GET['id']; $prikaz = MySQL_Query("Select obrazek from mms where id=$id") or die ("SQL dotaz nešlo provést"); $num = mysql_num_rows($prikaz); if($num > 0): while($zaz = mysql_fetch_assoc($prikaz)): $obrazek = $zaz['obrazek']; endwhile; else: echo "<p>Žádné soubory nebyly nalezeny!</p>"; endif; ?> <?php $cookie = $_COOKIE["pocet_stazeni".$id]; if($cookie=='ano'): header("Content-Description: File Transfer"); header("Content-Type: application/x-force-download"); header("Content-Disposition: attachment; filename=$obrazek"); header("location: $obrazek"); exit(); else: mysql_query("UPDATE mms SET stazeno=stazeno+1 WHERE ID='$id'"); header("Content-Description: File Transfer"); header("Content-Type: application/x-force-download"); header("Content-Disposition: attachment; filename=$obrazek"); header("location: $obrazek"); exit(); endif; ?> jde nějak udělat, aby mi to nabídlo okno na stažení obrázku a ne jenom že to otevře v prohlížeči obrázek? děkuji za odpovědi |
||
nightfish Profil |
#2 · Zasláno: 30. 9. 2007, 21:04:58
nepřebývá tam do Header("Location: $obrazek");?
|
||
davef6 Profil |
#3 · Zasláno: 30. 9. 2007, 21:25:23
jo teď už to okno ke stažení nabídne, ale stáhne to prázdnej soubor
pod $obrazek je ../mms/jmenoobrazku.jpg a nakonec to nenabídne ani to jpg, ale je to bez koncovky |
||
nightfish Profil |
#4 · Zasláno: 30. 9. 2007, 22:05:32
davef6
jo, poté, co pošleš hlavičku, tak musíš ještě načíst ten obrázek a poslat ho klientovi na to ti poslouží funkce readfile() jinak v řádku header("Content-Disposition: attachment; filename=$obrazek"); se jméno souboru, které napíšeš za filename= vepíše uživateli v tom ukládacím dialogu - je celkem rozumné tam dát jméno souboru, bez cesty (tzn. pošli tam jmenoobrazku.jpg misto ../mms/jmenoobrazku.jpg) |
||
davef6 Profil |
#5 · Zasláno: 30. 9. 2007, 23:03:10
tak to mám takhle
<?php setcookie ("pocet_stazeni".$id, "ano", time()+3600, "", "smsnikolka.cz"); $povolene = array("config.php"); if (in_array("config.php", $povolene)) { include "config.php"; } $id = $_GET['id']; $prikaz = MySQL_Query("Select obrazek from mms where id=$id") or die ("SQL dotaz nešlo provést"); $num = mysql_num_rows($prikaz); if($num > 0): while($zaz = mysql_fetch_assoc($prikaz)): $obrazek = $zaz['obrazek']; endwhile; else: echo "<p>Žádné soubory nebyly nalezeny!</p>"; endif; ?> <?php $obrazek2 = substr($obrazek, 7); $cookie = $_COOKIE["pocet_stazeni".$id]; if($cookie=='ano'): Header("Content-Description: File Transfer"); Header("Content-Type: application/force-download"); Header("Content-Disposition: attachment; filename="$obrazek2""); readfile("$obrazek"); exit(); else: mysql_query("UPDATE mms SET stazeno=stazeno+1 WHERE ID='$id'"); Header("Content-Description: File Transfer"); Header("Content-Type: application/force-download"); Header("Content-Disposition: attachment; filename="$obrazek2""); readfile("$obrazek"); exit(); endif; ?> ale ještě je problem že stažený obrázek má jenom 512B a nejde vůbec otevřít, jinak se uloží dobře jako jpg |
||
Časová prodleva: 17 let
|
0