Ankündigung

Einklappen
Keine Ankündigung bisher.

Bilder unbenennen

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bilder unbenennen

    Hallo,

    ich habe ein kleines PHP Script welches Bilder umbenennen sollte. Die Bilder befinden sich im Ordner 'pics' und haben eine fortlaufende Nummer im Dateinamen, beginnend mit 00001.jpg

    In der pics.txt befinden sich die Wörter welche die Bilder unbenennen sollte. In jeder Zeile steckt ein Wort ("Bayern" z.B.). Ich möchte nun, dass die Dateinamen wie folgt lauten:
    bayern_00001.jpg
    münchen_00002.jpg
    ...

    Leider steckt in dem Script ein Fehler und ich finde ihn nicht...

    PHP-Code:
    <?php
    $image_dir 
    "pics"//ordner mit Bildern
    var_dump(is_dir($image_dir)); 
    $txtfile file("pics.txt");
    var_dump(is_file('pics.txt')) . "\n";
    $images scandir($image_dir);
    $i 0;
    foreach(
    $images as $image){
      
    var_dump($image);
      if( 
    $image == "." || $image == ".." )
        continue;
      
    $ext explode(".",$image);
      if( 
    $ext[count($ext)-1] == "jpeg" ){//jpeg Datei
        
    if( !isset($txtfile[$i]) )  
          
    $i 0;
        
    $old_file $image_dir."\".$image;
        
    $new_file =  $image_dir."\".$txtfile[$i].$image;
        rename(
    $old_file,$new_file);
        echo "
    renamed {$old_fileto {$new_file}<br />";
      }
      
    $i++;


    ?>

    Wenn ich das Script starte, kommt folgendes im Browser:
    bool(true) bool(true) string(1) "." string(2) ".." string(9) "00001.jpg" string(9) "00002.jpg" string(9) "00003.jpg" string(9) "00004.jpg" string(9) "00005.jpg" string(9) "00006.jpg" string(9) "00007.jpg" string(9) "00008.jpg" string(9) "00009.jpg" string(9) "00010.jpg" string(9) "00011.jpg" string(9) "00012.jpg" string(9) "00013.jpg" string(9) "00014.jpg" string(9) "00015.jpg" string(9) "00016.jpg" string(9) "00017.jpg" string(9) "00018.jpg" string(9) "00019.jpg" string(9) "00020.jpg" string(9) "00021.jpg" string(9) "00022.jpg" string(9) "00023.jpg" string(9) "00024.jpg" string(9) "00025.jpg" string(9) "00026.jpg" string(9) "00027.jpg" string(9) "00028.jpg" string(9) "00029.jpg" string(9) "00030.jpg" string(9)
    Wäre nett wenn jemand weiterhelfen kann. Muss dazu sagen, dass ich in PHP nicht fit bin... Bei diesem Code haben mir andere geholfen...

    MFG

  • #2
    Achte mal auf die Dateiendung
    "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

    Kommentar


    • #3
      PHP-Code:
       $old_file $image_dir."\\".$image
      Sieht wohl besser aus + jpeg != jpg
      "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

      Kommentar


      • #4
        Danke.. das mit dem jpeg ist mir garnicht aufgefallen. Aber das Script klappt immer noch nicht. Habe jetzt diesen Code:

        PHP-Code:
        <?php
        $image_dir 
        "pics"//ordner mit Bildern
        var_dump(is_dir($image_dir)); 
        $txtfile file("pics.txt");
        var_dump(is_file('pics.txt')) . "\n";
        $images scandir($image_dir);
        $i 0;
        foreach(
        $images as $image){
          
        var_dump($image);
          if( 
        $image == "." || $image == ".." )
            continue;
          
        $ext explode(".",$image);
          if( 
        $ext[count($ext)-1] == "jpg" ){//jpeg Datei
            
        if( !isset($txtfile[$i]) )  
              
        $i 0;
            
        $old_file $image_dir."\\".$image;  
            
        $new_file =  $image_dir."/".$txtfile[$i].$image;
            
        rename($old_file,$new_file);
            echo 
        "renamed {$old_file} to {$new_file}<br />";
          }
          
        $i++;


        ?>

        Und es kommt nun folgender Fehler:

        Warning: rename(pics\00001.jpg,pics/Bayern 00001.jpg) [function.rename]: No such file or directory in E:\xampp\xampp\htdocs\pics_rename\index.php on line 18
        renamed pics\00001.jpg to pics/Bayern 00001.jpg
        string(9) "00002.jpg"

        Kommentar


        • #5
          Schau dir mal [MAN]file()[/MAN] genauer an.
          Es liegt am letzten Zeichen.

          Kommentar


          • #6
            PHP Script funktioniert nicht... - Forum: phpforum.de

            Bitte beachten: Anmerkungen zu Crosspostings

            [MOD: Thread geschlossen]
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar

            Lädt...
            X