Files
Business-credit-asistant/app/Utility/createDirZip.php
2026-06-29 13:00:18 +06:00

51 lines
1.5 KiB
PHP

<?php
namespace App\Utility;
use ZipArchive;
use RecursiveIteratorIterator;
use RecursiveDirectoryIterator;
class createDirZip {
public function testZip($source, $destination) {
// Get real path for our folder
$rootPath = realpath($source);
// Initialize archive object
$zip = new ZipArchive();
$zip->open($destination, ZipArchive::CREATE | ZipArchive::OVERWRITE);
// Create recursive directory iterator
/** @var SplFileInfo[] $files */
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($rootPath), RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($files as $name => $file) {
// Skip directories (they would be added automatically)
if (!$file->isDir()) {
// Get real and relative path for current file
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($rootPath) + 1);
// Add current file to archive
if(!empty($filePath) && !empty($relativePath)){
$zip->addFile($filePath, $relativePath);
}
}
}
// Zip archive will be created only after closing object
return $zip->close();
}
private function testLog($data){
$data = json_encode($data);
$file = fopen(WWW_ROOT."dropbox/test.txt","w");
echo fwrite($file,$data);
fclose($file);
}
}