source: pro-violet-viettel/www/deploy/20150304/assets/soanbai/Service/violetUtil.class.php @ 804

Last change on this file since 804 was 780, checked in by dungnv, 10 years ago
File size: 1.5 KB
Line 
1<?php
2
3define('VIOLET_APP_DIR', realpath(dirname(__FILE__).'/..'));
4
5class violetUtil {
6
7  public static function getTempPath($dir = '', $create = false) {
8    $tempPath = VIOLET_APP_DIR . '/Temp/' . $dir;
9    if ($dir != '' && !file_exists($tempPath)) mkdir($tempPath, 0777, true);;
10    return $tempPath;
11  }
12
13  public static function Unzip($zipFile, $destFolder) {
14    self::execCmd("/usr/bin/unzip -o -d '$destFolder' '$zipFile'");
15  }
16
17  public static function createZip($srcFolder, $zipFile) {
18    chdir($srcFolder);
19    self::execCmd("/usr/bin/zip -R '$zipFile' '*'");
20  }
21
22  public static function execCmd($command) {
23    $descriptorspec = array(
24       0 => array('pipe', 'r'),  // stdin is a pipe that the child will read from
25       1 => array('pipe', 'w'),  // stdout is a pipe that the child will write to
26    );
27    $process = proc_open($command, $descriptorspec, $pipes);
28    if (is_resource($process)) {
29      while (!feof($pipes[1])) {
30        $line = fgets($pipes[1], 1024);
31      }
32      fclose($pipes[1]);
33      proc_close($process);
34    }
35  }
36
37  public static function cleanDirectory($path) {
38    foreach (scandir($path) as $dir) {
39      if ($dir=='.' || $dir=='..') continue;
40      $dname = $path.'/'.$dir;
41      if (is_dir($dname)) self::cleanDirectory($dname);
42      else if (is_file($dname)) unlink($dname);
43    }
44    rmdir($path);
45  }
46
47  public static function copyAllFile($pattern, $src, $dest) {
48    foreach (glob($src.$pattern) as $srcFileName) {
49      $fileName = substr($srcFileName, strlen($src));
50      copy($srcFileName, $dest.$fileName);
51    }
52  }
53}
Note: See TracBrowser for help on using the repository browser.