Gå til innhold

opne bilde med verdien "galleri.php?bilde=3" ?


Anbefalte innlegg

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
Videoannonse
Annonse

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 av FuLu
Lenke til kommentar

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

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 :D), 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

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

å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

sorry at eg er litt treig, men trenger litt meir enn ei linje for å forstå kva du meiner :wow: 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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...