Avatar billede mccookie Seniormester
23. maj 2005 - 18:24 Der er 17 kommentarer og
2 løsninger

Vis en filelist

Hejsa

Jeg vil gerne lave en filliste, hvor der f.eks kun er .jpg filer og hvordan ændre jeg dette script??

<?php

//dir_list.php

$default_dir = "./docs";
if(!($dp = opendir($default_dir))) die("Cannot open $default_dir.");
while($file = readdir($dp))
    if($file != '.' && $file != '..') echo "$file<br />";
closedir($dp);
?>

mvh.
H
Avatar billede neess Nybegynder
23. maj 2005 - 18:29 #1
du kan jo bare tjekke på om filens endelse er .jpg. hvis den ikke er det skal den ikke udskrives
Avatar billede thesurfer Nybegynder
23. maj 2005 - 18:32 #2
Du kan vist bruge strpos: http://dk.php.net/manual/en/function.strpos.php

Eksempel (kan sikkert gøres på en bedre måde):

while($file = readdir($dp))
  $pos = strpos($file, '.jpg');
  if ($pos > -1) echo "$file<br />";
closedir($dp);
Avatar billede neess Nybegynder
23. maj 2005 - 18:34 #3
udskriver alle filer som ikke hedder index.php
isedet kan du jo sætte en substring ind
substr($file, -3)=="jpg"
$handle=opendir('./');
while (false !== ($file = readdir($handle))) {
    if($file != "." && $file != ".." && $file != "index.php") {
        echo "<a href ='$file'> $file</a> <BR>";

    }
}
closedir($handle);
Avatar billede thesurfer Nybegynder
23. maj 2005 - 18:36 #4
Jeg glemte vist "." og ".." :-)

while($file = readdir($dp))
  $pos = strpos($file, '.jpg');
  if ($file != '.' && $file != '..' && $pos > -1) echo "$file<br />";
closedir($dp);
Avatar billede thesurfer Nybegynder
23. maj 2005 - 18:37 #5
Men hvad med ".jpeg"? Er der andre formater, der skal tages hensyn til?
Avatar billede mccookie Seniormester
23. maj 2005 - 20:47 #6
jeg tænker jo på at et billede kan jo både hedde jpeg og jpg....... kan man ikke tage højde for det ved at lave et lille array??
Avatar billede avminarm Juniormester
23. maj 2005 - 20:53 #7
kig lidt på glob() den er faktisk rigtig fix :-)
Avatar billede mccookie Seniormester
23. maj 2005 - 20:55 #8
<?php

//dir_list.php

$default_dir = "../";
if(!($dp = opendir($default_dir))) die("Cannot open $default_dir.");

while($file = readdir($dp))
  $pos = strpos($file, '.php');
  if ($file != '.' && $file != '..' && $pos > -1) echo "$file<br />";
closedir($dp);

?>

Jeg har prøvet ovenstående men det virker s... ik' lige......... der kommer ingenting
Avatar billede mccookie Seniormester
23. maj 2005 - 20:57 #9
glob() ser lovende ud ;)

Ser lige station2
Avatar billede avminarm Juniormester
23. maj 2005 - 21:39 #10
station2 er slut ;o)

noget ala
<?php
foreach (glob("docs/*.jpeg") as $filename) {
  echo $filename;
}
Avatar billede mccookie Seniormester
23. maj 2005 - 22:30 #11
Smid nogle svar.....jeg er godt igang med glob() nemt at arbejde med og tja.....ganske god
Avatar billede mccookie Seniormester
23. maj 2005 - 22:35 #12
<?php

// Udskriver filerne med en given ext.

$filtype = "*.php,*.php3";             // Skrives "*.ext1,*.ext2"; der kan skrives en eller flere filtyper.
$domain  = "http://www.strandboerne.dk";    // Domæne til at lave korrekt sti til filerne, så de kan bruges som link
$dir = '../';                     // Sti til mappe med billeder

$jpgs = glob("$dir/{$filtype}");

$antal_filer = count($jpgs);

$billede = $jpgs[rand(0,count($jpgs)-1)];

$i = "0";
while($i < ($antal_filer)) {
    echo $jpgs[$i] . "<br />";
    $i++; }

?>

Dog kan ikke få den til at acceptere at tjekke flere filtyper..........
Avatar billede avminarm Juniormester
24. maj 2005 - 07:38 #13
hmmm hvis ikke den kan det kan du måske benytte ereg()
Avatar billede mccookie Seniormester
24. maj 2005 - 09:10 #14
Som beskrevet er der lidt problemer omkring valget ved flerer filer....

Noget andet er alt en fil jo sagten kan hedde *.Jpg eller *.JPg osv. hvordan tager jeg højde for det??
Avatar billede neess Nybegynder
24. maj 2005 - 09:16 #15
Du kan køre endelsen ned i små bogstaver. Så bliver der kun 2 muligheder.
Avatar billede krydset Nybegynder
24. maj 2005 - 09:30 #16
Du kan osse gøre sådan her, flere tilladte filtyper tilføjer du bare i arrayet $allowed_files


<?php
$allowed_files = array("jpeg", "jpg");

$default_dir = "C:\Documents and Settings\Thomas L\Dokumenter\Billeder\\";
if(!($dp = opendir($default_dir))) die("Cannot open $default_dir.");
while($file = readdir($dp))
    if($file != '.' && $file != '..') {
        $ext = pathinfo($file);
        #echo $ext['extension']."<br />";
        if(in_array($ext['extension'], $allowed_files)) {
           
            echo "$file<br />";
        }
    }
closedir($dp);
?>
Avatar billede mccookie Seniormester
30. juni 2005 - 23:11 #17
Tak for hjælpen begge 2....jeg har fået en forkærlighed til glob() den er nem og enkelt at have med at gøre ;)
Avatar billede avminarm Juniormester
01. juli 2005 - 08:29 #18
så er vi to ;o) - glob!
Avatar billede mccookie Seniormester
01. juli 2005 - 08:59 #19
pælfdpgldfg
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