Udfør ikke zip-script, hvis ingen filer
Hej.Jeg har et zip-script, som pakker alle "sql"-filer i en bestemt mappe.
Men jeg har det problem, at scriptet kører, selvom der ikke er nogen sql-filer. Hvis der ikke findes sql-filer i mappen, så skal scriptet ikke lave nogen zip-fil.
Mon jeg kunne få lidt hjælp til dette.
Koden ser sådan her ud:
function getAllFiles($directory) {
$arrFiles = array();
if (is_dir($directory)) {
$d = dir($directory);
while($entry=$d->read()) {
$ext = explode(".",$entry);
if (substr($entry,0,1) <> "." && $ext[1] == "sql") {
$arrFiles[] = $directory."/".$entry;
}
}
}
return $arrFiles;
} // end func getAllFiles
$arrFiles = getAllFiles("./sql"); // get all files
$zip = new ZipWriter();
// define the path and the name of the zip file
$zipFileName = "./zip/sql_".$date_jour.".zip";
if (!$zip->open($zipFileName)) {
$l_arrMessages[] = "ZIP file cannot be opened!";
} else {
$l_arrMessages[] = "ZIP file opened!";
}
echo "<strong>Adding Files:</strong><br>";
for ($i=0; $i<count($arrFiles); $i++) {
echo $arrFiles[$i]."<br>";
$zip->addFileByName($arrFiles[$i], true);
}
echo "<br><br>";
if ($zip->close())
{
$l_arrMessages[] = "ZIP file written and closed!";
foreach (glob("./sql/*.sql") as $filename)
{
unlink($filename);
echo "slettet" . $filename;
}
} else { $l_arrMessages[] = "ZIP file could not be closed";
}
for ($i=0; $i<count($l_arrMessages); $i++) {
echo $l_arrMessages[$i]."<br />";
}
