Fibinger Ádám
2020-07-31 7e1ea4d5fb16450ce81f9b7f39784e7a84b73f9b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
 
namespace Wargasz;
 
class FileHelper
{
    private static $ch;
 
    public static function downloadFiles($url, $targetFileName = '')
    {
        $ch = self::createCURLObject($url);
 
        $response = curl_exec($ch);
        $errno = curl_errno($ch);
 
        if (!$errno)
        {
            return (bool)file_put_contents($targetFileName, $response);
        }
 
        return false;
    }
 
    public static function normalizeString($source)
    {
        $pattern = '/[^a-zA-Z0-9\ \.\-\_]/';
        return preg_replace($pattern, "", $source);
    }
 
    protected static function createCURLObject($url)
    {
        $options = [
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_URL            => trim($url),
            CURLOPT_SSL_VERIFYPEER => 0,
            CURLOPT_SSL_VERIFYHOST => 0,
            CURLOPT_FOLLOWLOCATION => 0
        ];
 
        if (self::$ch == null)
        {
            self::$ch = curl_init();
        }
 
        curl_setopt_array(self::$ch, $options);
 
        return self::$ch;
    }
 
    public static function getFiles($directory): array
    {
        $Directory = new \RecursiveDirectoryIterator($directory);
        $Iterator = new \RecursiveIteratorIterator($Directory);
        $Regex = new \RegexIterator($Iterator, '/^.+\.html$/i', \RecursiveRegexIterator::GET_MATCH);
 
        $files = [];
 
        foreach ($Regex as $file)
        {
            $files[] = $file;
        }
 
        return $files;
    }
}