Ordner abgleich mit mysql

gallifrey

Grünschnabel
Hallo zusammen

Ich möchte gerne ein Script erstellen das mir einen abgleich eines Ordners macht in dem sich unterordner befinden.

Die unterordner möchte ich gerne mit einer Datenbank abgleichen.
Das heist wenn ein User aus der Datenbank gelöscht wird bleibt sein Userverzeichnis bestehen.
Und das möchte ich gerne auslessen.

Da meine PHP kentnisse mäsig sind möcht ich euch anfragen ob ihr mir einen weg aufzeigen könnt wie ich das bewerkstelligen kann.

Das habe ich bis jezt schon erstellt.Das Script liest bis jezt alle User us der Datenbank aus.
wie kann ich nun den abgleich mit den User Ordern machen?

PHP:
<?php
require_once ('config.php');
$db_link = mysqli_connect (
                     MYSQL_HOST,
                     MYSQL_BENUTZER,
                     MYSQL_KENNWORT,
                     MYSQL_DATENBANK
                    );
$sql = "SELECT uid FROM oc_users";
$db_erg = mysqli_query( $db_link, $sql );
if ( ! $db_erg )
{
  die('Ungültige Abfrage: ' . mysqli_error());
}
echo '<table border="0">';
while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC))
{
  echo "<tr>";
  echo "<td>". $zeile['uid'] . "</td>";
  echo "</tr>";
}
echo "</table>";
mysqli_free_result( $db_erg );
?>


Danke im Voraus
 
Zuletzt bearbeitet:
Hallo merzi86
Die Ordner werden beim ersten Login erstellt.

Ich habe nun da Script noch ein bischen erweitert.
Allso das ist das Script mit dem ich die Infos aus der Mysql holle.

PHP:
<?php
require_once ('config.php');
$db_link = mysqli_connect (
    MYSQL_HOST,
    MYSQL_BENUTZER,
    MYSQL_KENNWORT,
    MYSQL_DATENBANK
);

$sql = 'SELECT `oc_users`.`uid` FROM `oc_users`';

$db_erg = mysqli_query($db_link, $sql);
if(!$db_erg) {
    throw new Exception('Ungültige Abfrage: ' . mysqli_error());
}

while($row = mysqli_fetch_array($db_erg, MYSQL_ASSOC)) {
    echo $row['uid'];
}

;
?>

Hier das Script mit de mich die Infos aus dem Verzeichniss hole.
PHP:
 <?php
// directory to read from
$dir = '/var/www/owncloud/data';

$deniedFiles = [
    '.',
    '..',
    '.htaccess',
    'owncloud.db',
    '.ocdata',
    'owncloud.log',
    'index.html'
];

// target array
$file_array = [];

if(is_dir($dir)) {
    $handle = opendir($dir);
    if(is_resource($handle)) {
        while($file = readdir($handle)) {
            //...prüfe ob es Directory-Verweise sind...
            if(!in_array($file, $deniedFiles))
                array_push($file_array, $file);
        }
    } else {
        // Do Error Handling
    }
}

print_r($file_array);

Die frage ist nur wie ich jezt den vergleich der beiden ausgaben machen kann.So das es mir anzeigt wellcher order noch vorhanden ist obwol der User aus der Datenkan gelöscht ist.

Danke im voraus
 
Mach einfach eine Ordner Liste in ein Array, sortiere es.
Dann das gleiche mit den Daten aus der DB.

Dann vergleichst du die Arrays, wenn die Ordner noch vorhanden sind löschen.
 

Neue Beiträge

Zurück