Op woensdag 16 januari 2002 22:16 schreef DiMension het volgende:
[..]
WTF?
(ik zit met mijn hoofd in het overclocking/casemodding forum, dus ik ben hier niet echt thuis)
papa_eend is een man van weinig woorden
hij bedoelt, dat je met de zoekzoek op een topic uit Programming&Webscripting uit moet komen; 'Codebase'. Daarin staat een manier van hem, hoe je een .doc bestand kunt laten downloaden middels php.
Let wel op, de downloadende persoon moet dan wél de extentie zelf invullen achter de bestandsnaam!
Uiteindelijk moest je uitkomen op deze post:
Op dinsdag 08 januari 2002 21:41 schreef papa_eend het volgende:
Taal: PHP
Doel: Word Document, of ander bestand als downoad aanbieden ipv openen.
Gebruiken als: download.php?filename=documentnaam
Waarschuwing!: Gebruiker moet zelf extentie aan bestand geven
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| <?
if (file_exists($filename.".doc")) // bestaat het bestand?
{
$filename = $filename.".doc"; // doc erachter, om geklooi met slimme variabelen te voorkomen
if (strstr($HTTP_USER_AGENT, "MSIE")) // internet explorer?
{
$attachment = ""; // attachment var leeglaten
}
else
{
$attachment = " attachment;"; // attachment var vullen
}
$size = filesize("$filename"); // bestandsgrootte
$fh = fopen("$filename", "r"); // bestand openen
// correcte headers sturen
header("Content-Type: application/octetstream");
header("Content-Length: $size");
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Disposition:$attachment filename=$doc");
header("Content-Transfer-Encoding: binary");
fpassthru($fh); // bestand doorsturen
exit; // script stoppen
}
else // bestand bestaat niet
{
// Error Handling
$mailto= "webmaster@domein.nl"; // e-mail adres
$subject= "Fout bij downloaden bestand vanaf domein"; // subject
$from= "php@domein.nl"; // afzender
$message= "Er is een fout opgetreden bij het proberen te downloaden van het volgende bestand:\n
$filename\n
De bezoeker kwam van pagina: $HTTP_REFERER\n
De tijd is nu: ".date("j-n-Y G:i:s")."\n
Ip nummer van de bezoeker: $REMOTE_ADDR\n
"; // info mailtje
mail( "$mailto", "$subject", "$message", "From: $from"); // mailen
// nette foutmelding aan gebruiker
$maintext = 'Er is een fout opgetreden.<br><br>Het bestand is niet gevonden, of er was een andere fout tijdens het aanbieden van de download.<br><br>Er is inmiddels een e-mail gestuurd naar de webmaster, die het probleem hoogstwaarschijnlijk binnen 24 uur zal oplossen.<br><br>Onze excuses voor dit ongemak.'));
include('template.inc.php'); // template includen
}
?> |
ajb
heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs