-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #27 from nguyenanhung/develop
Refactoring
- Loading branch information
Showing
3 changed files
with
6 additions
and
74 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,7 +14,6 @@ | |
use DateTime; | ||
use Symfony\Component\Filesystem\Filesystem; | ||
use TheSeer\DirectoryScanner\DirectoryScanner; | ||
use Alchemy\Zippy\Zippy; | ||
|
||
/** | ||
* Class File | ||
|
@@ -185,70 +184,4 @@ public function scanAndCleanLog($listFolder = array(), $dayToDelete = 3) | |
echo $this->cleanLog($folder, $dayToDelete) . PHP_EOL; | ||
} | ||
} | ||
|
||
/** | ||
* Hàm quét thư mục và zip toàn bộ các file thỏa mãn điều kiện | ||
* | ||
* @param string $scanPath Thư mục cần quét file và zip | ||
* @param int $dayToZip Số ngày bỏ qua không zipm mặc định = 3 | ||
* @param string $zipPath Thư mục lưu trữ file Zip | ||
* | ||
* @return array Mảng thông tin về các file đã Zip được và thư mục lưu trữ file Zip, trong đó | ||
* | ||
* 'time' => Là thời gian thực hiện quét và nén file | ||
* | ||
* 'timeToZip' => Là mốc thời gian thực hiện để quét file | ||
* | ||
* 'zipPath' => Là thư mục đích lưu trữ file đã nén | ||
* | ||
* 'zipFilePath' => Tên file nén | ||
* | ||
* 'listFile' => Mảng dữ liệu chứa danh sách file đã nén, trống biến này nghĩa là ko tìm thấy file nào | ||
* @throws \Exception | ||
* @author: 713uk13m <[email protected]> | ||
* @time : 10/17/18 10:51 | ||
* | ||
*/ | ||
public function scanAndZip($scanPath = '', $dayToZip = 3, $zipPath = '') | ||
{ | ||
$getDir = $this->directoryScanner($scanPath, $this->scanInclude, $this->scanExclude); | ||
if (empty($zipPath)) { | ||
/** | ||
* Nếu không truyền folder đích lưu trữ file Zip | ||
* sẽ Tạo 1 thư mục Con trong folder đó để lưu trữ file Zip | ||
*/ | ||
$zipPath = $scanPath . DIRECTORY_SEPARATOR . 'Zip-Archive' . DIRECTORY_SEPARATOR; | ||
} | ||
$zipPathFilename = $zipPath . date('Y-m-d-H-i-s') . '-archive.zip'; | ||
// Lấy thời gian xác định sẽ Zip file | ||
$format = 'YmdHis'; | ||
$dateTime = new DateTime("-" . $dayToZip . " days"); | ||
$zipTime = $dateTime->format($format); | ||
$result = array(); | ||
$result['time'] = date('Y-m-d H:i:s'); | ||
$result['timeToZip'] = $dateTime->format('Y-m-d H:i:s'); | ||
$result['zipPath'] = $zipPath; | ||
$result['zipFilePath'] = $zipPathFilename; | ||
$result['listFile'] = array(); | ||
foreach ($getDir as $fileName) { | ||
$SplFileInfo = new SplFileInfo($fileName); | ||
$filename = $SplFileInfo->getPathname(); | ||
// Lấy modifyTime của file | ||
$getFileTime = filemtime($filename); | ||
$fileTime = date($format, $getFileTime); | ||
if ($fileTime < $zipTime) { | ||
if (!file_exists($zipPath)) { | ||
$this->mkdir($zipPath); | ||
} | ||
// Load Zippy | ||
$zippy = Zippy::load(); | ||
$archive = $zippy->create($zipPathFilename, [ | ||
$filename => $filename | ||
], TRUE); | ||
$result['listFile'][] .= "Zip file: " . $filename . ' -> ' . json_encode($archive); | ||
} | ||
} | ||
|
||
return $result; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters