/** * Удаление каталога со всеми вложенными файлами и подкаталогами * * @param string $location полный путь к каталогу * * @return bool результат полного удаления каталога и вложенных файлов и каталогов */ public static function delete($location) { if (is_dir($location) && file_exists($location)) { foreach (glob($location . '/*') as $file) { if (!(is_dir($file) ? joosFolder::delete($file) : joosFile::delete($file))) { return false; } } return rmdir($location); } return false; }
public function upload() { // активное правило загрузки для файла $rules_name = joosRequest::post('rules_name'); joosUpload::init($rules_name); $upload_result = array(); $check = joosUpload::check(); if ($check === true) { $upload_result = joosUpload::actions_before() + $upload_result; $upload_result = joosUpload::easy_upload(joosUpload::get_input_name(), joosUpload::get_upload_location()) + $upload_result; $upload_result = joosUpload::actions_after($upload_result) + $upload_result; // удаляем физически файл если проверки не прошли в пользователю выдаём ошибку if ($upload_result['success'] !== true) { joosFile::delete($upload_result['file_base_location']); } } else { $upload_result = $check; } // подчищаем секретные данные unset($upload_result['file_base_location']); return $upload_result; }
private function xml_create(array $sitemap, $num = 0) { $filename = $num == 0 || $this->counters < $this->config['max_elemets_in_map'] ? JPATH_BASE . DS . 'sitemap.xml' : JPATH_BASE . DS . 'cache/sitemaps/sitemap-' . $num . '.xml'; $xml = array(); $xml[] = '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; $xml[] = implode('', $sitemap); $xml[] = "\n</urlset>"; joosFile::exists(JPATH_BASE . DS . 'sitemap.xml') ? unlink(JPATH_BASE . DS . 'sitemap.xml') : null; // Записываем массив с ссылками в файл joosFile::exists($filename) ? joosFile::delete($filename) : null; joosFile::put_content($filename, implode("\n", $xml)); }