Forum

> > Off Topic > PHP Problem
Forums overviewOff Topic overviewLog in to reply

German PHP Problem

14 replies
To the start Previous 1 Next To the start

old PHP Problem

Icereed
User Off Offline

Quote
Also,
Ich habe einen Array, der alle Dateinamen(inklusive Order)
beinhaltet.
Ich möchte nun nur PNG, JPG... (Bilder)Files haben.
Hier ist der Array
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[2] => alert_button.png
    [3] => background.png
    [4] => background2.png
    [5] => background_black.png
    [6] => background_brown_orange.png
    [7] => background_orange.png
    [8] => background_pm.PNG
    [9] => banner.jpg
    [10] => banner.psd
    [11] => bg_navi.bmp
    [12] => bg_navi.gif
    [13] => bg_navi.png
    [14] => bild-338.png
    [15] => bob_plankton.png
    [16] => cursor.GIF
    [17] => cursor.PNG
    [18] => erdbeere.png
    [19] => hunde_spur.psd
    [20] => kuabatz.JPG
    [21] => laechel.gif
    [22] => logo.gif
    [23] => logo.png
    [24] => logo2.gif
    [25] => logo2.png
    [26] => logo2.psd
    [27] => logo3.jpg
    [28] => made
    [29] => message_kicker.png
    [30] => reiter1.gif
    [31] => reiter1.png
    [32] => reiter2.png
    [33] => seite.png
    [34] => smileys
    [35] => top_navi_background.png
    [36] => Unbenannt-1.psd
    [37] => wallpaper.bmp
    [38] => x-logo.png
    [39] => x_logo.gif
    [40] => x_logo.ico
    [41] => x_logo2.bmp

old Re: PHP Problem

Icereed
User Off Offline

Quote
1
2
3
4
5
<?php
foreach (glob("*.txt") as $filename) {
    echo "$filename size " . filesize($filename) . "\n";
}
?>
jo genau.
wie muss ich z.b. (glob("*.png") as $filename) {...}
setzen, dass ich gleichzeitig nach mehreren Dateitypen
suchen kann?

old Re: PHP Problem

jeepohahyo
User Off Offline

Quote
Ich hab das noch nie benutzt, aber ich glaube, dass man halt nen Regex nimmt

1
"\*.[txt|png|jpg]\i"
müsste das sein (für txt png und jpg eben ;))...

old Re: PHP Problem

jeepohahyo
User Off Offline

Quote
Scheise, ich kann nicht mehr regexen

Auf jeden Fall geht schonmal \ nicht als Delimiter sondern man muss / nehmen.

EDIT:
1
/.*[.]txt|png|jpg/i
korrigierter Regex (getestet)

old Re: PHP Problem

Icereed
User Off Offline

Quote
Hmmmm...
bei mir funzt er nicht >.<
Gugg mal
1
2
$verzeichnis_relativ="images";
$filename = glob("$verzeichnis_relativ//.*[.]txt|png|jpg/i");

old Re: PHP Problem

jeepohahyo
User Off Offline

Quote
Das Verzeichnis muss natürlich in den Delimitern stehen.

1
2
$verzeichnis_relativ="images";
$filename = glob('#'.$verzeichnis_relativ.'/.*[.][txt|jpg|png]#i');

aber ich glaube, da hilft stealth besser mal weiter, du merkst sicherlich, dass ich nicht so gut bei Regexen bin

old Re: PHP Problem

Icereed
User Off Offline

Quote
Da funzt nix
Ich habs selber gelöst

1
2
3
4
5
6
7
8
9
10
11
12
13
$verzeichnis_relativ="images";

	$file_path="$verzeichnis_relativ/*";
	$filename=array_merge(
	
	glob("$file_path.gif"),
	glob("$file_path.PNG"),
	glob("$file_path.png"),
	glob("$file_path.GIF"),
	glob("$file_path.jpg"),
	glob("$file_path.JPG"),
	glob("$file_path.jpeg"),
	glob("$file_path.JPEG"));
Nix mit Regex^_^
Deswegen gings nit^_^

old Re: PHP Problem

jeepohahyo
User Off Offline

Quote
Wäre aber auch gegangen, nur war eben der Regex falsch, ein normaler Text ist nämlich auch ein Regex, nur eben ein komplett festgelegter, der nur noch einen Begriff matcht

Aber wenn es geht ist es ja egal, sind ja nur ein paar Zeilen Code mehr

old Re: PHP Problem

stealth
User Off Offline

Quote
Ich glaube, das ist gar kein Regex, den man glob übergibt.
Aber glob("*.{png,PNG,jpg,JPG}") müsste funzen. Das ist Linux-Shell-Style

old Re: PHP Problem

Icereed
User Off Offline

Quote
Geht auch nit...
Zu mindest nit auf meinem XP.

Ich hab ne Funktion gebastelt.
Vielleicht braucht ihr die irgentwann mal.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function getImages($file_path) {

//	In $file_path den Pfad ohne abschliesenden /

	if (!empty($file_path)){

		$file_path="$file_path/*";

	$files=array_merge(glob("$file_path.gif"),
		glob("$file_path.PNG"),
		glob("$file_path.png"),
		glob("$file_path.GIF"),
		glob("$file_path.jpg"),
		glob("$file_path.JPG"),
		glob("$file_path.jpeg"),
		glob("$file_path.JPEG"),
		glob("$file_path.bmp"),
		glob("$file_path.BMP"));

	        sort($files);
		return ($files);
                }
	}
To the start Previous 1 Next To the start
Log in to replyOff Topic overviewForums overview