Avatar billede overgreat Forsker
17. november 2003 - 16:11 Der er 5 kommentarer og
1 løsning

PHP kodeproblemer til skift af billede!

Hej

Jeg har en kode som i realiteten burde virke.... det gør den også men bare ikke hver gang.

Den skal fungere på følgende måde. Man ligger billederne man vil have til at rotere ved nye besøg ind i mappen billeder, hvorefter den selv finder frem til et tilfældigt billede ved hvert besøg.

Desværre finder den ikke et billede hver gang.

Er der nogen der kan give hints til retning?

Kode:
<?
$dir = "./billeder/";
if ($dh = opendir($dir)) {
  while (($file = readdir($dh)) !== false) {
if ($fil != "." || $fil != "..") {
    $fil[] = $file;
  }
  }
}
$num = count($fil);
$num = $num--;
$pic = rand(0,$num);
$img = $dir.$fil[$pic];
echo "<img src='$img'>";
?>
Avatar billede ohmish Nybegynder
17. november 2003 - 16:39 #1
prøv at sætte dette øverst på siden:

<?php
HEADER("Expires: Wed, 01 Jan 2001 18:00:00 GMT");
HEADER("Last-Modified: " . GMDATE("D, d M Y H:i:s") . " GMT");
HEADER("Cache-Control: no-store, no-cache, must-revalidate");
HEADER("Cache-Control: post-check=0, pre-check=0", FALSE);
HEADER("Pragma: no-cache");
?>
Avatar billede gizp Nybegynder
17. november 2003 - 16:49 #2
Sådan prøv lige denne. Tror fejlen var der manglede 2 stk's e'er!

<?
$dir = "./billeder/";
if ($dh = opendir($dir)) {
  while (($file = readdir($dh)) !== false) {
if ($file != "." || $file != "..") {
    $fil[] = $file;
  }
  }
}
$num = count($fil);
$num = $num--;
$pic = rand(0,$num);
$img = $dir.$fil[$pic];
echo "<img src='$img'>";
?>
Avatar billede jakoba Nybegynder
17. november 2003 - 17:01 #3
betingelsen i din if
    if ($file != "." || $file != "..") {
vil ALTID være opfyldt. ( hvis $file ikke er forskellig fra '.' så er den forskellig fra '..' :-))

det skal være
    if ($file != "." && $file != "..") {  // BÅDE forskellig fra '.' og '..'

mvh JakobA
Avatar billede gizp Nybegynder
17. november 2003 - 17:03 #4
Nå ja.. det skal du selvfølgelig lige have ændret tilbage...

Ja, det er mig der lavede scriptet!!!
Avatar billede overgreat Forsker
17. november 2003 - 17:14 #5
Hej alle
Jeg har prøvet de forskellige forslag. Desværre får jeg samme problem hver gang.

Den virker noget af tiden. En gang i mellem finder den ikke et billede, hvor den så skriver følgende i kildekoden.

<img src='./billeder/'>

Er det sikrere/bedre at lave databasen med billeder?

mvh Overgreat
Avatar billede overgreat Forsker
17. november 2003 - 17:29 #6
Hej Alle

Jeg har fundet en løsning der virker!

<?
$dir = "./billeder/";
if ($dh = opendir($dir)) {
  while (($file = readdir($dh)) !== false) {
if ($file != "." && $file != "..") {
    $fil[] = $file;
  }
  }
}
$num1 = count($fil);
$num = $num1--;
$pic = rand(0,$num1);
$img = $dir.$fil[$pic];
echo "<img src='$img'>";
?>

num-koderne er rettet lidt!

mvh

Overgreat

ps. Tak for hjælp givet. Gizp for alligevel pointene for det store benarbejde der er lavet forud for den endelige løsning!
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