Hur gör man för att användaren ska få upp en ruta där det står "Spara / Öppna / Avbryt" när de klickar på en länk som länkar till en fil? Jag har aldrig lyckats med det. Behövs PHP verkligen?
Tack på förhand =)
MVH
Übern00bsmyghomon Jesper Ahlin
3 svar · 317 visningar · startad av Jesper2
Hur gör man för att användaren ska få upp en ruta där det står "Spara / Öppna / Avbryt" när de klickar på en länk som länkar till en fil? Jag har aldrig lyckats med det. Behövs PHP verkligen?
Tack på förhand =)
MVH
Übern00bsmyghomon Jesper Ahlin
Här är en enkel kod som du kan jobba vidare på.
<?php
if (isset($_GET['file'])) {
header("Content-type: application/octet-stream");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=\"" . $_GET['file'] . "\"");
header("Content-transfer-encoding: binary\n");
header("Content-length: " . filesize($_GET['path'] . $_GET['file']) . "\n");
$fp = fopen($_GET['path'] . $_GET['file'], "r");
fpassthru($fp);
} else {
echo '<a href="' . $_SERVER['PHP_SELF'] . '?path=http://www.webforum.nu/images/wfstandard/smilies/&file=supergrin.gif">Spara bilden</a>';
}
?>
Hmm, vid närmare eftertanke så får jag det inte att fungera alls..!
Filen tankas men storleken blir alltid 0b.
<?php
if (isset($_GET['file'])) {
header("Content-type: application/octet-stream");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=\"" . $filnamn . "\"");
header("Content-transfer-encoding: binary\n");
header("Content-length: " . filesize($path . $filnamn) . "\n");
$fp = fopen($path . $filnamn, "r");
fpassthru($fp);
} else {
echo '<a class="sida" href="demolat_text.php?path='.$path.'&file='.$filnamn.'">[ LADDA HEM ]</a>';
}
?>
$path och $filnamn stämmer skitbra, har redan testat det.
demolat_text.php stämmer också, det är det aktiva dokumentet.