Versio

file..

Overzicht Reageren

Douwe

Douwe

23/01/2008 07:47:00
Quote Anchor link
Hey,
er is een beetje moeilijk een titel aan te geven, maar het probleem is het volgende:
Ik wil dat als je naar nogwat.php gaat, er een zip wordt gedownload die eigenlijk test.zip heet, maar dat je dan in het downloadschermpje nogwat.zip ziet.
Oftewel:
er is een 'secret.zip'.
als iemand naar 'file.php?id=123' gaat, wordt er een bestand gedownload '123.zip', dat in wezen 'secret.zip' is. Iemand enig idee?
Gewijzigd op 01/01/1970 01:00:00 door Douwe
 
PHP hulp

PHP hulp

24/05/2012 15:37:41
Gesponsorde koppelingen:
 
Arjan Schuurman

Arjan Schuurman

23/01/2008 08:57:00
Quote Anchor link
Ik weet het niet zeker, maar misschien kun je iets met mod rewrite in de download map doen.. Alleen zie ik hier het nut niet van in omdat alleen voor downloads te gebruiken, je komt alsnog bij hetzelfde bestand terecht, en het zal weinig uitmaken of de urlbalk voor de download er netter uitziet of niet.
 
Elwin - Fratsloos

Elwin - Fratsloos

23/01/2008 09:07:00
Quote Anchor link
Header, dat is je toverwoord.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
header("Cache-control: private");
header("Content-Type: ".$datatype); // MIME-TYPE OF FILE
header("Content-Length: ".$filesize); // FILESIZE OF FILE
header("Content-Disposition: attachment; filename=\"".$file."\""); // FILENAME
?>
 
Douwe

Douwe

23/01/2008 16:05:00
Quote Anchor link
@Arjan; ik weet het, als je het zo stelt klink het zinloos, maar dat is niet het niet, in mijn geval.
@Elwin; Dat ken ik, maar hoe kan ik dan zorgen dat er 'nogwat.zip' staat terwijl het echte bestand 'secret.zip' heet?
 
Wessel Johnson

Wessel Johnson

23/01/2008 16:21:00
Quote Anchor link
Ik had eens iets gemaakt, miss heb je er wat aan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
function download($filename, $data)
{

    $salt = floor(rand()).'_';

    $handle = fopen($salt.$filename,'w');
    fwrite($handle,$data);
    fclose($handle);

    $size = filesize($salt.$filename);
    header('Content-Length: '.$size);
    header('Content-type: Application/octet-stream');
    header('Content-Disposition: attachment; filename='.str_replace(' ','%20',$filename));
    readfile($salt.$filename);
    
    unlink($salt.$filename);
}

?>


En dan gewoon:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

include 'downloadfunctie.php';

download('secret.zip',file_get_contents('123.zip'));

?>


Hoop dat het werkt =)
 
Douwe

Douwe

23/01/2008 16:33:00
Quote Anchor link
Ik heb het uiteindelijk gewoon zo gedaan, geen idee waarom ik daar niet eerder aan dacht:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename=123.zip');
readfile('secret.zip');
?>
 



Overzicht Reageren

Get Adobe Flash player