webForumDet fria alternativet

Lista filer i en katalog utom bildfiler.

PHP

9 svar · 302 visningar · startad av Rödalacket

Medlem sedan feb. 20002 612 inlägg
Frågan#1

Skall lista filer i en katalog men vill inte att bildfilerna skall komma med.
För att ta bort . och .. så kan man skriva
if(!($files=="."||$files==".."))
För att ta bort en bildfil så lägger man till $files=="bild.gif"...men om det är många bilder kan man använda något jokertecken

($files=="*.gif")

i stället för namnet?

[Redigerat av Rödalacket den 12 apr 2001]

Medlem sedan juni 20001 251 inlägg
#2

Vet inte, men man kan alltid göra såhär:

<?
$dir=opendir("/home/minkatalog/");

while($fil = readdir($dir)) {
$typ=substr($fil,0,-4);

if ($typ != ".gif") {
echo "$fil är inte en GIF-bild.";
}
}
closedir($dir);
?>

------------------
SteveNet
------------------
- Det var motgräs!
Roland Sandberg förklarar varför han missade öppet mål.

[Redigerat av stevenet den 12 apr 2001]

Medlem sedan feb. 20002 612 inlägg
#3

Det jag hade tänkt mig var att alla filer i en katalog skall listas.
index.htm
text.txt
fread.php
m.m. m.m.
Om solen.gif finns med i mappen så skall den filen inte stå med i listan.

Medlem sedan jan. 20001 006 inlägg
#4
<?
$dir=opendir(".");
while($files = readdir($dir)) {

if (!($files == "." OR $files == ".." OR (eregi(".jpg&#0124;.png&#0124;solen.gif",$files)))) {
echo "$files<br>";
}

}
closedir($dir);
?>

Listar alla filer utom: ., .., *.jpg, *.png och solen.gif.

/j

------------------
R6

Medlem sedan juni 20001 251 inlägg
#5

Notera att om filen heter hej.jpg.php så listas den inte med Batboys exempel.

Använder du mitt exempel listas allt utom GIF-filer.

------------------
SteveNet
------------------
- Det var motgräs!
Roland Sandberg förklarar varför han missade öppet mål.

Medlem sedan feb. 20002 612 inlägg
#6

Jag fick inte ditt script att funka stevenet... :(

Så jag gjorde så här:

<?
$fil="hejsan.gif";
$typ=substr($fil,0,-4);

echo $typ;
?>

Borde inte $typ innehålla .gif då, det gör det inte utan hejsan??
Är jag ute och cyklar??

Medlem sedan feb. 20002 612 inlägg
#7

Det löste sig.
Det var en nolla (0) för mycket i substr.

Medlem sedan juni 20001 251 inlägg
#8

Ouups. :e

------------------
SteveNet
------------------
- Det var motgräs!
Roland Sandberg förklarar varför han missade öppet mål.

Medlem sedan feb. 20001 270 inlägg
#9

Följande kod är väl helt fel?
<?
$fil="hejsan.gif";
$typ=substr($fil,0,-4);
echo $typ;
?>

Så här ska det vara:
<?
$fil="hejsan.gif";
$typ=substr($fil,strlen($file)-4,4);
echo $typ;
?>

Då blir $typ .jpg, .gif, .htm etc. Dock om det är en .html blir $typ html utan punkt alltså..

En grej kan då vara att köra en explode på punkten (.) i filnamnet för att få fram filändelsen.

$typ=explode(".",$file);
$tmp=count($typ)-1;
$typ=$typ[$tmp];

------------------
woodi
Svenska FF1
www.johan-skog.nu

[Redigerat av woodi den 13 apr 2001]

Medlem sedan jan. 20001 006 inlägg
#10

Notera att om filen heter hej.jpg.php så listas den inte med Batboys exempel.

Modifera till följande så fungerar det. Filer som slutar på .jpg, .png listas inte.

if (!($files == "." OR $files == ".." OR (eregi("(.jpg&#0124;.png&#0124;solen.gif)$",$files)))) {

/j

------------------
R6

[Redigerat av Batboy den 13 apr 2001]

259 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)