PHP Ordner und dessen inhalt kopieren

4 Antworten

Hallo lucatas,

PHP hat tatsächlich einige Verzeichnis-Funktionen, die sich sehr "UNIX-like" anfühlen.

Möchtest du mit einem Verzeichnis arbeiten, dann musst du zunächst einen Handle auf das ausgewählte Verzeichnis erstellen, das geht mit opendir($pfad), wobei der Rückgabewert der Funktion der besagte Verzeichnis-Handle ist - es sei denn es ist ein Fehler beim Zugriff erfolgt. Mit readdir($handle) kannst du dann beispielsweise sequenziell Einträge des Verzeichnisses auslesen (wobei $handle natürlich der im ersten Schritt erstellte Verweis auf den Verzeichnis-Handle darstellt). Näheres dazu findest du im PHP Manual.

Gruß

Willst du denn das Verzeichnis inkl. Inhalt von einer auf eine andere Stelle am Server kopieren?

Mit diesem kleinen Codeblock werden alle Dateien und Verzeichnisse welche sich im Verzeichnis quelle befinden in das Verzeichnis ziel kopiert.

Hoffe das hilft dir irgendwie.

<?php

$source = "/quelle";

$target = "/ziel";

$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);

foreach($objects as $name => $object){

$tpath = substr_replace($name, $target, 0, strlen($source));

if($object->isDir() && ! is_dir($tpath)) {

mkdir($tpath);

} elseif ($object->isFile()) {

copy($name, $tpath);

}

}

?>

Hallo lucatas,

es gibt keine "PHP Ordner", auf einem Server gibt es ohnehin keine Ordner, sondern lediglich Dateien und Verzeichnisse, die kannst du mit PHP dynamisch erzeugen und entfernen. Somit kannst du mit PHP sogar Serverpfade ändern und Inhalte ändern, PHP ist ziemlich mächtig!

Wenn du den Inhalt einer Datei bekommen willst, dann kannst du das wie folgt machen:

$inhalt = file_get_contents("deinedatei.php");

In der Variable (String) "$inhalt" steht nun der Inhalt deiner "deinedatei.php" - Datei. So hast du den Inhalt kopiert und kannst ihn entsprechend ausgeben, dies geht mit dem Befehl "echo":

echo $inhalt;

Ich hoffe, ich konnte dir ein wenig weiterhelfen.

Grüße,

Hummel

was bitte meinst du mit PHP-ordner?