/** * Check permissions recursive * @param string $src - path to check * @param Collection $collection - object to store incorrect permissions */ public function checkr($src, $collection) { if (!file_exists($src)) { return; } if (!is_writable($src)) { $collection->addNotWritable($src); } if (!is_readable($src)) { $collection->addNotReadable($src); } if (is_dir($src)) { $files = scandir($src); foreach ($files as $file) { if (!in_array($file, [".", ".."])) { $this->checkr("{$src}/{$file}", $collection); } } } }