login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Afbeeldingen voor filmdatabase erbij zoeken met scandir en vergelijking titel/bestandsnaam

Offline Eric1978 - 25/09/2011 13:41 (laatste wijziging 25/09/2011 13:45)
Avatar van Eric1978Lid Hoi allemaal,

Ik ben nu bezig met het opzetten van een filmdatabase. Deze bestaat uit de velden ID, afbeelding, titel, jaar, beeldkwaliteit en omschrijving. Ik haal al deze gegevens uit de Mysql database behalve de afbeeldingen.

Deze heb ik in een map (afbeeldingen) geplaatst op de webserver en ik wil deze via een array in de tabel krijgen bij het juiste ID. Dit betekend dus dat ik een vergelijking moet maken, en de naam van de afbeelding gelijk moet zetten aan de naam van de titel.

Mijn idee is om het zoeken van de plaatjes met de functie scandir() te doen.
Ik wil dan de de map afbeeldingen doorlopen, en de naam zoals bijvoorbeeld "Gladiator.jpg" aanpassen naar "Gladiator".
Later kan ik dan een vergelijking maken tussen het veld titel en de scandisk array met bijvoorbeeld een for/foreach statement. de titelnaam moet dan alijd gelijk zijn aan de bestandsnaam (zonder .jpg)

Heeft iemand hier evaring mee, en tips m.b.t. het verwijderen van de .jpg extensie in de scandir functie?
Ik heb trouwens een class Film() waarin al mijn functies staan, dus het liefs zet ik deze functie daar ook in ;)

Groeten Eric

5 antwoorden

Gesponsorde links
Offline vinTage - 25/09/2011 13:45
Avatar van vinTage Nieuw lid Als je een beetje perfomant denkt, dan maak je gewoon een extra veld in je database aan met daarin de pad/naam van je plaatje.
Dat ene veld mee selecteren in je query kost een pak minder rekenkracht dan je hele dir scannen op 'naam.jpg/gif/png'
Offline Eric1978 - 25/09/2011 14:04 (laatste wijziging 25/09/2011 14:05)
Avatar van Eric1978 Lid Op zich niet zo'n slecht idee. Ik kan dan bijvoorbeeld de naam "Gladiator.jpg" noemen. In de tabel kan ik dan linken naar IMG SRC="afbeeldingen/{$film->getAfbeelding()}". (gebruik smarty voor mijn templates/formulieren vandaar)

Maar dan moet ik bij het toevoegen van een nieuwe film in het toevoegformulier een veld afbeeldingnaam of iets dergelijks erbij zetten. En dan iedere keer de naam van de afbeelding invullen. (Gladiator.jpg, etc)
Offline vinTage - 25/09/2011 14:08 (laatste wijziging 25/09/2011 14:08)
Avatar van vinTage Nieuw lid invullen hoeft niet perse he, je hernoemt (tijdens move_uploaded_file(..)) je plaatje gewoon naar het id van je record, zo ben je ook af van het gezeik met spaties/hoofdletters etc.
Offline Eric1978 - 25/09/2011 14:16
Avatar van Eric1978 Lid Ok bedankt voor je nuttige tips. Ik ben nog vrij nieuw met PHP/classes/mysql ben nu 3 maanden bezig zoiets.

In mijn class heb ik een apart INSERT/Update statement functie gezet.

Deze gebruik ik dan als de functie "opslaan()" in mijn object. Moet ik de afbeelding in mijn object gelijk zetten aan de id voor het uploaden? Met welke functie/statement doe ik dat dan?
Offline vinTage - 25/09/2011 14:18
Avatar van vinTage Nieuw lid eerst inserten, dan uploaden => PHP.net: mysql_insert_id();
of
eerst uploaden => PHP.net: rename
Bedankt door: Eric1978
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.167s