kostenloser Webspace werbefrei: lima-city


copy() und Verzeichnisse

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    t****k

    Hey,

    ich habe ein Problem, bei dem übertragen bei einem Großen Ordner wie zum Beispiel eine HP, die ist im Ordner Galleryplayer und wenn man dann im Textfeld TobiTK reintippt sollte es doch normal die ganzen Ordner rüberladen aber da kommt ein Fehler:

    Warning: copy() [function.copy]: The first argument to copy() function cannot be a directory in /home/webpages/lima-city/tobitk/html/Gallery/useranmelde.php on line 37

    bei einem Bild geht es etze ich ein Ordner dazu geht es nicht mehr.
    Zeile 37:
    foreach ( $ls as $f ) {copy ("$source/$f", "$target/$f");}


    Script:
    <?php
    // http://lokalbook.onpw.de/Gallery/useranmelde.php
    // http://lokalbook.onpw.de/Gallery/useranmelde.php
    // http://lokalbook.onpw.de/Gallery/useranmelde.php
    error_reporting(E_ALL);
    
    // Abfragen des Usernamen
    echo "<form method=\"POST\">
    Gib deinen Namen ein: <input type=\"text\" name=\"user\" value=\"\" title=\"Namen eingeben\" />
    <input type=\"submit\" name=\"create_folder\" value=\"Ordner erstellen\" />
    </form>";
    
    // Ist Button "Ordner erstellen" gedrückt
    if ( isset ($_POST['create_folder']) ) {
      // Die eingabe ist leider leer.
      if ( empty ($_POST['user']) or strlen (trim ($_POST['user'])) == 0 ) {
        echo "Die eingabe ist leider leer.";
      } else {
        // Erstelle Ordner mit Benutzernamen
        $user = $_POST['user'];
        if ( preg_match ('/\./', $user) || preg_match ('/\//', $user) ) { // Schutzmechanismus - Könnte man noch verbessern
          echo "Benutzername ung&uuml;ltig!";
        } else {
    
          // listet den quellordner in $ls[]
          $ls     = null;
          $source = "./Galleryplayer/";
          foreach ( glob ("$source*") as $f ) {$ls[] = basename ($f);}
          # exit ("<pre>".print_r ($ls, true));
    
          // erstellt ordner WENN NOETIG
          if ( !is_dir ($target = "./User/$user/") ) {
            mkdir ($target, 0755);
            echo "Ordner: <strong>$user</strong> wurde erfolgreich erstellt!";
    
            // kopiert die daten
            foreach ( $ls as $f ) {copy ("$source/$f", "$target/$f");}
          } else {
            echo "Ordner: <strong>$user</strong> existiert bereits!";
          }
        }
      }
    }
    
    ?>




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

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

  3. Der Fehler sollte doch wohl eindeutig sein!
    cannot be a directory!

    Du kannst mit copy() keine Ordner kopieren.

    LG cookies
  4. Autor dieses Themas

    t****k

    Wie kann man das machen das es Ordner, etc Dateien mit nimmt?

    Gruß Tobi
  5. tobitk schrieb:
    Wie kann man das machen das es Ordner, etc Dateien mit nimmt?

    Gruß Tobi


    Gar nicht. Und wenn du mal auf php.net nachgeguckt hättest, wüsstest du das auch.
    Wenn dann musst du dir was mit opendir(), readdir() und copy() bauen.

    LG cookies
  6. Autor dieses Themas

    t****k

    Hey,

    puhh, da musst du uns nochmals Helfen, kannst du das an meinem Script machen Und hier reinposten hilft auch meist andere =) also opendir, readdir und copy?

    Wäre echt voll cool und nett!
    Gruß Tobi
  7. Das sollte gehen:
    <?php
    	function dircopy ($dir, $dest)
    	{
    		$handle = opendir($dir);
    		while ($file = readdir($handle))
    		{
    			if (!copy($dir.$file, $dest.$file))
    				return false;
    		}
    		return true;
    	}
    	//Beispiel:
    	dircopy('ein_verzeichnis/', 'ein_anderes_verzeichnis/'); // / am Ende ist wichtig!
    ?>


    LG cookies

    Beitrag zuletzt geändert: 11.4.2010 22:44:43 von cookies
  8. Autor dieses Themas

    t****k

    Hey,

    cool Danke.

    Hilfst du mir das noch in meinem Script einzubauen, ist meine letzte bitte =)

    Echt Klasse hier Top Support Top Hilfe Respekt.
  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!