Verzeichnisse und Dateien in Textdatei speichern, abrufen und Verzeichnisse löschen
Hat sich erledigt, mal wieder lag es nur an einem Satzzeichen, was nicht gesetzt wurde.
Daher ist die Anfrage bzgl array, textdatei etc. völlig überflüssig und ich kann anhand der Datei die Pfade bestimmen.
Aus
PHP-Code:
private function pKCFGAsceData($File = '')
{
if (!empty($File)) {
if (file_exists(ROOT_PATH . "includes/" . $File . "php")) {
return require ROOT_PATH . "includes/" . $File . "php";
}
}
}
wurde
Code:
private function pKCFGAsceData($File = '')
{
if (!empty($File)) {
if (file_exists(ROOT_PATH . "includes/" . $File . ".php")) {
return require ROOT_PATH . "includes/" . $File . ".php";
}
}
}
LG
Ursprüngliche Anfrage:
Spoiler ausklappen
Hallo zusammen,
ich möchte ein Verzeichnis einlesen und dabei Ordner sowie Dateien als Array listen und in einer Textdatei Speichern. Das geschieht bisher über folgendes Script:
PHP-Code:
/**
* Finds path, relative to the given root folder, of all files and directories in the given directory and its sub-directories non recursively.
* Will return an array of the form
* array(
* 'files' => [],
* 'dirs' => [],
* )
* @author sreekumar
* @param string $root
* @result array
*/
function read_all_files($root = '.'){
$files = array('files'=>array(), 'dirs'=>array());
$directories = array();
$last_letter = $root[strlen($root)-1];
$root = ($last_letter == '\\' || $last_letter == '/') ? $root : $root.DIRECTORY_SEPARATOR;
/*
* php delete function that deals with directories recursively
*/
function delete_files($target) {
if(is_dir($target)){
$files = glob( $target . '*', GLOB_MARK ); //GLOB_MARK adds a slash to directories returned
foreach( $files as $file ){
delete_files( $file );
}
Das Problem ist , dass gewisse Ordner mitgelöscht werden, die eben erhalten bleiben müssen und das dringend. Diese Ordner, die erhalten bleiben müssen, stehen in einer extra Datei:
Anhand der oben aufgeführten Datei, überprüfen welche Ordner nicht gelöscht werden dürfen und nur dessen Inhalt
Dateien und Folder dementsprechend löschen
Versuch:
PHP-Code:
#Lösche alle Verzeichnisse, beginnend mit der tiefsten Struktur
$this->pKAsceDirs = $this->pKCFGAsceData('asce_pkdir');
foreach ($STRTMP as $DelDirs) {
if (is_dir(ROOT_PATH . $DelDirs)) {
if (!in_array($DelDirs, $this->pKAsceDirs)) {
//$FTP_LOG .= $this->SetFtpCMD(array('ftp_rmdir', ROOT_PATH . $DelDirs . "/"));