Werken met bestanden in een ledensysteem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jordy Deweer

Jordy Deweer

06/08/2017 08:29:08
Quote Anchor link
Beste mensen,

Ik ben een soort van ledensysteem aan het ontwikkelen. Daarin moeten gebruikers toegang hebben tot speciaal voor hen gecreëerde bestanden. Wat is de beste manier om dit via PHP en MariaDB te doen? Ik heb toegang tot veel andere soorten scripttalen, als dat nodig is, maar ik ken zelf alleen basis Python...

Alvast bedankt bij voorbaat.

Groeten, Jordy.
 
PHP hulp

PHP hulp

12/05/2024 15:52:45
 
- Ariën  -
Beheerder

- Ariën -

06/08/2017 09:57:37
Quote Anchor link
Ik raad aan om de bestanden buiten de webroot te plaatsen, en na de toegangscontrole met readfile de bestanden te openen. Let wel op de juiste headers.
Gewijzigd op 06/08/2017 10:01:45 door - Ariën -
 
Jordy Deweer

Jordy Deweer

06/08/2017 10:13:43
Quote Anchor link
Hallo. Hoe zit het dan bv. met het downloaden van die bestanden?
het zijn trouwens pdf's...
bedankt voor de tip!!
 
- Ariën  -
Beheerder

- Ariën -

06/08/2017 10:21:47
Quote Anchor link
Zie de genoemde URL ;)
 
Jordy Deweer

Jordy Deweer

06/08/2017 10:24:04
Quote Anchor link
sorry, de schermlezer deed even gek. ik zie de link, dank je.

Toevoeging op 06/08/2017 10:39:57:

ik begrijp het stuk met de headers niet... kan ik daarover meer lezen dan op http://php.net/header ? Daar vind je ook wel wat hoor, maar niet waar ik naar op zoek ben...
Ik neem niet graag klakkeloos over, ik begrijp het liever...
 
- Ariën  -
Beheerder

- Ariën -

06/08/2017 10:49:34
Quote Anchor link
Het ligt eraan of je ze geforceerd wilt downloaden via een download dialoog-scherm of direct in de pdf-reader van de gebruiker wilt openen.
 
Jordy Deweer

Jordy Deweer

06/08/2017 10:51:19
Quote Anchor link
wel, openen in de pdf reader is goed. Wat het veiligst is voor de customer.
 
- Ariën  -
Beheerder

- Ariën -

06/08/2017 10:57:32
Quote Anchor link
Het ligt eraan of het bestand bedoeld is voor administratieve doeleinden. Via een dialoog kunnen ze het zelf direct opslaan. op hun favoriete locatie.

In andere gevallen raad ik deze header aan:
header("Content-type:application/pdf");
Dan wordt het bestand in de pdf-reader geopend.
Gewijzigd op 06/08/2017 11:00:43 door - Ariën -
 
Jordy Deweer

Jordy Deweer

06/08/2017 10:59:11
Quote Anchor link
Het is de bedoeling dat de gebruiker het sowieso gemakkelijk kan inkijken en eventueel kan opslaan.
 
- Ariën  -
Beheerder

- Ariën -

06/08/2017 11:02:13
Quote Anchor link
Dan raad ik geforceerd aan via een dialoog d.m.v Example #1 op de readfile() pagina.
 
Jordy Deweer

Jordy Deweer

06/08/2017 11:04:11
Quote Anchor link
oké, dankje. en moet ik voor een pdf iets aanpassen, behalve de bestandsnaam ed?

kan ik trouwens beide opties geven? Direct weergeven én downloaden?

Hoe werkt dat direct weergeven?
 
- Ariën  -
Beheerder

- Ariën -

06/08/2017 11:10:48
Quote Anchor link
Met readfile en een van de headers die je wilt gebruiken. Misschien is het raadzaam om die pagina eens door te lezen.

Ikzelf raad aan om het niet moeilijk te maken voor de gebruiker en voor 'geforceerd' te kiezen met de downloadpopup. Dan weet je zeker dat de gebruiker het wilt opslaan. Als je het direct in de PDF-reader wilt openen, heb je kans dat ze dat opslaan zullen vergeten.

Direct weergeven en downloaden kan overigens niet. Het blijven twee verschillende stappen die een gebruiker uit kan voeren bij het downloaden van een PDF.
Gewijzigd op 06/08/2017 11:16:17 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

07/08/2017 00:38:52
Quote Anchor link
Maar TS zegt "en eventueel kan opslaan". Als iemand alleen iets enkel wil inkijken is het simpelweg tonen een stap/click minder dan iemand eerst forceren iets te downloaden. Lijkt mij wat gebruiksvriendelijker. De gebruiker kan vervolgens altijd nog kiezen iets alsnog op te slaan.
 
- Ariën  -
Beheerder

- Ariën -

07/08/2017 01:21:09
Quote Anchor link
Maar ik weet uit ervaring dat niet iedereen het handmatig opslaat, zodat het in no-time uit de 'temporary files' wordt geleegd. Terwijl ze in de veronderstelling zijn dat het in de User-map staat, wat niet zo is.

Of de gebruiker laten kiezen tussen:
- Bekijken en zelf opslaan
- Downloaden en later bekijken.

Met een dialoogscherm geef je direct zonder gebruik van een PDF-reader de mogelijkheid om het op te slaan. En misschien hebben ze geen PDF-reader en willen ze het elders opslaan, om het later te kunnen bekijken.

Een dialoog blijft in mijn ogen de beste keuze.
Gewijzigd op 07/08/2017 01:23:01 door - Ariën -
 
Jordy Deweer

Jordy Deweer

07/08/2017 13:48:34
Quote Anchor link
Thomas, Hoe doe je dat nou precies in PHP?

En in het algemeen: ik vind dat het allebei moet beschikbaar zijn. en veel modernere browsers, zoals Chrome en Firefox hebben toch een PDF-reader aan boord, of ben ik hier mis in? Ik ken bijna niemand die nog Internet Explorer gebruikt... Nou, alleen heel wat blinden dan... (ik ben zelf ook blind, voor alle duidelijkheid)

Groetjes, Jordy.

Toevoeging op 07/08/2017 13:50:45:

Ariën, ik wordt niet echt veel wijzer van die pagina... Je bedoelt toch die he: http://php.net/header of was het een andere?
 
- Ariën  -
Beheerder

- Ariën -

07/08/2017 13:56:09
Quote Anchor link
Die van readfile
 
Jordy Deweer

Jordy Deweer

07/08/2017 14:05:41
Quote Anchor link
Wat is de onderstaande afbeelding eigenlijk? Deze komt van the readfile() reference op de PHP website.

Afbeelding
Gewijzigd op 07/08/2017 14:07:07 door Jordy Deweer
 
- Ariën  -
Beheerder

- Ariën -

07/08/2017 14:19:11
Quote Anchor link
Een dialoogvenster van de browser, bij een geforceerde download.
 
Ben van Velzen

Ben van Velzen

07/08/2017 14:19:52
Quote Anchor link
Dat is een download dialoogvenster...
 
Jordy Deweer

Jordy Deweer

07/08/2017 14:20:13
Quote Anchor link
ooh, ja zoiets, bedankt.
 
- Ariën  -
Beheerder

- Ariën -

07/08/2017 14:20:56
Quote Anchor link
Graag gedaan :-)
 

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.