georgeboot
Gebruiker
- Lid geworden
- 3 jan 2007
- Berichten
- 70
Beste mensen,
Ik heb een PHP downloadscript gemaakt. Via GET krijgt hij een id mee, en zo kan hij uit de database een bestandsnaam halen, en die met de functie readfile() opgeven als download. Dit werkt helemaal goed!
Ik heb nu alleen het volgende probleem:
Als ik een bestand gedownload heb, blijft de pagina download.php geopend. Ik zou graag zien dat deze pagina direct na de uitvoer van het script geloten word, of zelfs liever dat hij helemaal niet geopend word.
Iemand een idee hoe dit zou kunnen?
het schript van download.php:
Alvast bedankt!
Ik heb een PHP downloadscript gemaakt. Via GET krijgt hij een id mee, en zo kan hij uit de database een bestandsnaam halen, en die met de functie readfile() opgeven als download. Dit werkt helemaal goed!
Ik heb nu alleen het volgende probleem:
Als ik een bestand gedownload heb, blijft de pagina download.php geopend. Ik zou graag zien dat deze pagina direct na de uitvoer van het script geloten word, of zelfs liever dat hij helemaal niet geopend word.
Iemand een idee hoe dit zou kunnen?
het schript van download.php:
PHP:
<?php
if (isset($_GET["id"])) {
$file_id = $_GET["id"];
$file_sql = "SELECT name FROM downloads WHERE id = '$file_id' ";
include("../../_SYSTEM/connection.php");
$file_conect = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($data) or die(mysql_error());
$file_result = mysql_query($file_sql);
$fileresult = mysql_fetch_assoc($file_result);
mysql_close($file_connect);
$file_name = $fileresult["name"];
$file = "files/" . $file_name;
if (file_exists($file)) {
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file_name");
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: binary");
ob_clean();
flush();
readfile($file);
exit;
}
}
?>
Alvast bedankt!