Pampaxius Skrevet 15. januar 2004 Del Skrevet 15. januar 2004 hei! driver å lager ett bildearkiv til hjemmesiden min, men har satt med litt fast tankegangen i scriptet er at jeg kjører en loop med hjelp av "while" for å opne alle bildene i en mappe. skal senere bruke 2 mapper sånn at den mappen der alle bildene er thumbnails og den andre bildene i full størrelse, men foreløpig resize'er jeg bare de store bildene når jeg opner dem og bruker dem som thumbnails. i loop'en min opner jeg ett og ett bilde med linker som viser til "galleri.php?bilde=$i". standardverdien av $i er 0. på på slutten av loop'en har jeg en $i++; som gjør at hver av linkene stiger med 1. dvs. at første linken peker til bilde=0, andre til bilde=1, tredje til bilde=2 osv. alt dette fungerer bra. problemet oppstår når jeg prøver å inkludere bildet som skal bli opnet. f.eks. når jeg har trykket på en link og det står galleri.php?bilde=5" i adresselinjen. da vil jeg at bilde nummer 6 (siden bilde 1 har verdien 0) i katalogen med bilder skal bli inkludert. klarer ikke helt å koble sammen navnene og verdien. tror jeg på bruker tag'en "foreach ($file as $bilde) { ...." der "$file" er den opna mappen. noen som har peiling på hva jeg har gjort feil eller på hva jeg er nødt til å ta med? vil bli veldig takknemnlig om noen med nok kompetanse kunne ha avsett ett par minutter til å hjelpe meg!! koden jeg bruker i scriptet er som følgende: <? $galleri = "10.02.03-fest"; $galleri2 = opendir($galleri); if (isSet($bilde)) { $next = $pic + 1; $back = $pic - 1; $bilder = readdir($galleri2); $antallBilder = count ($bilder); print" <br><br><IMG src='$galleri/$bilder[$pic]' style='border: 1px solid #000000' alt='bilde'><br><br> "; } $i=0; $rep = "10.02.03-fest/"; $dir = opendir($rep); while ($bilde = readdir($dir)) { if(is_file($rep.$bilde)) { print "<a href=galleri.php?bilde=$i"; print "><img width=\"100\" style=\"border: 1px solid #000000\" src=$rep" .$bilde; print "></a> "; $i++; } } closedir($dir); ?> scriptet er også lagt ut på http://hafstadrussen.net/galleri/galleri.php om det hjelper å prøve hva som skjer.. trykk på en av thumbnailene for å få fram det som skulle ha vært bildet.. på forhånd takk! mvh kristian Lenke til kommentar
FuLu Skrevet 15. januar 2004 Del Skrevet 15. januar 2004 (endret) Som du sikkert ikke la merke til så bruker du $pic istedet for $bilde på visning av bilde. Edit: Også må du ikke glemme, du kan ikke kalle direkte på $bilde slik, hvis du ikke har satt den selv før i koden da. Du må f.eks bruke $bilde = $_GET['bilde'] i det minste. Som magikern sa i en tråd her: $id = $_GET['id']; /*url*/$id = $_POST['id']; /*form*/ $id = $_COOKIE['id']; /*kake*/ $id = $_SESSION['id']; /*session*/ Endret 15. januar 2004 av FuLu Lenke til kommentar
Pampaxius Skrevet 15. januar 2004 Forfatter Del Skrevet 15. januar 2004 takker! var nok litt slurvete.. skifta det om til: $hentbilde = $_GET['bilde']; print" <br><br><IMG src='$galleri/$hentbilde' style='border: 1px solid #000000' alt='bilde'><br><br> "; men einaste forskjellen var at den henta ned verdien av bildet. altså eit tall. korleis får eg scriptet til å gjere tallet om til namnet på bilde? kristian Lenke til kommentar
Torbjørn Skrevet 15. januar 2004 Del Skrevet 15. januar 2004 du må vite på et eller annet vis hvilket tall som hører til hvilket bilde. Lenke til kommentar
FuLu Skrevet 15. januar 2004 Del Skrevet 15. januar 2004 Vet ikke hva som er lurest, liste opp bildene inn i et array (readdir etc) hvor du bruker index i array til å peke på et bilde (array[$i] = "bilde.ext"). Eller, du lager en slags index fil, hvor du øker en id for hver gang du legger opp et nytt bilde i albumet. Eller (igjen ), du legger på id'en i filnavnet og har en id-count fil hvor du har siste id lagret i, så at filene får id_filnavn.ext. Eller (Gud hvor mange "eller" det ble :! rett og slett bruke mysql hvis du kan det. Lenke til kommentar
Pampaxius Skrevet 16. januar 2004 Forfatter Del Skrevet 16. januar 2004 ikkje så dum du! sku gjerne hatt skriptet til å sette verdiane for meg igjennom ein loop.. viss eg må legge inn verdiane for kvert bilde mister heile scriptet sinn funtion.. bildene har ikkje noko logisk sammenheng (f.eks. bilde1.jpg, bilde2.jpg, bilde3.jpg osv...), så scriptet må lese av mappa og tildele bilda verdiar utan begrensing av navn. du snakka om ei indexfil som tildelte bildene id'ar med aukande verdi.. har du eit forslag på korleis eg kan gjere detta? som du såg i scriptet mitt stiger jo linkane med stigande 'pic' verdi, men eg må ein eller annan måte knytte denne verdien opp mot navnet på filene.. nåken konkrete forslag? hadde vore fantastisk om nåken kunne ta seg tida til å hjelpe meg litt!!! hilsen kristian Lenke til kommentar
Torbjørn Skrevet 16. januar 2004 Del Skrevet 16. januar 2004 du kan angi filnavnet direkte, men OBS OBS, sjekk at filnavnet du får inn er et på forhånd godkjent filnavm, f.eks sjekke om det ligger ie en array("bilde1.jpb","bilde2.jpg") Lenke til kommentar
Pampaxius Skrevet 16. januar 2004 Forfatter Del Skrevet 16. januar 2004 Torbjørn: forsto ikkje heilt kva du meinte med å angje filnavnet direkte.. kva det vil seie? Lenke til kommentar
Torbjørn Skrevet 16. januar 2004 Del Skrevet 16. januar 2004 side.php?bilde=meg_og_dama.jpg hvor det filnavnet er en fil som finnes. Lenke til kommentar
Pampaxius Skrevet 16. januar 2004 Forfatter Del Skrevet 16. januar 2004 åja.. ja sånn var det gamle bildearkivet mitt.. problemet er det at på det nye eg holder på med no skal det mellom anna vere mogleg å trykke "forgje bilde" og "neste bilde", og da er eg avhengig av å kunne lese av 'pic'-verdien og trekke fra 1 eller legge til 1... nokon ideer til korleis eg kan gjer detta viss eg angir filnavnet direkte? Lenke til kommentar
Torbjørn Skrevet 16. januar 2004 Del Skrevet 16. januar 2004 jeg vil tro at du får listet opp filene i samme rekkefølge hver gang du leser dem ut Lenke til kommentar
Pampaxius Skrevet 16. januar 2004 Forfatter Del Skrevet 16. januar 2004 sorry at eg er litt treig, men trenger litt meir enn ei linje for å forstå kva du meiner meiner du at eg skal prøve å liste opp bilde på nytt når eg har henta ned verdien av pic og så på eit vis sammenligne dei? korleis gjer eg eventuelt det? trenger eit eksempel... takk forresten! Lenke til kommentar
Pampaxius Skrevet 17. januar 2004 Forfatter Del Skrevet 17. januar 2004 er ganske sikker på at eg har klart å knytte isammen navnet på bilda med verdier fra 0 og oppover. gjorde dette sånn: // --- laster opp mappa og lagrer innholdet i ein array$hentkategori = $_GET['kategori']; $bildemappe = "../galleri/bilder/$hentkategori/"; $bildedir = opendir($bildemappe); while ($bilder = readdir($bildedir)) { if (is_file($bildemappe.$bilder)) { $dirlist2[] = $bilder; } } // --- lukker mappa og sorterer innholdet i mappa closedir($bildedir); sort($dirlist2); // --- for kvar setter eg {$files as $bilder}{print "$bilder";} while (list($key2, $valbilder) = each($dirlist2)){ print "$valbilder $key2<br>"; } men korleis får eg ut navnet på bildet? må vel på ein måte bli eit eller anna: $hentpicnummer = $_GET['pic']; if($henpicnummer = $key2) { print "<img src\"$valbilder\">"; } veit at detta ikkje funker med det var for å forklare logikken min.. må på ein eller anna måte få scriptet til å sjekke om verdien av $_GET['pic']; er lik $key2 verdien i $dirlist2 og så hente ut verdien av $valbilder.. nåken som har peiling? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå