Meerdere foto's uploaden naar één rij met meerdere kolommen
Ik probeer meerdere foto's te uploaden....nu loop ik tegen een probleempje aan....ik heb namelijk een tabel met een ID, omschrijving, probleem, image. Dit werkt prima zolang je maar 1 foto wilt uploaden. maar nu heb ik van mijn upload button een multiple button gemaakt. Hoe kan ik er nu voor zorgen dat meerdere foto's goed geupload worden? Na het uploaden wil ik graag de foto's terug kunnen halen in mijn FPDF via de ID uit de tabel.
Is er iemand die mij kan helpen?
Alvast bedankt!
Ik ben 2e jaar ICT stundent MBO (applicatie en mediaontwikkelaar) dus ik zal nog het nodige moeten leren....en wil dit ook graag.
Gewijzigd op 18/10/2018 14:51:51 door Ward van der Put
Deed dit :
https://www.google.nl/search?q=php+upload+multiple+images
Vond onder andere dit :
https://www.codexworld.com/upload-multiple-images-store-in-database-php-mysql/
Gewijzigd op 15/10/2018 16:13:29 door Adoptive Solution
het uploaden van bestanden en het superglobale array $_FILES.
Als het je lukt om één bestand te uploaden dan is het uploaden van meerdere bestanden min of meer "meer van hetzelfde". Het enige verschil is waarschijnlijk dat $_FILES iets anders is gestructureerd.
Als je elke foto uniek wilt kunnen identificeren zul je per upload een record aan moeten maken. Elke keer als je een INSERT query uitvoert kun je direct na zo'n query het auto-increment id opvragen met insert_id (MySQLi) of lastInsertId (PDO) afhankelijk van wat je voor de communicatie met de database gebruikt.
Indien een batch aan uploads ook op een of andere manier bij elkaar hoort wil je misschien ook een soort van (koppel)tabel maken om deze op die manier te groeperen.
Ik zou zeggen, verdiep je wat meer in Als het je lukt om één bestand te uploaden dan is het uploaden van meerdere bestanden min of meer "meer van hetzelfde". Het enige verschil is waarschijnlijk dat $_FILES iets anders is gestructureerd.
Als je elke foto uniek wilt kunnen identificeren zul je per upload een record aan moeten maken. Elke keer als je een INSERT query uitvoert kun je direct na zo'n query het auto-increment id opvragen met insert_id (MySQLi) of lastInsertId (PDO) afhankelijk van wat je voor de communicatie met de database gebruikt.
Indien een batch aan uploads ook op een of andere manier bij elkaar hoort wil je misschien ook een soort van (koppel)tabel maken om deze op die manier te groeperen.
Gewijzigd op 15/10/2018 17:19:26 door Thomas van den Heuvel
Ik heb PLupload gebruikt. Deze handelt steeds één bestand per keer af, waarbij zelfs nog gebruik wordt gemaakt van 'chunking' om eventuele upload-limieten tegen te gaan. Steeds schrijft hij 1 MB per keer. Het achterliggende verwerkende script wordt overigens aangeroepen met wat URL-parameters die aangeven wat voor uploadsoort (nieuws, reportage, video (voor de thumbnails) het is, en welk ID nummer van het type er bij hoort.En dan wordt het geuploadt, en metadata en ID's in de database geplaatst.
Echter kwam ik erachter dat er ook foto's toegevoegd moeten kunnen worden als een bijbehorend artikel nog niet eens bestaat. Een ID-nummer voor een type weet ik immers nog niet (en gokken met laatste ID+1 is tricky, vooral als je met meerdere mensen tegelijkertijd werkt). Dat heb ik ondervangen door elk nieuwe artikel bij het aanmaken ervan een tijdelijke sha1() hash mee te geven. Deze geef ik dan als extra parameter aan de URL van het uploadscript, en dan wordt de upload netjes uitgevoerd, en wordt de tijdelijke hash eraan gekoppeld. Bij het versturen van het artikel, als deze afgetypt is weet ik wel het ID-nummer door mysqli_insert_id() en kan ik de foto's aan de hash herkennen en daar het ID-nummer die dan eindelijk bekend is bij plaatsen.
Verder gebruik ik een koppeltabel om alle uploads in te kunnen koppelen met de juiste types en ID's. En wat extra velden om een gekoppelde foto in te kunnen stellen als belangrijke foto, en of deze in de fotogalerij van het artikel vermeld moet worden, evenals een opmerkingenveld met opmerkingen die erbij horen. Die kan je ook uit de tabel uploads halen, maar soms wil je een alternatieve opmerking plaatsen die het als het ware overschrijft ;-)
Gewijzigd op 15/10/2018 16:59:58 door - Ariën -
- Ariën - op 15/10/2018 16:55:12:
Echter kwam ik erachter dat er ook foto's toegevoegd moeten kunnen worden als een bijbehorend artikel nog niet eens bestaat. Een ID-nummer voor een type weet ik immers nog niet (en gokken met laatste ID+1 is tricky, vooral als je met meerdere mensen tegelijkertijd werkt). Dat heb ik ondervangen door elk nieuwe artikel bij het aanmaken ervan een tijdelijke sha1() hash mee te geven.
Dit klinkt als iets waarin de volgorde van de operaties je parten speelt. Het kan waarschijnlijk best wat eenvoudiger geregeld worden, bijvoorbeeld door eerst de afbeeldingen toe te voegen waarbij je de increment id's onthoudt, en later, als het artikel id bekend is, UPDATE-queries uit te voeren, of een koppeltabel te vullen, met de eerder onthouden id's. Het lijkt mij niet nodig hiervoor hashes in te zetten.
Gewijzigd op 15/10/2018 17:32:22 door Thomas van den Heuvel
Uiteraard heb ik dit even uitgebreid met wat mogelijkheden voor extra afbeeldingsformaten, maar dat staat los van de kwestie.
Jouw idee kan mogelijk ook, en dan dacht je aan sessions, vermoed ik? Want je moet later als je het artikel submit toch ergens een herkenning hebben welke geüploade foto's bij het nieuwe artikelID horen. Enkel het ID van de foto is niet voldoende.
Gewijzigd op 15/10/2018 19:27:39 door - Ariën -
http://www.verot.net en met een foreach loop upload je de bestanden aan de server kant
Hoop dat je er wat aan hebt.
Ik gebruik class.upload.php van Hoop dat je er wat aan hebt.
Ik toevallig ook ;-)
Is je probleem het gestructureerd opslaan van die meerdere foto's? Dan moeten we even wat meer info over je achterliggende systeem+gedachten hebben.
- Die "tabel met een ID, omschrijving, probleem, image", is die nog ergens aan gekoppeld, of is dit alles?
- Hoe/waar onthoud je dit ID? (dit zullen dus meerdere ID's moeten worden, evt. nog met een volgorde indicatie)
- Waarom moeten die foto's in een PDF? Moet daar nog iets van tekst bij? Wie/wat bepaalt wat de inhoud van die PDF wordt?
uploads
- ID (PK, AI)
- FileName
- Description
- DateAdded
- Author
- MD5hash (uit md5_file)
uploads_items
- UploadID (koppeling met uploads.ID)
- UploadType (als je uploads wilt onderscheiden: nieuws, agenda, review etc...)
- KindID (ID-nummer van het type uit UploadType; bijv ID 45 van nieuws)
- Featured (foto als belangrijkste foto tonen)
- Description (overruled de description van de Upload)
- InGallery (tonen in de gallerij; leuk als je wilt bepalen welke in een gallerij moet worden getoond)
- UploadHash (De hash die nodig is als je iets toevoegt zonder dat je een ID weet)
Gewijzigd op 18/10/2018 18:37:57 door - Ariën -