PHP gevorderde |
|
ik heb dit script om een bestandsnaam van een download te veranderen:
<?
//************* te editeren *******************
//database spullen
//Connecten met DB
//naar db connecteren!
//tabeldinges
$tabelnaam = "tacx"; //naam van de tabel
$origineelveld = "origineel"; //naam van de velden in je tabel
$uniekveld = "uniek"; //naam van de velden in je tabel
$mimeveld = "mime"; //naam van de velden in je tabel
//volgende var is het pad waar alles wordt opgeslagen.
$eindlocatie = $_SERVER['DOC_ROOT']."/var/www/html/tacx/files/tacx/"; //echo deze variabele als je niet zeker bent!
//*********************************************
$sendfile = $eindlocatie.$_GET['bestand'];
if (!is_dir($eindlocatie)) {
die("probleem met bestandsnaam!<br>".$sendfile."");
}
$q = "SELECT ".$origineelveld." , ".$mimeveld." FROM ".$tabelnaam." WHERE ".$uniekveld."='".$_GET['bestand']."' LIMIT 1";
$query = mysql_query($q) or die(mysql_error()." <br> ".$q);
if (mysql_num_rows($query) == 1) {
$a = mysql_fetch_array($query);
header('Content-type: application/'.stripslashes($a[1]).'\n');
header('Content-Disposition: attachment; filename="'.stripslashes($a[0]).'"\n');
header("Content-length: " . filesize($sendfile) . "\n");
readfile($sendfile);
} else {
die("er werden geen rijen gevonden in de database!");
}
?>
<? //************* te editeren ******************* //database spullen //Connecten met DB //naar db connecteren! //tabeldinges $tabelnaam = "tacx"; //naam van de tabel $origineelveld = "origineel"; //naam van de velden in je tabel $uniekveld = "uniek"; //naam van de velden in je tabel $mimeveld = "mime"; //naam van de velden in je tabel //volgende var is het pad waar alles wordt opgeslagen. $eindlocatie = $_SERVER['DOC_ROOT']."/var/www/html/tacx/files/tacx/"; //echo deze variabele als je niet zeker bent! //********************************************* $sendfile = $eindlocatie.$_GET['bestand']; die("probleem met bestandsnaam!<br>".$sendfile.""); } $q = "SELECT ".$origineelveld." , ".$mimeveld." FROM ".$tabelnaam." WHERE ".$uniekveld."='".$_GET['bestand']."' LIMIT 1"; } else { die("er werden geen rijen gevonden in de database!"); } ?>
Waarom is de standaard bestandsnaam: bestand?, en niet de waarde die in de kolom origineel staat?
Met Vriendelijke Groet,
Roy
ps. http://www.tacx.klikgo.nl/index.php , dan 1 van de bestanden proberen te downloaden en zie wat er verkeerd gaat.
|