Ankündigung

Einklappen
Keine Ankündigung bisher.

Ordner und Inhtalte kopieren !

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ordner und Inhtalte kopieren !

    Hallo

    kann ich ein ordner mit allen seinen inhalten in einem anderen Ordner kopieren ?

  • #2
    Hallo!
    Ja das geht relativ einfach mit [MAN]exec()[/MAN] oder [MAN]system()[/MAN] und dem Linux-mv Befehl. Diese Beiden Funktionen führen Linux-Konsolen-Befehle aus. Ist manchmal sehr praktisch. Das ganze sieht dann so aus:
    PHP-Code:
    <?php exec("mv {$from} {$to}"); ?>
    Sehr einfach. Das ganze funktioniert allerdings nur auf einem Linux-Server (Apache).
    MfG, Andy

    Kommentar


    • #3
      ich entwickle aber gerade unter Windows ? und ich denke das wird mit safe_mode =1 nicht funtionieren oder ?

      Kommentar


      • #4
        Da hast du wohl recht. Der save_mode wird das blockieren (wird zum Glück in PHP 6.0.0 abgeschaft). Allerdings kannst du alternativ die [MAN]rename()[/MAN]-Funktion von PHP nutzen. Bennenst du eine Datei oder einen Ordner um und änderst dabei das Verzeichnis wird die Datei bzw. der Ordner verschoben. Musst allerdings noch eine Rekursion dafür basteln.
        MfG, Andy

        Kommentar


        • #5
          Avedo ich danke dir für deine Antworten.,

          ich habe das Problem mit Zlib gelöst. ich habe den order gezipt und in dem Ziel ordner wieder entpackt, Ich empfähle auch anderen die das selbe Problem haben.

          Weniger CODE grosse Leistung !

          Kommentar


          • #6
            was spricht gegen copy() und unlink()? Da musste halt ne rekursive funktion die jede datei einzeln kopiert bauen aber gehen tuts so.

            mfg

            Kommentar


            • #7
              ich wollte die rekursive function, schleife und so weiter sparen.... aber hast Recht mit copy() gehts natürlich auch.

              Kommentar


              • #8
                Zitat von 7Style Beitrag anzeigen
                ich wollte die rekursive function, schleife und so weiter sparen....
                Die Iteratoren der [man]spl[/man] nehmen Dir da eine Menge Arbeit ab.
                PHP-Code:
                <?php
                $source 
                '/temp/watch';
                $target '/temp/watch2';

                $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);
                foreach(
                $objects as $name => $object){
                  
                $tpath substr_replace($name$target0strlen($source));
                  if (
                $object->isDir()) {
                    echo 
                'mkdir: '$tpath"\n";
                  }
                  else if (
                $object->isFile()) {
                    echo 
                'copy '$name' -> '$tpath"\n";
                  }
                  else {
                    echo 
                'skipping '$name"\n";
                  }
                }
                ?>

                Kommentar


                • #9
                  hi ich versuche mal hier ne antwort zu erhalten.

                  ich will in einer Ordnerstuktur:
                  verz_a/verz_archiv
                  verz_a/verz_original
                  verz_a/PHP/schieben.php
                  die datei: test.txt in ordner verz_original nach dem Ordner verz_archiv verschieben

                  wie muss dazu in der (schieben.php) Datei der copy-befehl lauten ?

                  ich komme mit den Pfadangaben nicht klar.

                  danke, wenn das jemand aufgreifen würde.
                  gruss roland_k

                  Kommentar


                  • #10
                    Genau wie in jedem Filesystem. Absolut oder mit ../ für übergeordnete Directories.

                    Kommentar

                    Lädt...
                    X