Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 19-01-2004, 20:46
Martin
Avatar van Martin
Martin is offline
Ik zit met een klein probleempje in PHP.

Ik wil bestanden uploaden naar een map (dat lukt prima), maar er moeten ook 2 bestanden met dezelfde naam in de map kunnen! Je hebt gelijk, dit is onmogelijk. Maar ik wil dit toch virtueel mogelijk maken, en wel op de volgende manier:

Ik upload het bestand, lees de huidige bestandsnaam in en stop deze in een database. Vervolgens maak ik een unieke bestandsnaan aan met:

PHP-code:
$uniquefilename md5(uniqid(rand(), true)); 
Ik stop het bestand nu in de map files met de nieuwe, unieke bestandsnaam. Dit is allemaal helemaal geen probleem!

Maar als ik ga naar:

download.php?fileid=1

(die correspondeert met een row met daarin de oude bestandsnaam en de unieke bestandsnaam).

Dan moet hij het bestand:

$UNIEKE_BESTANDSNAAM.extensie

downloaden, maar moet als bestandsnaam weergeven:

$OUDE_BESTANDSNAAM.extensie

Hoe doe ik dit?
Met citaat reageren
Advertentie
Oud 19-01-2004, 21:38
Scooter B0y
Avatar van Scooter B0y
Scooter B0y is offline
PHP-code:
<?

$data = array(
    'UNIEKE_BESTANDSNAAM' => 'OUDE_BESTANDSNAAM.',  
    'enz' => 'ja'
);


// en dan aanroepen als:
$data[$UNIEKE_BESTANDSNAAM];


?>
Met citaat reageren
Oud 20-01-2004, 08:52
Chimera
Avatar van Chimera
Chimera is offline
Dat bedoelt 'ie niet.

Martin, je moet een Content-Disposition header opgeven bij je output, die ziet er ongeveer zo uit:
Content-Disposition: attachment; filename=oudbestand.ext;
Met citaat reageren
Oud 20-01-2004, 12:53
Blowie
Blowie is offline
Citaat:
Martin schreef op 19-01-2004 @ 21:46:
[...]
Dat is toch logisch? Je stopt de (oude) bestandsnaam in de database en vervolgens hernoem je het bestand naar een nieuwe naam.. Volgens mij heb je 3 velden nodig in je database.. Of heb je dat? Een ID de oude naam en de nieuwe naam..
Of heb je dat al.. wacht.. ik snap het al.. solly..

PHP-code:
<?
$ext = substr($nieuwbestandsnaam,-3 );
if(empty($nieuwbestandsnaam)) {
   echo "Er is geen bestand opgegeven";
   exit;
} elseif ( ! file_exists( $filename ) ) {
   echo " STRESS! het bestand is niet gevonden";
   exit;
}
switch( $ext ){
   case "pdf": $ctype="application/pdf";              break;
   case "exe": $ctype="application/octet-stream";      break;
   case "zip": $ctype="application/zip";              break;
   case "doc": $ctype="application/msword";            break;
   case "xls": $ctype="application/vnd.ms-excel";      break;
   case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
   case "gif": $ctype="image/gif";                    break;
   case "png": $ctype="image/png";                    break;
   case "jpg": $ctype="image/jpg";                    break;
   default:    $ctype="application/force-download";
}

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: $ctype");

$user_agent = strtolower ($_SERVER["HTTP_USER_AGENT"]);
if ((is_integer (strpos($user_agent, "msie"))) && (is_integer (strpos($user_agent, "win")))) {
   header( "Content-Disposition: filename=".basename($nieuwebestandsnaam).";" );
} else {
   header( "Content-Disposition: attachment; filename=".basename($oudebestandsnaam).";" );
}

header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($nieuwebestandsnaam));
readfile("$oudebestandsnaam");
exit();
?>
Vrij naar de bron..
Bron: http://be.php.net/manual/nl/function.header.php
__________________
nr. 3 of The Eleven Rules of the Earth - When in another’s lair, show him respect or else do not go there. -
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Software & Hardware [Centraal] Webdesign (HTML/CSS) & sitechecks
Enlightenment
511 10-08-2006 14:14
Software & Hardware het "illegaal downloaden"
Coolice
35 28-05-2006 14:07
Software & Hardware [Centraal] Instant Messaging
Enlightenment
500 18-07-2005 14:22
Software & Hardware [PHP]Download script
TIGEK
4 25-06-2003 11:57
Software & Hardware [PHP] Problemen met headers
Martin
16 01-06-2003 18:17
Software & Hardware (PHP)gastenboek
spsup
11 04-05-2003 18:02


Alle tijden zijn GMT +1. Het is nu 22:08.