07. oktober 2004 - 11:56
Der er
45 kommentarer og 2 løsninger
autoskift fra mappe
Hej alle sammen, er der nogle af jer der har et script liggende til at skifte billede ? altså random, hvor den henter et forskelligt et fra en mappe ? Jeg håber i kan hjælpe mig hurtigst muligt !
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Slettet bruger
07. oktober 2004 - 12:02
#1
Har du mulighed for at omdøbe billederne? Det kan nemlig laves en hel det nemmere hvis de f.eks. er døbt 0.jpg til 10.jpg. -- pacroon
07. oktober 2004 - 12:08
#2
ja da. det er de faktisk gjort i forvejen
07. oktober 2004 - 12:12
#3
Ca dette så echo "<img src='".rand(0,10)."'.jpg'></img";
Slettet bruger
07. oktober 2004 - 12:12
#4
<?php echo "<img src='" .rand(0, 10). ".jpg'>"; ?> Det burde gøre det :)
Slettet bruger
07. oktober 2004 - 12:13
#5
Ah ja.. valid xhtml ;)
07. oktober 2004 - 12:14
#6
points til pacr00n :-)
07. oktober 2004 - 12:14
#7
den finder selv stien ?
07. oktober 2004 - 12:15
#8
men glemte dog en > til sidst - hehe
07. oktober 2004 - 12:16
#9
nej vi har begge formodet at billederne er "her" <?php echo "<img src='sti til pics/" .rand(0, 10). ".jpg'></img>"; ?>
07. oktober 2004 - 12:17
#10
Valid xhtml? er det ikke <img src="kklkll" /> ?? Men ellers kan dette også: <?php //sti til mappen som skal åbnes for læsning. I dette tilfælde den aktuelle mappe $path = opendir("./"); //filerne skal i et array for at kunne tælles $billeder = array(); //Vi læser dir igennem for filer while (false !== ($dir = readdir($path))){ //Laver et array med de filer i mappen som ikke skal vises $ejvist = array(".", "..", "rand.php", "README.html", "HEADER.shtml", "rand.zip"); //Er filen i arrayet ejvist fortsætter vi if (in_array($dir, $ejvist)) { continue; }else{ //"tilegner" filerne til arrayet billeder vi definerede tidligere $billeder[] = $dir; } } closedir($path); //Tæl billeder og brug rand $vistbillede = rand(0, count($billeder) -1); //find størrelsen for det billede som skal vises $str = GetImageSize($billeder[$vistbillede]); //Lav output for visning af tilfældigt billede echo "<img src=\"". $billeder[$vistbillede] ."\" ". $str[3] .">"; ?>
Slettet bruger
07. oktober 2004 - 12:21
#11
sukos > Når det skal vise billeder ville det nok være mere hensigtsmæssigt at den ikke afviste de filer du indskriver, men i stedet kun tager alt som er *.jpg/*.JPG og andre billedextensions vha. fx substring. :)
07. oktober 2004 - 12:25
#12
pacr00n, sådan: <?php echo "<img src="random"'" .rand(0, 10). ".jpg' width="163" height="168">"; ?> og hvor får jeg den til at tage den korrekte sti?
Slettet bruger
07. oktober 2004 - 12:28
#13
Normalt ved at lægge .php-filen i det dir hvor billederne ligger :)
07. oktober 2004 - 12:29
#14
pacr00n -> Jahh, så kunne man jo tjekke på getimagesize :O)
07. oktober 2004 - 12:30
#15
øv .. det skal nu være på alle mine sider :/det kan ikke laves på en nem lille måde ?
Slettet bruger
07. oktober 2004 - 12:33
#16
Hm, tjoeh, så skal du vidst ud i noget med at liste hele din rod og frafiltrere alt hvad der er *.jpg / *.JPG - så det kunne nok lade sig gøre, jo.. men nemt og småt, det er jeg ikke sikker på :)
07. oktober 2004 - 12:34
#17
hehe øv øv .. :/
07. oktober 2004 - 12:35
#18
Ligger billederne ikke i samme dir?
07. oktober 2004 - 12:38
#19
Jeg mener, alle de billeder som skal bruges, ligger de ikke i samme dir?
07. oktober 2004 - 12:38
#20
jo alle billeder ligger i samme.. men de ligger ikke sammen med php filen, billederne ligger i mappen "random" ved filen
07. oktober 2004 - 12:40
#21
jeg tror her misforstås noget. Er det ikke bare som allerede foreslået echo "<img src='/billeder/" .rand(0, 10). ".jpg'></img>"; evt med sukos billed tæller i i stedet for hardkodet 10 billeder
07. oktober 2004 - 12:41
#22
sukos på din her: echo "<img src=\"". $billeder[$vistbillede] ."\" ". $str[3] .">"; kan man sætte en bestemt størrelse på billedet ?
07. oktober 2004 - 12:47
#23
Du bruger jo bare: echo "<img src=\"". $billeder[$vistbillede] ."\" width=\"163\" height=\"168\">"; Men her ligger de også i samme dir! Men hvor ligger dine billeder???
07. oktober 2004 - 12:48
#24
i mappen random
07. oktober 2004 - 12:53
#25
echo "<img src='/random/". rand(0, 10) .".jpg' width='163' height='168' />";
07. oktober 2004 - 12:53
#26
den virker nogenlunde.. jeg har: <?php //sti til mappen som skal åbnes for læsning. I dette tilfælde den aktuelle mappe $path = opendir("random/"); //filerne skal i et array for at kunne tælles $billeder = array(); //Vi læser dir igennem for filer while (false !== ($dir = readdir($path))){ //Laver et array med de filer i mappen som ikke skal vises $ejvist = array(".", "..", "rand.php", "README.html", "HEADER.shtml", "rand.zip"); //Er filen i arrayet ejvist fortsætter vi if (in_array($dir, $ejvist)) { continue; }else{ //"tilegner" filerne til arrayet billeder vi definerede tidligere $billeder[] = $dir; } } closedir($path); //Tæl billeder og brug rand $vistbillede = rand(0, count($billeder) -1); //find størrelsen for det billede som skal vises $str = GetImageSize($billeder[$vistbillede]); ?> <HTML> <HEAD> <TITLE>index</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- .tekst { font-family: Arial, Helvetica, sans-serif; color: #000000; text-decoration: none} --> </style> </HEAD> <BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 text="#000000" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF"> <TABLE WIDTH=775 BORDER=0 CELLPADDING=0 CELLSPACING=0 align="center"> <TR> <TD COLSPAN=5> <IMG SRC="images/tite.gif" WIDTH=775 HEIGHT=95 ALT=""></TD> <TD> <IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=95 ALT=""></TD> </TR> <TR> <TD COLSPAN=5> <IMG SRC="images/index_02.gif" WIDTH=775 HEIGHT=27 ALT=""></TD> <TD> <IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=27 ALT=""></TD> </TR> <TR> <TD COLSPAN=3> <IMG SRC="images/index_03.gif" WIDTH=606 HEIGHT=15 ALT=""></TD> <TD COLSPAN=2 ROWSPAN=2> <table width="100%" border="0" cellspacing="0" height="155" cellpadding="0"> <tr> <td> <table width="168" border="0" cellspacing="2" height="154" cellpadding="0" align="right"> <tr> <td bgcolor="520B0B"> <center> <? echo "<img src=\"". $billeder[$vistbillede] ."\" width=\"163\" height=\"168\">"; ?></center> </td> </tr> </table> </td> </tr> </table> men den siger: Warning: Unable to access 3.JPG in /usr/www/vix-mix_dk/public_html/bh/skole.php on line 30 Warning: getimagesize: Unable to open '3.JPG' for reading. in /usr/www/vix-mix_dk/public_html/bh/skole.php on line 30
07. oktober 2004 - 12:54
#27
linje 30 er $str = GetImageSize($billeder[$vistbillede]); ??
07. oktober 2004 - 12:55
#28
Det er fordi stien ikke er defineret. Og hvis du vil bruge en fast str. er de tikke nødvendigt med getimagesize For sportens skyld, har jeg lige gang i et lidt bedre script! :O)
07. oktober 2004 - 13:00
#29
Men du kan vel blot: <?php //sti til mappen som skal åbnes for læsning. I dette tilfælde den aktuelle mappe $path = opendir("random/"); //filerne skal i et array for at kunne tælles $billeder = array(); //Vi læser dir igennem for filer while (false !== ($dir = readdir($path))){ //Laver et array med de filer i mappen som ikke skal vises $ejvist = array(".", "..", "rand.php", "README.html", "HEADER.shtml", "rand.zip"); //Er filen i arrayet ejvist fortsætter vi if (in_array($dir, $ejvist)) { continue; }else{ //"tilegner" filerne til arrayet billeder vi definerede tidligere $billeder[] = $dir; } } closedir($path); //Tæl billeder og brug rand $vistbillede = rand(0, count($billeder) -1); ?> <HTML> <HEAD> <TITLE>index</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- .tekst { font-family: Arial, Helvetica, sans-serif; color: #000000; text-decoration: none} --> </style> </HEAD> <BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 text="#000000" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF"> <TABLE WIDTH=775 BORDER=0 CELLPADDING=0 CELLSPACING=0 align="center"> <TR> <TD COLSPAN=5> <IMG SRC="images/tite.gif" WIDTH=775 HEIGHT=95 ALT=""></TD> <TD> <IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=95 ALT=""></TD> </TR> <TR> <TD COLSPAN=5> <IMG SRC="images/index_02.gif" WIDTH=775 HEIGHT=27 ALT=""></TD> <TD> <IMG SRC="images/spacer.gif" WIDTH=1 HEIGHT=27 ALT=""></TD> </TR> <TR> <TD COLSPAN=3> <IMG SRC="images/index_03.gif" WIDTH=606 HEIGHT=15 ALT=""></TD> <TD COLSPAN=2 ROWSPAN=2> <table width="100%" border="0" cellspacing="0" height="155" cellpadding="0"> <tr> <td> <table width="168" border="0" cellspacing="2" height="154" cellpadding="0" align="right"> <tr> <td bgcolor="520B0B"> <center><img src="/random/<? echo $billeder[$vistbillede]; ?>" width="163" height="168"></center> </td> </tr> </table> </td> </tr> </table>
07. oktober 2004 - 13:04
#30
okay hehe. ingen fejl nu. Men den viser ikke billedet :/
07. oktober 2004 - 13:05
#31
men stien på billedet virker fint !
07. oktober 2004 - 13:11
#32
Bortset fra at pacr00n's jo burde virke, hvis du smider /random/ på før rand, så kan du også prøve med dette som en include istedet <?php //dirpath ved visning af billede i browser $webpath = "/random/"; // path, den fulde sti, til brug forlæsning af dir og tjek på getimagesize (er selv til "fuld sti") $fullpath = $_SERVER["DOCUMENT_ROOT"]. $webpath; $path = opendir($fullpath); $billeder = array(); while (false !== ($fil = readdir($path))){ if (is_dir($fil) || false == getimagesize($fullpath . $fil)) { continue; } $billeder[] = $fil; } closedir($path); $id = array_rand($billeder); echo"<img src=\"". $webpath . $billeder[$id] ."\" width=\"163\" height=\"168\">"; ?> Så i stedet for <center><img src="/random/<? echo $billeder[$vistbillede]; ?>" width="163" height="168"></center> bruger du <center><?php include("random.php"); ?></center> hvis elelrs random.php ligger i samme dir som filen den includes fra.
07. oktober 2004 - 13:16
#33
det virker fint bortset fra billedet bare ikke kommer.. den siger en fin sti på billedet også. den vil bare ikke vise det
07. oktober 2004 - 13:19
#34
Og hvad står der i htmlkoden, hvis du prøver med en "vis kilde"???
07. oktober 2004 - 13:32
#35
<TD COLSPAN=2 ROWSPAN=2> <table width="100%" border="0" cellspacing="0" height="155" cellpadding="0"> <tr> <td> <table width="168" border="0" cellspacing="2" height="154" cellpadding="0" align="right"> <tr> <td bgcolor="520B0B"> <center><img src="/random/3.jpg" width="163" height="168"></center> </td> </tr> </table> </td> </tr> </table> </TD>
07. oktober 2004 - 13:33
#36
indskudt bemærkning til sukos, $_SERVER["DOCUMENT_ROOT"] virker ikke hos Freepaq hvor DOCUMENT_ROOT = /usr/local/share/www/ og dette er ikke den absolutte rod, det er derimod substr($SCRIPT_FILENAME, 0, strpos($SCRIPT_FILENAME, $SCRIPT_NAME) + 1) som på giver /usr/local/share/www/c/e/xxxxxxxxx/ ( hvor xxxxxxxxx er domænenavnet )
07. oktober 2004 - 13:36
#37
jahh, og det skoder osse på en IIS, vist nok, c:\\WWWinetpub\\random\\ ......... Så den er ret "relativ" Men takker for forslag!!!
07. oktober 2004 - 14:02
#38
´du ved ikke lige hvad fejlen er sukos ?
07. oktober 2004 - 14:08
#39
Næhh, men kan du smide et link til siden?
07. oktober 2004 - 14:11
#40
ja
http://www.vix-mix.dk/bh/skole.php det skal siges det kun er beta :). kodningen skal først op og køre .. så bliver der lavet orden på designet og siderne.
Og den er IKKE ægte. det er en test vi skal lave
07. oktober 2004 - 14:15
#41
Du har "random" liggende i "bh" dir'et Så læg random i roden, eller brug $webpath = "/bh/random/"; eller: echo "<img src='/bh/random/". rand(0, 10) .".jpg' width='163' height='168' />"; :O)
07. oktober 2004 - 14:28
#42
kanon .. jeg fik det til at virke.. der var bare en "/" for meget.. smider du et svar?
07. oktober 2004 - 14:30
#43
johh, men synes nu også pacr00n fortjener! :O)
07. oktober 2004 - 14:33
#44
"fidusen" med at bruge / som start på stien, er jo at ligemeget hvor i dirstruktur du vil hente noget, vil serveren altid starte fra roden af domænet. Hvis du f.eks. includer scriptet fra "bh/noget/andet/og/mere/" vil du altid få vist fra /random/ i stedet for at skulle bruge f.eks. ../../../../random/
07. oktober 2004 - 14:34
#45
ligemeget hvor i dirstruktur du vil hente noget == ligemeget hvor i dirstruktur du befinder dig
07. oktober 2004 - 14:36
#46
hehe ja det er rigtig :o). Jeg siger mange tak for hjælpen. Jep naturligvis får han lidt ;).
07. oktober 2004 - 14:37
#47
sådan. -lukket-
Vi tilbyder markedets bedste kurser inden for webudvikling