Merge pull request #19081 from civicrm/5.32
[civicrm-core.git] / CRM / Core / CodeGen / Util / File.php
1 <?php
2
3 /**
4 * Class CRM_Core_CodeGen_Util_File
5 */
6 class CRM_Core_CodeGen_Util_File {
7
8 /**
9 * @param $dir
10 * @param int $perm
11 */
12 public static function createDir($dir, $perm = 0755) {
13 if (!is_dir($dir)) {
14 mkdir($dir, $perm, TRUE);
15 }
16 }
17
18 /**
19 * @param $dir
20 */
21 public static function cleanTempDir($dir) {
22 foreach (glob("$dir/*") as $tempFile) {
23 unlink($tempFile);
24 }
25 rmdir($dir);
26 if (preg_match(':^(.*)\.d$:', $dir, $matches)) {
27 if (file_exists($matches[1])) {
28 unlink($matches[1]);
29 }
30 }
31 }
32
33 /**
34 * @param $prefix
35 *
36 * @return string
37 */
38 public static function createTempDir($prefix) {
39 $newTempDir = tempnam(sys_get_temp_dir(), $prefix) . '.d';
40 if (file_exists($newTempDir)) {
41 self::removeDir($newTempDir);
42 }
43 self::createDir($newTempDir);
44
45 return $newTempDir;
46 }
47
48 }