Mensen,

Wat wil ik: voor een website wil ik bestanden kunnen uploaden naar een server. Vervolgens wil ik dat er een link naar die bestanden in een database komt te staan. (Want volgens mij kan je geen bestanden opslaan in een database.) Als laatste wil ik dan op een andere pagina, als men ingelogd is kan men dan bij die pagina, de inhoud van de map "uploads" kan opvragen.

Concreet is de vraag is er een actuele tutorial die mij daarbij kan helpen?


Ik heb zelf deze gevonden: http://www.codingcage.com/2014/12/file-upload-and-view-with-php-and-mysql.html
En deze maar die is zonder database Daar zit overigens wel een mooi mededelingenschema in: http://phphulp.jorendewit.nl/view/12/

De vraag bij de scripts uit de link en degene die hier op het forum staan is: zijn ze, vanwege de leeftijd, nog actueel en veilig te gebruiken.

Als iemand mij zou willen helpen heel graag. (en nee, ik verwacht echt niet dat jullie nu een compleet script gaan zitten typen.)
Met welk doel filteren?
Om dingen te leren! net als dat ik zaken in wil gaan bouwen als "U hebt geen bestand gekozen"het gekozen type wordt niet ondersteund".

Dit project is privé nergens voor nodig maar vind het leuk om met php te experimenten en te leren. (als je het leuk vind wil ik nog wel een paar dingen neerzetten waar ik naar zoek of lekker aan het bouwen ben.)
Een aantal dingen die ik niet helemaal vat in de code van @Adoptive.

Eerst sla je een afbeelding op en vervolgens controleer je pas of dit een afbeelding betreft (met behulp van getimagesize())? Ook roep je meerdere keren getimagesize() aan en houd je geen rekening met de mogelijkheid dat het geen afbeelding betreft. Draai dit om: ga eerst na of het een afbeelding betreft en sla dan pas iets op.

Waarom sla je een tekstbestand op? Waarom moet deze in eerste instantie geupload worden (wat is er mis met een textarea)? En waarom escape je de input hiervan :/. Het escapen van input belemmert de auteur van het recept mogelijk later ook om deze te wijzigen, deze kan namelijk hierdoor inhoudelijk gewijzigd zijn, wat mij niet de bedoeling lijkt. Sla alles gewoon "rauw" op en behandel dit als User Data.

Addslashes() is trouwens niet the way to go. Gebruik fatsoenlijke escape-functies in je query.


Tomas,

Zou je eens een voorbeeld van een, volgens jou, goed script kunnen posten? Zo te lezen heb je nogal het een en ander aan verbeteringen. En daar staan we natuurlijk voor open.
Als ik mij niet vergis zou je met dit kunnen controleren of iets een afbeelding is, of juist niet.

if(is_array(getimagesize($image))){
    // een afbeelding
} else {
    // GEEN afbeelding.
}
Rubensky PHP starter op 19/12/2016 21:34:47
Zou je eens een voorbeeld van een, volgens jou, goed script kunnen posten? Zo te lezen heb je nogal het een en ander aan verbeteringen. En daar staan we natuurlijk voor open.

Zou je eerst eens kunnen kijken naar mijn bovenstaande vragen?

Mocht je dan besluiten om dit alsnog in PHP/MySQL te doen dan heb ik hier geen *enkel* "script" voor liggen. Wat je wilt klinkt namelijk als een beheersysteem voor media. Dit valt sowieso in een aantal stukken uiteen:
- gebruikersbeheer
- beheerschermen binnen het mediasysteem, met bijbehorende formulieren voor verwerking
- database- en filesysteemstructuur
- functionaliteit voor verwerking van file-uploads

Al deze onderdelen zou je in principe redelijk onafhankelijk van elkaar kunnen ontwikkelen. Dt lijkt mij ook handig/verstandig uit oogpunt van modulariteit/herbruikbaarheid. Ook zou je eens kunnen kijken of je kant en klare onderdelen kunt gebruiken.
Ik doe niks voor het professionele. Ik ben gewoon voor de hobby bezig mijzelf aan te leren hoe zo iets moet. (misschien dat ik er over ongeveer een jaar wel iets mee ga doen maar ik heb op dit moment totaal geen plannen

Ik heb een domein bij een hosting provider. Daar staat mijn webpagina op en daar wil ik ook de bestanden plaatsen.

Voor de duidelijkheid zal ik je even meenemen in wat ik op dit moment als een project heb voor mijzelf en aan het ontwikkelen ben

1 een inlog met daaronder pagina's die je alleen kan zien als je ingelogd bent. (gereed)
2 Dat is het deel waar het in dit topic over gaat:
Via een formulier wordt er een nieuw dossier aangemaakt. De meta gegevens van dit dossier worden in de database opgeslagen. De daaronder te hangen, op dit moment lege, PDF en Word bestanden komen in een aparte map.

Mijn volgende project zal dan zijn op dossiernummer kunnen zoeken in de database die dan vervolgens ook alle onderliggende bestanden toont.
Okee, klinkt goed.
Inmiddels is het één en ander al gelukt?
Nog niet ik ga er na de kerst weer lekker mee verder. Er komt wel een nieuwe vraag aan van mij...

Reageren