login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Bestandsnaam download

Offline roy - 23/01/2005 15:26
Avatar van royPHP gevorderde ik heb dit script om een bestandsnaam van een download te veranderen:

  1. <?
  2. //************* te editeren *******************
  3. //database spullen
  4. //Connecten met DB
  5. //naar db connecteren!
  6.  
  7. //tabeldinges
  8. $tabelnaam = "tacx"; //naam van de tabel
  9. $origineelveld = "origineel"; //naam van de velden in je tabel
  10. $uniekveld = "uniek"; //naam van de velden in je tabel
  11. $mimeveld = "mime"; //naam van de velden in je tabel
  12.  
  13. //volgende var is het pad waar alles wordt opgeslagen.
  14. $eindlocatie = $_SERVER['DOC_ROOT']."/var/www/html/tacx/files/tacx/"; //echo deze variabele als je niet zeker bent!
  15.  
  16. //*********************************************
  17.  
  18. $sendfile = $eindlocatie.$_GET['bestand'];
  19. if (!is_dir($eindlocatie)) {
  20. die("probleem met bestandsnaam!<br>".$sendfile."");
  21. }
  22.  
  23. $q = "SELECT ".$origineelveld." , ".$mimeveld." FROM ".$tabelnaam." WHERE ".$uniekveld."='".$_GET['bestand']."' LIMIT 1";
  24. $query = mysql_query($q) or die(mysql_error()." <br> ".$q);
  25.  
  26. if (mysql_num_rows($query) == 1) {
  27. $a = mysql_fetch_array($query);
  28. header('Content-type: application/'.stripslashes($a[1]).'\n');
  29. header('Content-Disposition: attachment; filename="'.stripslashes($a[0]).'"\n');
  30. header("Content-length: " . filesize($sendfile) . "\n");
  31. readfile($sendfile);
  32. } else {
  33. die("er werden geen rijen gevonden in de database!");
  34. }
  35.  
  36.  
  37. ?>


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.

2 antwoorden

Gesponsorde links
Offline NCube - 23/01/2005 15:42
Avatar van NCube HTML beginner Probeer het eens met
  1. <?php
  2. header("Content-type: application/".stripslashes($a[1])."\n");
  3. header("Content-Disposition: attachment; filename=".stripslashes($a[0])."\n");
  4. ?>

En als dat niet werkt moet je het eens proberen zonder die \n
Offline roy - 23/01/2005 15:50
Avatar van roy PHP gevorderde Hey,

Geweldig het werkt!! met de oplossing zoals jij schreef. Foutje zat in een klein hoekje.

Groeten,
Roy
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.179s