Versio

Bestand uploaden naar MySQL database

In deze tutorial leer je hoe je een bestand kunt uploaden naar een MySQL database

Gesponsorde koppelingen

Inhoudsopgave

  1. Voorbereidingen
  2. Het downloadscript
  3. Het uploadformulier opbouwen
  4. Einde
  5. Het uploadscript
  6. De downloads-pagina

 

15 reacties op 'Bestand uploaden naar MySQL database'

PHP hulp
PHP hulp
0 seconden vanaf nu
 
Gesponsorde koppelingen


7 jaar geleden
 
0 +1 -0 -1
Misschien wel het vermelden waard dat dit (vooral bij veel of grote bestanden) behoorlijk wat van je server vraagt.
Jasper
jasper
7 jaar geleden
 
0 +1 -0 -1
dit kun je misschien gebruiken oor avators in op te slagen, of kleine files (minder dan 50kb), maar anders lijkt het volgens mij absoluut niet effici?nt, en eist het enorm veel van je DB!
Eris
Eris
7 jaar geleden
 
0 +1 -0 -1
Jasper zels dan niet. Inefficient als de pest...
K i p
K i p
7 jaar geleden
 
0 +1 -0 -1
Wat is dan een betere manier om avatars up te loaden?
Marien xD
Marien xD
7 jaar geleden
 
0 +1 -0 -1
Dit is niet de goede manier om het aan gebruikers te laten zien, zo staat alles 2 keer op je server. Zorg erdan voor dat je biniaire data word geechod en dan een header mee word gegeven dat het jpg ofzo is. (Volgens mij heb ik wel eens vragen hierover op het forum voorbij zien komen :)) Ook komt mij de scripting van het uploaden een beetje uit de richting van Arjan zijn snippets library ;)
Eris
Eris
7 jaar geleden
 
0 +1 -0 -1
Opslaan op de server en link in db
Marien xD
Marien xD
7 jaar geleden
 
0 +1 -0 -1
Klopt dat is nog beter ;)
Remco van Arkelen
Remco van Arkelen
7 jaar geleden
 
0 +1 -0 -1
Mooi artikel, netjes geschreven. De mogelijkheid is goed om te weten, helaas gaat MySQL niet echt netjes om met zgn BLOBS, andere databases zoals PostgreSQL voorzien hier op een andere manier in waardoor de boel wel netjes snel en stabiel blijft.

Lees http://www.yapf.net/faq.php/100/621 eens door, dan snap je de achterliggende problematiek meteen.
R. Hebing
R. Hebing
7 jaar geleden
 
0 +1 -0 -1
Ik ben het in dat opzicht wel met jullie eens. Ik was me er al van bewust dat InnoDB qua efficiency niet geschikt is voor het op grote schaal verwerken van binaire informatie, maar ik wilde gewoon even laten zien dat het wel tot de mogelijkheden behoort. Normaliter gebruik ik ook een HTTP content-type header en een echo om de content te showen (bijv. voor een afbeelding in een iframe), maar op die manier krijg je niet meteen de juiste bestandsnaam. Een groot nadeel van deze methode is inderdaad dat er sprake is van redunantie. Bedankt voor de feedback.
Roy Bongers
Roy Bongers
7 jaar geleden
 
0 +1 -0 -1
Ik hoop wel dat je weet dat je mime type check niet werkt. Je controlleert nu enkel op de extentie. Wat nu als een ik een bestand.php hernoem naar bestand.zip? Dan mag ie ineens wel op de server staan?
Mime types zijn zowiezo een probleem volgensmij bestaat er geen check die 100% zeker werkt. Er is wel een php lib die het mime type bepaald aan de hand van de content van de file maar deze is ook niet altijd correct.

http://nl3.php.net/manual/en/function.finfo-file.php
Hipska BE
Hipska BE
7 jaar geleden
 
0 +1 -0 -1
dit kan wel handig zijn bij een server van mij;

avatars uploaden met php lukt wel, maar de site admin moet die dan telkens met een heel vreemde control panel avatar per avatar de read rechten geven.
Om een avatar te verwijderen gaat het nog veel moeilijker, dan kan php helemaal niets, moet je weer naar dat control panel, dit is toch geen manier van werken meer
Derk nvt
Derk nvt
7 jaar geleden
 
0 +1 -0 -1
ik vind het een toffe tut :)
is leuk als je bijvoorbeeld met visual basic een helpdesk programma gaat maken waar je ook bestanden in op kan slaan :)
echter voor PHP vind ik het een wat minder geschikte functie.
Guido van C
Guido van C
7 jaar geleden
 
0 +1 -0 -1
De tuturial was precies wat ik zocht, ik heb het geprobeerd en tot zover is het uploaden gelukt, maar het downloaden werkt bij mij niet goed. De download pagina geeft niks weer en het opgeven van een id --> download.php?id=1 zou een nrg file uit de database moeten laten downloaden maar in plaats daarvan bied hij de eigen pagina aan: download.php. Weet iemand waarin de fout zich kan voordoen?
Guido van C
Guido van C
7 jaar geleden
 
0 +1 -0 -1
Ik denk dat het ligt aan mijn provider, dat dit geblokkeerd is. Of kan dit ook liggen aan de versie van sql server, op php? apache 1.3, php 4.3.11 sql 4.0. In mijn locale omgeving werkt het script namelijk wel.
Mike van den Berg
Mike van den Berg
6 jaar geleden
 
0 +1 -0 -1
Ondanks ik een beginnende PHP'er ben,
Een vraagje:
Wanner ik je script op de juiste manieren gebruik,
en files in FILES heb veranderd in "De downloads-pagina" en "Het downloadscript", is het tot op heden niet mogelijk om de bestanden uit mysql te downloaden,

lukt het bij jullie allen wel?
is hier evt. een oplossing voor, want het uploaden werkt namenlijk wel.

Alvast bedankt, Mike

Om te reageren heb je een account nodig en je moet ingelogd zijn.

  • Details
  • R. Hebing
    Door:
    R. Hebing
  • 7 jaar geleden
  • 1.537 x bekeken
  • Labels
  • Geen tags toegevoegd.