Script voor eenmalige download

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Joshua Smith

Joshua Smith

25/07/2006 16:35:00
Quote Anchor link
Ik ben al een hele tijd op zoek naar een script waarmee een je kan zorgen dat een bestandje maar eenmalig (van een locatie) te downloaden is. Ik krijg het zelf niet voor elkaar! Kan iemand mij helpen??

Alvast bedankt!
 
PHP hulp

PHP hulp

25/04/2024 10:02:03
 
- -

- -

25/07/2006 16:40:00
Quote Anchor link
Hoe bedoel je eenmaleig? Na 1* downloaden deleten? of weigeren? of 1* downloaden per ip????????
Ik snap het niet helemaal...
 
Tom

Tom

25/07/2006 16:41:00
Quote Anchor link
Bedoel je éénmaal per IP adres/gebruiker of gewoonweg éénmaal !?

edit: ok... je was me voor ;-)
Gewijzigd op 01/01/1970 01:00:00 door Tom
 
- -

- -

25/07/2006 16:41:00
Quote Anchor link
Haha ik was je voor:P
 
Joshua Smith

Joshua Smith

25/07/2006 16:43:00
Quote Anchor link
ik bedoel echt eenmalig, dus niet per ip-adres. Het zou idd het mooiste zijn als het bestand na de download gedelet wordt!
 
Joshua Smith

Joshua Smith

25/07/2006 16:50:00
Quote Anchor link
Als dit trouwens helemaal niet mogelijk is, dan is de tweede optie inderdaad 1 keer per IP! En niet doormiddel van cookies, want dat blokkeert niet goed genoeg ivm browsers die geen cookies toelaten...
 
Reinhart De Bock

Reinhart De Bock

25/07/2006 16:52:00
Quote Anchor link
Wordt de dl vanuit een php script aangesproken?

Anders kan je gewoon, eens dat bestand aangesproken werd met de functie unlink() het bestand uit de directory verwijderen.
 
- -

- -

25/07/2006 16:54:00
Quote Anchor link
Zo roep je m aan: <naamvanditvoorbaal>.php?bestandsnaam=blabla.txt

Kleine wijziging mbt extensie
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
19
20
21
22
23
<?php
$bestandsnaam
= @$_GET['bestandsnaam'];

//Zoiets bijvoorbeeld:
//$type['css'] = 'text/css';
//$type['js'] = 'text/js';
//etcetera

$type[''] = '/';

if (is_file($bestandsnaam)){

    $pathinfo = pathinfo($bestandsnaam);

    $extensie = $pathinfo['extension'];

    header('Content-type: ' . $extensie);

    header('Content-Disposition: attachment; filename=' . $bestandsnaam);

    readfile($bestandsnaam);

    unlink($bestandsnaam);
?>

Kijk op php.net/header
Gewijzigd op 01/01/1970 01:00:00 door - -
 
Jan Koehoorn

Jan Koehoorn

25/07/2006 17:01:00
Quote Anchor link
Zie voor het verkrijgen van de extensie ook de functie http://nl3.php.net/pathinfo

Er zitten wel wat haken en ogen aan verwijderen. Een script mag een bestand alleen verwijderen als dat script ook eigenaar is van dat bestand. Als je zo'n bestand dus zelf op de server hebt gezet, krijg je een foutmelding:

Warning: unlink(plaatje.jpg): Permission denied in /***/***/***/jankoehoorn.nl/HTML/unlink.php on line 2

Als je het bestand via een uploadscript door PHP hebt laten aanmaken, mag het wél.
 
Joshua Smith

Joshua Smith

25/07/2006 17:03:00
Quote Anchor link
Bedankt! ik ga het even proberen
 
Joshua Smith

Joshua Smith

25/07/2006 17:20:00
Quote Anchor link
ik snap het extensie verhaal nog niet helemaal hoe moet ik die nou verkrijgen en invullen in $type[''] ='/'; ?? Het is een .zip bestand. Is de locatie hier ook van belang?
 
Joshua Smith

Joshua Smith

25/07/2006 17:45:00
Quote Anchor link
OK, ik kom er niet uit! Download hier mijn bestanden: http://www.subroutine.nl/bestanden (20KB)

'bestand.zip' is in deze het bestandje dat na 1 download gedelete moet worden.
Dit moet gebeuren via het bestand download.php, die automatisch geopend wordt door 'inleiding.php'

Degene die de aanpassingen voor mij wil maken (zodat het werkt) is de held van de dag;-)
 
- -

- -

25/07/2006 17:49:00
Quote Anchor link
Ik kan geen php bestanden van jouw server jatten;)
 
- -

- -

25/07/2006 17:52:00
Quote Anchor link
zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$type
['zip'] = 'application/zip';
?>
 
Joshua Smith

Joshua Smith

25/07/2006 17:54:00
 
- -

- -

25/07/2006 18:02:00
Quote Anchor link
download.php:
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
<?php
$bestandsnaam
= @$_GET['bestandsnaam'];
$type['zip'] = 'application/zip';
if (is_file($bestandsnaam)){
    $pathinfo = pathinfo($bestandsnaam);
    $extensie = $pathinfo['extension'];
    header('Content-type: ' . $extensie);
    header('Content-Disposition: attachment; filename=' . $bestandsnaam);
    readfile($bestandsnaam);
    unlink($bestandsnaam);
}

else{
    echo '<pre>Het bestand ' . $bestandsnaam . ' bestaat niet (meer).</pre>';
}

?>

Edit:

Accolade vergeten.
Foutmelding ingebouwd.
Gewijzigd op 01/01/1970 01:00:00 door - -
 
Joshua Smith

Joshua Smith

25/07/2006 18:10:00
Quote Anchor link
Ik krijg nu deze error bij download.php:

Parse error: syntax error, unexpected '@' in /download.php on line 2

Bekijk het geheel (niet werkend) hier:
http://www.burostockholm.nl/upload/bestanden/inleiding.php
 
- -

- -

25/07/2006 18:24:00
Quote Anchor link
doe eens zo:
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
19
20
21
22
<?php
##################
###CONFIGURATIE###
##################


$type['zip'] = 'application/zip';


############
###SCRIPT###
############


if (is_file($_GET['bestandsnaam'])){
    $bestandsnaam = $_GET['bestandsnaam'];
    $pathinfo = pathinfo($bestandsnaam);
    $extensie = $pathinfo['extension'];
    header('Content-type: ' . $extensie);
    header('Content-Disposition: attachment; filename=' . $bestandsnaam);
    readfile($bestandsnaam);
    unlink($bestandsnaam);
}

?>


edit:
Beter zo:
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
19
20
21
22
<?php
##################
###CONFIGURATIE###
##################


$type['zip'] = 'application/zip';


############
###SCRIPT###
############


if (is_file(@$_GET['bestandsnaam'])){
    $bestandsnaam = $_GET['bestandsnaam'];
    $pathinfo = pathinfo($bestandsnaam);
    $extensie = $pathinfo['extension'];
    header('Content-type: ' . $extensie);
    header('Content-Disposition: attachment; filename=' . $bestandsnaam);
    readfile($bestandsnaam);
    unlink($bestandsnaam);
}

?>

/edit
Gewijzigd op 01/01/1970 01:00:00 door - -
 
Joshua Smith

Joshua Smith

25/07/2006 18:29:00
Quote Anchor link
Nu deze error:

Parse error: syntax error, unexpected T_STRING in /download.php on line 2

bekijk weer: http://www.burostockholm.nl/upload/bestanden/inleiding.php

EDIT:
tnx voor de tip!!
Gewijzigd op 01/01/1970 01:00:00 door Joshua Smith
 
- -

- -

25/07/2006 18:33:00
Quote Anchor link
Nog fftjes een tip:
Je kan beter je javascript zo doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
//let niet op de php tags//
setTimeout(parent.window.top.location.href = 'download.php?bestandsnaam=bestand.zip', 10000);
//let niet op de php tags//
?>

EN NOG IETS HEEL BELANGRIJKS:
NET ALS IN PHP, GA JE NOOIT FUNCTIENAMEN TUSSEN AANHALINGSTEKENS DOEN!!! (setTimeout("go_now()",10000);)
Gewijzigd op 01/01/1970 01:00:00 door - -
 
Joshua Smith

Joshua Smith

25/07/2006 18:48:00
Quote Anchor link
Maar nog steeds die error... doet-ie het bij jou wel??

Parse error: syntax error, unexpected T_STRING in /download.php on line 2
Gewijzigd op 01/01/1970 01:00:00 door Joshua Smith
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.