Hallo,
ich habe das Skript jetzt nochmal erweitert und bräuchte nochmal eure Unterstützung.
Ich lasse mir täglich über ein Task diese PHP Datei öffnen, die Bilder werden archiviert. Funktioniert alles prima.
Nun habe ich es erweitertert und die Variable $monatdiff und $difffolder reingebraucht ( Zeile 71 - 74 ), sodass überprüft wird, wenn ein Ordner älter als 30 Tage das er den löscht unlink($folder)
anbei mein erweiterers skript:
PHP-Code:
<?php
echo"
<html>
<head>
<title>Backup</title>
<!--<meta http-equiv='refresh' content='1; URL=galerie.php'>-->
<link href='galerie.css' type='text/css' rel='stylesheet'>
</head>
<body>
<div align='left'><img src='images/ladebalken.gif'>
<br><hr><br>";
error_reporting(E_ALL);
ini_set('display_errors', 1);
$timestamp = time();
$timediff = "86400"; // 1209600 = 14 Tage -- 86400 = 1 Tag -- 129600 = 1,5 Tage
$newtimestamp = $timestamp - $timediff;
$datum = date("Y-m-d",$newtimestamp);
$monatdiff = "2592000"; // 30 Tage
$quelle = "galerie/cam";
$ziel = "./galerie/archiv/bis_".$datum;
//verzeichnis lesen
$mydir = getcwd()."/".$quelle;
$verz = dir($mydir);
while($entry=$verz->read())
{
if($entry != "." && $entry != "..")
{
$dateinamen[] = $entry;
}
}
$verz->close();
//Ausgabe
rsort($dateinamen);
while(list($key, $val) = each($dateinamen))
{
if(substr($val, -4) == ".jpg")
{
$file=$quelle."/".$val;
$folder="galerie/archiv/";
$diff = time() - filemtime($file);
$difffolder = time() - filemtime($folder);
if ($diff > $timediff)
{
if (file_exists($ziel))
{
}
else
{
mkdir ( $ziel, 0777 );
}
if (copy($file , $ziel."/".$val))
{
echo "<div align='left'>Verschiebe <b>'$file'</b> -> <b>'$ziel/$val'</b></div>";
unlink($file);
}
}
if ($difffolder > $monatdiff)
{
unlink($folder);
}
}
}
echo "<div align='left'>Keine Dateien zum Verschieben!</b></div>";
?>
Vielen Dank im vorraus