Avatar billede soundwave Nybegynder
26. september 2006 - 20:07 Der er 9 kommentarer og
1 løsning

Ømdøb billede til "antal billeder i mappen +1"?

Jeg har et uploadscript der uploader billeder til en mappe ("mit-domæne.dk/billeder") og resizer dem.

Mit galleri viser billederne i den rækkefølge de er kommet ind på serveren (dvs. den viser det billede der har det højeste tal eks: 0024.jpg før 0013.jpg).

Jeg vil derfor gerne have et script der kan omdøbe det billede der uploades til det antal billeder der er i mappen +1 (dvs. hvis der er 53 billeder i mappen skal mitbillede.jpg omdøbes til 0054.jpg)

Kan dette lade sig gøre?
Avatar billede nikksen Nybegynder
26. september 2006 - 23:29 #1
er det ikke bare noget med at bruge følgende som navn?

$antalbilleder = count($billeder)+1;
Avatar billede shooka Nybegynder
26. september 2006 - 23:40 #2
Jeg plejer at bruge databasen hvor du indsætter en række for hvert billede, og så bliver ID, som er auto_increment, plusset med 1. Så har du navnet på det nye billede. Samtidigt kan du jo gemme nogle oplysninger om billedet.
Avatar billede shooka Nybegynder
26. september 2006 - 23:42 #3
Her taler jeg selvfølgelig om MySQL databasen ;)
Avatar billede radion Nybegynder
28. september 2006 - 16:29 #4
nikksen: nej, hvis man så sletter et, så bliver der et problem med at der bliver dubletter når man sætter et nyt billede ind.

hvis du for alt i verden ikke vil bruge database, så kan du jo loade alle navnene ind i et array, sortere det og så lægge 1 til det navn der har højeste tal.

den nemmeste, og smarteste for ikke at tale om den mindst resourcekrævende løsning er som shooka nævner, en database.
Avatar billede soundwave Nybegynder
28. september 2006 - 17:38 #5
det kan godt være at jeg skal vælge at bruge en database som shooka og radion nævner... men hvordan gøres det lettest?
Avatar billede radion Nybegynder
28. september 2006 - 19:06 #6
lav en database med en ID (INT) der er auto_increment, og et felt der hedder pic_name ( eller lignende ) der sættes til tiny_text

så loader du navnet ind i pic_name og når du vil have det sidst indsatte billede finder du det med følgende sql

Select pic_name from billede_tabel order by id desc limit 1

så afleverer den 1 post med pic_name sorterer efter id, hvor det højeste id kommer først.
Avatar billede radion Nybegynder
28. september 2006 - 19:07 #7
hvis du skal bruge flere end et billede, kan du naturligvis bare


Select pic_name from billede_tabel order by id desc

så får du alle billederne sorteret sådan at de sidst indsatte kommer først
Avatar billede shooka Nybegynder
28. september 2006 - 22:48 #8
Radion --> Du vil ikke få dubletter, hvis du tager det højeste ID i databasen. Så let kan det gøres ;)
Avatar billede radion Nybegynder
29. september 2006 - 12:23 #9
enig, min kommentar var til at nikksen ville tælle antal billeder og navngive den nye med +1

hvis man har 100 billeder, sletter et og lægger et nyt ind, så vil det nye hedde 100, og der vil være 2 af dem.

med den db løsning jeg beskriver, behøver man bare ikke omdøbe billederne :)
Avatar billede soundwave Nybegynder
03. januar 2008 - 13:38 #10
lukker... havde håbet at det kunne lade sig gøre uden brug af db
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester