/** * Load::srcInfo - Принимает url строку, разбивает url на массив значений. * Возвращает ассоциативный массив со следующими элементами: * 'id', 'name', 'fname', 'file', 'date', 'ext' (смотри описание в Load::nameInfo) * 'query' => Если есть GET данные, то они записываются в этот параметр * 'src' => Полный путь, переданный аргументом * 'path' => Полный путь без параметров GET * 'folder' => Путь до папки * */ $ans = Load::srcInfo('test.site.ru/folder/upload.php?test=1&test2=2'); assert($ans['query'] === '?test=1&test2=2'); assert($ans['src'] === 'test.site.ru/folder/upload.php?test=1&test2=2'); assert($ans['path'] === 'test.site.ru/folder/upload.php'); assert($ans['folder'] === 'test.site.ru/folder/'); $ans = Load::srcInfo('~test.site.ru'); assert($ans['path'] === '~/test.site.ru'); /** * Load::nameInfo - Принимает имя файла и возвращает в массиве следующую информацию по нему: * 'id' => boolean false, если в имени файла присутствует @ и после данного знака стоит число, то возвращает это число * в текстовом формате * 'name' => строковое имя файла до расширения (.php, .xml, .xlsx и т.п.), при этом если вначале имени файла стоит * шестизначное число и после этого числа стоит точка или пробел, то это число не включается в имя. * если в имени файла имеется знак @ и после этого знака идет целое число, то это число так же не включается в имя. * 'fname' => строковое полное имя файла до расширения (.php, .xml, .xlsx и т.п.) * 'file' => строковое полное имя файла с расширением * 'date' => null, если спереди имени файла стоит шестизначное число и после этого числа стоит точка или пробел, то возвращается это число * 'ext' => строковое расширение файла (php, xml, xlsx и т.п.) */ $ans = Load::nameInfo('*****@*****.**'); assert($ans['id'] === '24');