Dateiformat ändern

DarkManX

Erfahrenes Mitglied
Hallo,
ich habe in einem Order viele Bilder mit verschiedenen Formaten. Will aber, dass alle im GIF-Format sind. Habe folgedes Script geschrieben:

PHP:
$file = scandir('/ingame/images/flags/');
foreach ($file as $name) {
if($name != '.' AND $name != '..') {
$split = split(".",$name);
$newname = $split[0].'.gif';
print $newname.'<br>';
rename('ingame/images/flags/'.$name, $newname);
} }

Fehlermeldung:

Code:
Warning: scandir(/ingame/images/flags/) [function.scandir]: failed to open dir: Invalid argument in D:\apache\xampp\htdocs\fm\test.php on line 3

Warning: scandir() [function.scandir]: (errno 22): Invalid argument in D:\apache\xampp\htdocs\fm\test.php on line 3

Warning: Invalid argument supplied for foreach() in D:\apache\xampp\htdocs\fm\test.php on line 4

Irgend wie komme ich nicht klar.

mfg
DarkManX
 
Rofl du brauchst schon bisl mehr als nur die Dateiendungen umzubennennen um daraus Gif zu machen.
 
Merke gerade, dass ich ein "/" an Ende des Verzeichnisnamen vergessen habe.
Habe jetzt so gemacht:

PHP:
<?
$file = scandir('ingame/images/flags/');
foreach ($file as $name) {
if($name != '.' AND $name != '..') {
$split = split(".bmp",$name);
print $split[0].'.gif';
rename('ingame/images/flags/'.$name, 'ingame/images/flags/'.$split[0].'.gif');
} }
?>

Hat alles geklappt. Thx 4 Help :rolleyes:

EDIT:
Oliver Gringel hat gesagt.:
Offensichtlich existiert das Verzeichnis nicht. Siehe: http://www.php.net/scandir

Eben nicht... vielleicht da irgend ein Unterschied im Bild aber PHP nimmt es als .gif an.

mfg
DarkManX
 
öhm ja.

auch wenn es schon gesagt wurde:
auf diese art änderst du NICHT den dateityp, sondern lediglich die erweiterung.

jedes halbwegs intelligente grafik-programm würde dir mitteilen, dass "dieses bild eine falsche erweiterung besitzt". das kann ja dann nicht der sinn der sache sein, oder?!

solltest du tatsächlich alle bilder in gifs umwandeln wollen, empfehle ich dir die image-funktionen von php. möchtest du hingegen wirklich nur die erweiterung ändern, dann sag ich dir: lass die finger davon!
 
Hö?

Ich hatte nur einen Order voller Pics in verschiedenen Formaten. Da ich aber auf meiner Seite zb. sowas habe,
PHP:
print '<img src="flags/'.$land.'.gif">';
Brauche ich alle Bilder mit dem gleichen Format bzw. Endung. Das sind nur Layoutbilder und die sind eigentlich nicht dazu gedacht anderweitig benutzt zu werden.

mfg
DarkManX
 
Nochmal:

ein Format und eine Endung sind zwei Paar Schuhe. Stell dir eine Zuckerdose vor. Da steht vielleicht "Zucker" drauf, aber ich kann auch Salz hineinfüllen.
Die Endung ist das, was drauf steht. Der Inhalt ist das Format.
Zucker in Salz umwandeln (oder umgekehrt) ist zwar unmöglich, doch zum Glück kannst du die Grafikformate ändern.
Wie gesagt: schau dir die Image-Funktionen von PHP an.
 
Zurück