Avatar billede wormsk8 Nybegynder
24. april 2005 - 11:48 Der er 10 kommentarer og
1 løsning

2 "list directory" spørgsmål

Hey derude!

Har lige to spørgsmål angående at liste mapper;

spm 1:

Har denne kode,

<?php
$dir = opendir("./diverse/img/");
while ($file = readdir($dir)) {
    if ($file != '.' && $file != '..')
    {
        $imgs[] = $file;
    }
}

$antal = count($imgs);
$count = 0;

for ($i = 0; $i < $antal; $i++) {
    if ($count % 5 == 0) {
        echo "<a href=\"\" onclick=\"window.open('profil.php',
        'mitvindue','height=400,width=500');return false;\"><img src=\"./diverse/img/$imgs[$i]\" alt=\"\"/></a>";
    }
    else
    {
        echo "<img src=\"./diverse/img/$imgs[$i]\" alt=\"\"/>";
    }
    $count++;
}
?>

Nu lister den efter navn på billederne, hvordan får jeg det til at liste random?

spm 2:

Hvordan får jeg i helt standard list-kode, kun vist navne på undermapperne i den mappe koden ligger.

Har denne kode,

<?php
// Note that !== did not exist until 4.0.0-RC2

if ($handle = opendir('./oploads/')) {
  echo "$file<br>\n";

  /* This is the correct way to loop over the directory. */
  while (false !== ($file = readdir($handle))) {
    if($file!="."&&$file!=".."){
          echo "$file<br>\n";}
  }

  /* This is the WRONG way to loop over the directory. */
while ($file = readdir($handle) && $file != "." && $file != "..") {
    echo "$file<br>\n";}

  closedir($handle);
}
?>

Den skal altså laves om til at liste undermapperne (ikke indholdet af dem) i en mappe!

Mvh. Kasper Worm Andersson
Avatar billede dennismp Nybegynder
24. april 2005 - 12:00 #1
svar 1: shuffle($imgs)
svar 2:
<?php
// Note that !== did not exist until 4.0.0-RC2

if ($handle = opendir('./oploads/')) {
  echo "$file<br>\n";

  /* This is the correct way to loop over the directory. */
  while (false !== ($file = readdir($handle))) {
    if($file!="."&&$file!=".." && is_dir($file)){
          echo "$file<br>\n";}
  }

  /* This is the WRONG way to loop over the directory. */
while ($file = readdir($handle) && $file != "." && $file != "..") {
    echo "$file<br>\n";}

  closedir($handle);
}
?>
Avatar billede dennismp Nybegynder
24. april 2005 - 12:01 #2
i svar-2: er der kun tilføjet is_dir($file) til din if()

Den anden WRONG while-løkke bør nok fjernes :)
Avatar billede wormsk8 Nybegynder
24. april 2005 - 12:03 #3
Hvor skal "shufle($imgs) sættes ind?

Er ikke så skarpt til php!

- Mange tak. Smid det som svar. ;)
Avatar billede dennismp Nybegynder
24. april 2005 - 12:04 #4
Det skal bare gøres før du viser dem. Fx efter: "$count = 0;"

Selv tak.
Avatar billede wormsk8 Nybegynder
24. april 2005 - 12:11 #5
$count = 0 shufle($imgs);

eller hvordan?
Avatar billede dennismp Nybegynder
24. april 2005 - 12:18 #6
Sådan her:

$antal = count($imgs);
shufle($imgs);
$count = 0;
Avatar billede wormsk8 Nybegynder
24. april 2005 - 12:23 #7
"Fatal error: Call to undefined function: shufle() in /usr/home/web/web20235/index.php on line 37"

Det virker ikke. :(
Avatar billede wormsk8 Nybegynder
24. april 2005 - 12:24 #8
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>temporary portfølge kasper worm andersson __/ links i billederne! </title>

<style>
body {
margin: 0px;
padding: 0px;
}

img, a {
width: 125px;
height: 125px;
float: left;
padding: 0px;
margin: 0px;
border: 0px;
}

*html img, a { margin-left: -6px; }
</style>
</head>

<body>
<?php
$dir = opendir("./diverse/img/");
while ($file = readdir($dir)) {
    if ($file != '.' && $file != '..')
    {
        $imgs[] = $file;
    }
}

$antal = count($imgs);
shufle($imgs);
$count = 0;

for ($i = 0; $i < $antal; $i++) {
    if ($count % 5 == 0) {
        echo "<a href=\"\" onclick=\"window.open('profil.php',
        'mitvindue','height=400,width=500');return false;\"><img src=\"./diverse/img/$imgs[$i]\" alt=\"\"/></a>";
    }
    else
    {
        echo "<img src=\"./diverse/img/$imgs[$i]\" alt=\"\"/>";
    }
    $count++;
}
?></body>
</html>
Avatar billede dennismp Nybegynder
24. april 2005 - 12:26 #9
My bad - det hedder shuffle (to f'er)
Avatar billede wormsk8 Nybegynder
24. april 2005 - 12:30 #10
Mange mange tak for hjælpen!
Avatar billede dennismp Nybegynder
24. april 2005 - 12:32 #11
Selv tak - hvis det stadig driller, så skriv bare her :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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