PluginProbe
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance / 3.2.5
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance v3.2.5
4.7.0 4.6.1 4.6.0 4.5.5 4.5.4 4.5.3 4.5.2 3.2.20 3.2.21 3.2.22 3.2.3 3.2.5 3.2.6 3.2.7 3.2.9 3.3.0 3.3.1 3.3.2 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.7.0 3.7.1 All 111 releases
wp-optimize / vendor / kriswallsmith / assetic / src / Assetic / Util / FilesystemUtils.php

FilesystemUtils.php in WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance 3.2.5, at vendor/kriswallsmith/assetic/src/Assetic/Util/FilesystemUtils.php

85 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 * This file is part of the Assetic package, an OpenSky project.
5 *
6 * (c) 2010-2014 OpenSky Project Inc
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 namespace Assetic\Util;
13
14 /**
15 * Filesystem utilities.
16 *
17 * @author Kris Wallsmith <[email protected]>
18 */
19 class FilesystemUtils
20 {
21 /**
22 * Recursively removes a directory from the filesystem.
23 */
24 public static function removeDirectory($directory)
25 {
26 $inner = new \RecursiveDirectoryIterator($directory, \FilesystemIterator::SKIP_DOTS);
27 $outer = new \RecursiveIteratorIterator($inner, \RecursiveIteratorIterator::SELF_FIRST);
28
29 // remove the files first
30 foreach ($outer as $file) {
31 if ($file->isFile()) {
32 unlink($file);
33 }
34 }
35
36 // remove the sub-directories next
37 $files = iterator_to_array($outer);
38 foreach (array_reverse($files) as $file) {
39 /** @var \SplFileInfo $file */
40 if ($file->isDir()) {
41 rmdir($file);
42 }
43 }
44
45 // finally the directory itself
46 rmdir($directory);
47 }
48
49 /**
50 * Creates a throw-away directory.
51 *
52 * This is not considered a "temporary" directory because it will not be
53 * automatically deleted at the end of the request or process. It must be
54 * deleted manually.
55 *
56 * @param string $prefix A prefix for the directory name
57 *
58 * @return string The directory path
59 */
60 public static function createThrowAwayDirectory($prefix)
61 {
62 $directory = self::getTemporaryDirectory().DIRECTORY_SEPARATOR.uniqid('assetic_'.$prefix);
63 mkdir($directory);
64
65 return $directory;
66 }
67
68 /**
69 * Creates a temporary file.
70 *
71 * @param string $prefix A prefix for the file name
72 *
73 * @return string The file path
74 */
75 public static function createTemporaryFile($prefix)
76 {
77 return tempnam(self::getTemporaryDirectory(), 'assetic_'.$prefix);
78 }
79
80 public static function getTemporaryDirectory()
81 {
82 return realpath(sys_get_temp_dir());
83 }
84 }
85