Endung hinzufügen

green_phanta

Erfahrenes Mitglied
Hi!

Ich habe eine Frage:
Ich habe einen Ordner, welcher mit Bildern angefüllt ist (test.jpg, looo.gif usw...)
Ich will einen Script erstellen der einfach jedem dieser Datein die in dem Order sind eine Endung hinzufügt (test_icon.jpg, looo_icon.gif usw...).

Ich denke das ist nicht schwer aber ich kann halt nicht :).
Könnt ihr mir helfen?

Thx
greets green
 
Hi

Vielen Dank einmal für die Links, ich versteh auch das man in hier eher den Weg zeigt und nichts vorgekaut bekommt, nur bei mir ist es so: Ich kann so ziemlich gar nix in PHP schreiben. Ich kann es lesen und verstehen aber schreiben ist dann doch was anderes...
Vielleciht kannst du mir ein Beispiel geben... Ich lerne glaube ich mehr wenn ich es sehe und dann verstehe?

Danke

greets green
 
Falls du das nur 1x machen willst, was ich annehme, würde ich dir auch empfehlen, dafür ein fertiges Programm zu nehmen.

IrvanView macht dir das mit 1000en Dateien in Sekunden...musst sie dann natürlich wieder umbenannt auf den Webspace laden.

http://www.irfanview.com
 
Ohhh ....
Tut mir leid, da habe ich wohl schneller gedacht als geschrieben...
Ich meinete einen Ordner auf dem Server, wo man Bilder uploadet. Und dann führt man den Script aus und der PHP script bennent alles um damit es die Gallery lesen kann....

SOORRY!!

Könnt ihr mir trotzdem helfen

Danke

greets green
 
Naja, auf die nötigen Werkzeuge hat Gumbo ja schon verwiesen...dazu ein bisserl RegExp, und fertig:

PHP:
<?php
$d='img/';
$h=opendir ($d);
while (false !== ($f = readdir ($h))) 
{
    if(is_file($d.$f) && preg_match('#.+\.(gif|png|jpe?g)$#i',$f))
      {
        if(!preg_match('#_icon\.(gif|png|jpe?g)$#i',$f))
          {
            $n=preg_replace('#^(.+)\.(gif|png|jpe?g)$#i','\\1_icon.\\2',$f);
            if(rename($d.$f,$d.$n))
              {
                echo '<hr><strong>Umbenannt:</strong>'.$f.'-&gt;'.$n;
              }
            else
              {
                echo '<hr><strong>Fehler:</strong>'.$f;
              }
          }
      }
}
closedir($h); 
?>
 
Zurück