kostenloser Webspace werbefrei: lima-city


Bilder im Verzeichnis mit einem Script umbenennen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    losebettler1

    losebettler1 hat kostenlosen Webspace.

    hi leute,

    ich habe folgendes problem:
    mein bilderuploadscript bennent alle bilder die hochgeladen werden um in einen md5 string...
    bsp:

    jfjaflkjnw0f92skljfrwjid90.jpg
    jklf208oijd2r0jsd08jaEF.jpg
    1109eu1ej1jed0easfkj.jpg

    jetzt benötige ich ein script das alle bilderdateien die in diesem ordner liegen umbennent in:

    1.jpg
    2.jpg
    3.jpg

    geht den sowas?

    gruß
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. thomasba

    Co-Admin Kostenloser Webspace von thomasba

    thomasba hat kostenlosen Webspace.

    Ja, sowas geht.
    http://de.php.net/opendir
    http://de.php.net/readdir
    http://de.php.net/rename

    kleines Bsp.: (ungetested!)
    <pre>
    <?php
    $dir = "./bilder/";
    $odir = opendir($dir);
    $i=0;
    while($file = readdir($odir)) {
      $ext = strtolower(array_pop(explode(".",$file))); // Fileextension rausfiltern
      if($ext == "jpg") { // wenn jpg
        $newname = $i.".".$ext // den neuen Dateiname zwishcenspeichern
        echo("$file -> $i.$jpg\n"); // ausgeben, welche datei umbenannt wird.
        rename($dir.$file,$dir.$newname); // Datei umbennen
      }
    }
    closedir($odir);
    ?>
    </pre>


    Beitrag zuletzt geändert: 15.5.2009 8:30:19 von thomasba
  4. Autor dieses Themas

    losebettler1

    losebettler1 hat kostenlosen Webspace.

    $newname = $i.".".$ext // de..


    hab ich mal noch ein ; hingehängt.

    dann funktioniert das script genau für eine datei ^^
    sobald mehrere dateien vorhanden sind, werden alle bis auf eine gelöscht und diese wird auf 0.jpg umbennant
  5. Das liegt warscheinlich daran, dass das $i nicht inkrementiert wird.

    Also am besten am Ende der Schleife ein Pre-Inkrement einfügen:
    ++$i;
  6. Autor dieses Themas

    losebettler1

    losebettler1 hat kostenlosen Webspace.

    <?php
    $dir = "./lol/";
    $odir = opendir($dir);
    $i=0;
    while($file = readdir($odir)) {
      $ext = strtolower(array_pop(explode(".",$file))); // Fileextension rausfiltern
      if($ext == "jpg") { // wenn jpg
        $newname = ++$i.".".$ext; // den neuen Dateiname zwishcenspeichern
        echo("$file -> $i.$jpg\n"); // ausgeben, welche datei umbenannt wird.
        rename($dir.$file,$dir.$newname); // Datei umbennen
      }
    }
    closedir($odir);
    ?>


    soweit ist jetzt der code ^^, dennoch verschlingt er immernoch dateien ^^
  7. Probiers mal so:

    <?php
    $dir = "./lol/";
    $odir = opendir($dir);
    $i=0;
    while($file = readdir($odir)) {
      $ext = strtolower(array_pop(explode(".",$file))); // Fileextension rausfiltern
      if($ext == "jpg") { // wenn jpg
        $newname = $i.".".$ext; // den neuen Dateiname zwishcenspeichern
        echo("$file -> $i.$jpg\n"); // ausgeben, welche datei umbenannt wird.
        rename($dir.$file,$dir.$newname); // Datei umbennen
      }
    ++$i; 
    }
    closedir($odir);
    ?>
  8. Autor dieses Themas

    losebettler1

    losebettler1 hat kostenlosen Webspace.

    jap super, jetzt funktioniert es :-)
    nur noch eines ist nicht gaaaanz vorteilhaft...

    nämlich das es die datei 1.jpg gar nicht erst erstellt. es beginnt bei 2.jpg

    aber schonmal vielen dank :-)

    gruß
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!