Autor Zpráva
davef6
Profil
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
nepřebývá tam do Header("Location: $obrazek");?
davef6
Profil
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
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
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: