kostenloser Webspace werbefrei: lima-city


Massenänderung mit Rename = Error?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    Hello,

    also ich sitz nun schon x-Std an der Lösung....aber ich komm einfach nicht drauf,
    warum rename im folgenden script nur error ausgibt und nur die letzte datei umbenennt...?

    Könnte jemand mir helfen?

    Vielen dank schon mal.


    <?
    $dir = ".";
    $oldfile = scandir($dir);
    ?>
    
    <form name="form1" method="post" action="<? $_SERVER['PHP_SELF'] ?>">
     <textarea name="textarea" cols="60" rows="20"><? foreach($oldfile as $file) {echo "\n".$file;} ?></textarea>
     <br /><br />
     <input type="submit" name="Submit" value="Senden">
    </form>
    
    <?
    if($_POST["textarea"]) {$newfile = explode("\n", $_POST["textarea"]);}
     
    if(count($newfile) == count($oldfile))
      {
      for($i = 2; $i < count($newfile)-1; $i++)
         {
    	 $old = $oldfile[$i];
    	 $new = $newfile[$i];
         if(rename($old, $new))
    	   {echo $new." remaned \n";} else {echo $new." not remaned \n";}
    	 } 
      } else {
      if($_POST["textarea"]) {echo "Fehler!";}
      }
    ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. s*****h

    sorry, mein post kann gelöscht werden.

    häts mir mal besser anschauen sollen :)



    Beitrag zuletzt geändert: 19.7.2010 22:02:25 von sjcbuch
  4. vampiresilence

    Kostenloser Webspace von vampiresilence

    vampiresilence hat kostenlosen Webspace.

    Nein, leider nicht, denn der Schreibfehler besteht nur als Ausgabestring, nicht aber als essentieller Code.

    Der Fehler ist auch garkein Fehler, denn
    if($_POST["textarea"])
    ist immer dann erfüllt, wenn im Formular ein Parameter mit diesem Namen übertragen wird. Die Bedingung ist in deinem Fall also immer erfüllt. Du solltest die Zeile durch folgende ersetzen:
    if(!isset($_POST["textarea"]) || empty($_POST["textarea"])) {echo "Fehler!";}
    dann bekommst du keine Falschmeldungen mehr. Warum allerdings nur die letzte Datei umbenannt wird, ist mir schleierhaft. Vielleicht lässt du dir erstmal nur alle Namen ausgeben und schaust, ob der Verzeichnisinhalt auch korrekt in das Array geschrieben wird ? Ein erster Fehlersuchansatz.

    Liebe Grüße
    - VampireSilence

    Beitrag zuletzt geändert: 19.7.2010 22:03:29 von vampiresilence
  5. Autor dieses Themas

    trancedrome

    trancedrome hat kostenlosen Webspace.

    Warning: rename(14_in_extremo_-_aufs_leben.mp3,14 - Auf's Leben.mp3 ) [function.rename]: No error in O:\xampp\htdocs\alum\Ordner.php on line 24
    14_in_extremo_-_aufs_leben.mp3 not remaned


    hab mir vorher per
    echo $old." ---> ".$new."<br />";

    alles schön anzeigen gelassen, aber nein das will nicht...
    steh nun noch mehr aufn schlauch...
  6. 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!