Что такое код is_dir

Что такое код is_dir

(PHP 3, PHP 4, PHP 5)

is_dir — Определает, является ли файл директорией

Описание bool is_dir ( string filename )

Возвращает TRUE , если файл существует и является директорией. Если filename — это относительное имя файла, оно будет проверено относительно текущей рабочей директории.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache() .

Пример 1. Пример использования функции is_dir()

( is_dir ( ‘a_file.txt’ )) . «\n» ;
var_dump ( is_dir ( ‘bogus_dir/abc’ )) . «\n» ;

var_dump ( is_dir ( ‘..’ )); //на одну директорию выше
?>

Результат выполнения данного примера:

bool(false) bool(false) bool(true)

Подсказка: Начиная с PHP 5.0.0 , эта функция также может быть использована с некоторыми упаковщиками url.

Что такое код is_dir

Вывод списка файлов и подкаталогов каталога. Вызванная без параметров команда dir выводит метку тома и серийный номер, за которыми следует список каталогов и файлов на диске, включая их имена, дату и время последнего изменения. Для файлов dir выводит также расширение имени и размер в байтах. Команда dir также выводит общее число перечисленных файлов и каталогов, их общий размер и свободное пространство (в байтах) на диске.

Синтаксис

Параметры

[диск:][путь] Задание диска и каталога, список файлов которого будет выведен. [имя_файла] Задание файла или группы файлов, сведения о которых требуется вывести. /p Постраничный вывод сведений, т. е. с паузой после заполнения экрана. Для продолжения просмотра необходимо нажать любую клавишу. /q Вывод сведений о владельце файла. /w Вывод сведений в несколько колонок до пяти имен файлов или каталогов в каждой строке. /d Соответствует /w, но с сортировкой по столбцам. /a [[:] атрибуты] Выводит имена только тех файлов и каталогов, которые имеют указанные атрибуты. Если параметр /a не указан, команда dir выводит имена всех файлов, за исключением системных и скрытых. Если параметр /a указан без атрибутов, команда dir выводит имена всех файлов, включая скрытые и системные. Ниже приведен список значений, которые могут быть использованы при задании параметра атрибуты. Двоеточие (:) является необязательным. Значения из таблицы могут использоваться в любых комбинациях без пробела между ними.

Значение Описание
h Скрытые файлы
s Системные файлы
d Каталоги
a Файлы, готовые к архивированию
r Файлы, доступные только для чтения
-h Файлы, не являющиеся скрытыми
-s Файлы, не являющиеся системными
-d Только файлы (не каталоги)
-a Файлы, не изменявшиеся после последнего архивирования
-r Файлы, не имеющие атрибута «Только чтение»

/o [[:]порядок_сортировки] Управление порядком сортировки и вывода имен файлов и каталогов командой dir. Если параметр /o, не задан, команда dir выводит имена в том порядке, в котором они записаны в каталоге. Если параметр /o использован без параметра порядок_сортировки, команда dir выводит имена каталогов в алфавитном порядке, затем имена файлов в алфавитном порядке. Двоеточие (:) является необязательным. Ниже приведен список значений, которые могут быть использованы при задании параметра порядок_сортировки. Допускается использование любого их сочетания без пробелов между ними.

Значение Описание
n Сортировка по именам в алфавитном порядке
e Сортировка по расширениям в алфавитном порядке
d Сортировка по дате и времени от ранних к поздним
s Сортировка по размеру от меньших к большим
g Сортировка с группированием каталогов перед файлами
-n Сортировка по именам в обратном алфавитном порядке (от Z к A)
-e Сортировка по расширению в обратном алфавитном порядке (от .ZZZ к .AAA)
-d Сортировка по дате и времени от поздних к ранним
-s Сортировка по размеру от больших к меньшим
-g Сортировка с группировкой каталогов после файлов

/t [[:]поле_времени] Задание поля времени для вывода и сортировки. Ниже приведен список значений, которые могут быть использованы при задании параметра поле_времени.

Значение Описание
c Создание
a Последнее обращение
w Последняя запись

/s Перечисление всех случаев обнаружения определенного имени файла в указанном каталоге и всех его подкаталогах. /b Перечисление каждого имени файла (включая расширение) или каталога на отдельной строке. При использовании параметра /b заголовочные сведения или сводка не выводятся. Параметр /b отменяет параметр /w. /l Вывод несортированного списка имен каталогов и имен файлов строчными буквами. Параметр /l не позволяет преобразовывать дополнительные символы в строчные. /n Вывод списка в расширенном формате с именами файлов в правой части экрана. /x Вывод сокращенных имен файлов файловых систем NTFS и FAT. Формат совпадает с форматом параметра /n, но сокращенные имена выводятся после полных. /c Вывод разделителя десятичных разрядов в размере файлов. /4 Отображение года в четырехзначном формате. /? Отображение справки в командной строке.

Примечания

  • Использование нескольких имен_файлов

Допускается использование нескольких имен_файлов. Разделяйте имена файлов пробелом, запятой или точкой с запятой. Для вывода группы файлов допускается применение подстановочных знаков (? и *) в параметре имя_файла.

Использование подстановочных знаков

Для вывода списка подгруппы файлов и подкаталогов можно использовать подстановочные знаки (? и *).

Задание атрибутов файлов для вывода

Если параметр /a используется более чем с одним значением параметра атрибуты, команда dir выведет имена только тех файлов, все атрибуты которых совпадают с заданными. Например, при использовании параметра /a со значениями атрибутов r и -h в формате /a:r-h или /ar-h команда dir выведет имена файлов, являющихся одновременно скрытыми и защищенными от записи.

Указание порядка сортировки имен файлов

Если указано несколько значений порядка_сортировки, команда dir сортирует имена файлов сначала по первому условию, затем по второму и т. д. Например, если указан ключ /o со значениями e и -s порядка_сортировки в формате /o:e-s или /oe-s, команда dir отсортирует имена каталогов и файлов по расширениям, затем от больших файлов к меньшим и выведет окончательный результат. В результате сортировки по алфавиту файлы без расширений будут идти вначале, затем имена каталогов, а потом имена файлов с расширениями.

Использование перенаправления и каналов

Чтобы перенаправить вывод команды dir в файл с помощью символа (>) или использовать канал (|) для передачи вывода в другую команду, необходимо использовать параметры команды dir /a:-d и /b для вывода только списка имен файлов. Параметр имя_файла с параметрами /b и /s можно использовать, чтобы указать поиск командой dir в текущем каталоге и его подкаталогах всех файлов, соответствующих значению имя_файла. При этом команда dir выведет только имя диска, имя каталога, имя файла и расширение по одному файлу в строке. Чтобы использовать перенаправление с помощью каналов, в файле Autoexec.nt должна быть установлена переменная среды TEMP.

Предварительное задание параметров команды dir

Параметры команды dir могут быть предварительно заданы включением команды set для переменной среды DIRCMD в файл Autoexec.nt. В команде set dircmd может быть использована любая допустимая комбинация параметров команды dir, включая расположение и имя файла.

Например, чтобы использовать переменную среды DIRCMD для задания вывода в расширенном формате (/w) по умолчанию, в файле Autoexec.nt необходимо ввести следующую строку:

При однократном использовании команды dir можно отменить параметр с помощью переменной среды DIRCMD. Для этого введите параметр, который требуется отменить, в командной строке dir, указав перед ним знак минус. Например:

Чтобы изменить параметры DIRCMD, используемые по умолчанию, введите следующую команду:

Новые параметры по умолчанию останутся в силе для всех последующих команд dir, пока команда set dircmd не задаст новые параметры или не будет перезагружен компьютер.

Чтобы удалить все параметры по умолчанию, введите следующую команду:

Чтобы просмотреть текущие параметры переменной среды DIRCMD, введите следующую команду:

Команда set выведет список переменных среды и их параметров. Дополнительные сведения о этой команде смотрите здесь.

  • Команда dir с другими параметрами доступна в консоли восстановления.
  • Примеры

    Чтобы вывести подряд все каталоги в алфавитном порядке, в несколько колонок и с паузой после заполнения каждого экрана, убедитесь, что корневой каталог является текущим, и введите следующую команду:

    Команда dir выводит имя корневого каталога, имена его подкаталогов и имена файлов (включая расширения) в этом каталоге. Затем выводятся имена подкаталогов и имена файлов в каждом каталоге дерева каталогов.

    Для изменения предыдущего примера так, чтобы команда dir не выводила имена каталогов, введите следующую команду:

    Чтобы напечатать список каталогов, введите следующую команду:

    Если указать параметр prn, список каталогов отправляется на принтер, подключенный к порту LPT1. Если принтер подключен к другому порту, необходимо заменить параметр prn именем этого порта.

    Вывод команды dir также может быть направлен в файл при замене prn на имя файла. Кроме того, можно также ввести путь. Например, для направления вывода команды dir в файл Dir.doc в каталоге Records введите следующую команду:

    Если файл Dir.doc не существует, команда dir создаст его при условии наличия каталога Records. Если этот каталог не существует, выводится следующее сообщение:

    Ошибка создания файла

    Чтобы вывести список всех файлов с расширением .txt во всех каталогах диска C, введите следующую команду:

    Команда dir выводит на экран алфавитный список файлов, удовлетворяющих заданному шаблону, в несколько колонок с паузой после заполнения каждого экрана.

    Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).

    Особенность is_dir() функции?

    Всем доброго времени суток.

    Недавно стал частью SCM-подразделения в качестве младшего разработчика. До этого отношения к программированию имел весьма посредственное. На PHP5 пишу код впервые. В качестве путеводителя штудирую книгу Котеров Д. В., Костарев А. Ф. — PHP 5. 2-е издание (В подлиннике) — 2008.

    Прошу помочь подсказкой. Есть задача по написанию скрипта на вывод дерева каталогов-файлов в указанной директории. Видел кучу реализаций этой задачи в той или иной степени избыточности. Сразу оговорюсь нижеуказанный код прямо к задаче не относится, и, да, я в курсе, что некоторые вещи можно написать по-другому и короче (сказывается институтская практика прикладных задач на C++ десятилетней давности и совсем немного JavaScript в настоящее время).

    Но вопрос заключается в другом. Вышеприведенный код просто изучение поведения PHP на те или иные конструкции, чтобы лучше его понимать и нарабатывать навык. По непонятной мне причине интерпретатор PHP неверно обрабатывает (в моём представлении) второй цикл, где используется функция is_dir(). Он должен выводить элементы-каталоги на экран, когда функция возвращает true, но выводит только текущий и родительский каталог:

    И мне непонятно почему так, потому что код совершенно прост и должен работать.

    Команда DIR (вывод каталога).

    Основная форма команды позволяет просматривать текущий каталог:

    C:\DIR

    В результате выполнения команды выводится каталог С:\, т.е. корневой каталог диска С. В команде можно использовать ряд ключей, например:

    C:\>DIR /P.

    При этом выполнение команды будет прерываться при заполнении экрана дисплея. Ключ /W задает вывод каталога в сжатом виде. Возможно использование комбинации ключей /P/W.

    Использование знаков замещения позволяет выводить различные варианты подмножеств данного каталога. Символ «?» означает, что вместо него можно использовать любой символ. Например:

    Такая команда будет выводить из каталога А:\ все имена файлов, начинающихся с буквы В, имеющих имя длиной в три символа и расширение ТХТ. Символ «*» означает, что вместо него может быть использована любая допустимая комбинация символов. Например:

    По этой команде из каталога B:\ будут выводиться все имена файлов, начинающихся с букв СЕ, независимо от того, каковы остальные символы в имени файла и какое он имеет расширение.

    Вывод каталога на принтер осуществляется следующей командой:

    В версии MS-DOS 5.0 в команду DIR внесены некоторые изменения, наиболее существенными из которых являются дополнительные пять ключей:

    Команда с этим ключом выводит только те имена файлов и каталогов, атрибуты которых соответствуют указанным. Возможны следующие атрибуты:

    d — каталоги; -d — только файлы, а не каталоги;

    h — скрытые файлы; -h — нескрытые файлы;

    s — системные файлы; -s — все файлы за исключением

    a — файлы с установленным битом архива;

    -a — файлы, в которых бит архива не установлен;

    r — файлы с установленным битом Read-Only( только для чтения);

    -r — файлы, в которых бит Read-Only не установлен.

    /O[[:] порядок сортировки ]

    Данный ключ позволяет установить порядок вывода файлов и каталогов командой DIR. Если этот ключ используется без указания параметров, то команда DIR сначала выводит имена каталогов в алфавитном порядке, а затем имена файлов в алфавитном порядке. Можно использовать следующие значения параметра сортировки:

    n — сортировка в алфавитном порядке;

    -n — сортировка в обратном алфавитном порядке;

    e — сортировка по расширению в алфавитном порядке;

    -e — сортировка по расширению в обратном алфавитном порядке;

    d — сортировка по дате и времени суток, начиная с более ранних;

    -d — сортировка по дате и времени суток, начиная с более поздних;

    s — сортировка по размеру, начиная с наибольшего;

    -s — сортировка по размеру, начиная с наименьшего;

    g — сначала выводятся имена каталогов;

    -g — имена каталогов выводятся после имен файлов.

    Ключ /S — выводит записи о файлах указанного каталога и его подкаталогов.

    Ключ /B — выводит только имена файлов или каталогов по одному в строке, включая расширение имени файла.

    Ключ /L — выводит имена каталогов и файлов строчными буквами.

    В версии MS-DOS 6.0 введен ключ /C[H], который обеспечивает в дополнение к стандартным сведениям отображение коэффициента сжатия дисковым компрессором Double Space каждого из включенных в список файла, а также усредненного коэффициента сжатия этих файлов, который помещается в итоговые сведения. Если буква H присутствует, то при расчете предполагается, что кластеры сжатого диска имеют такой же размер, что и кластеры несущего диска. Если буква H опущена, то размер кластеров предполагается равным 8 кбайтам.

    В версиях 5 и 6 имеется возможность определить аргументы и ключи команды DIR в качестве значения глобальной переменной DIRCMD. Для этого используется команда SET, помещаемая в файл AUTOEXEC.BAT. Например:

    SET DIRCMD = /W/A/O:-n.

    Установленные ключи будут автоматически подставляться к спецификации файлов или каталогов в команде DIR. Отменить установки, введенные в файле AUTOEXEC.BAT можно задав команду DOS:

    3.2 Команда FORMAT (форматирование дисков).

    Применение команды FORMAT рассмотрим только для гибких дисков (3″ и 5″), которые обычно имеют логические имена А: и В:. Например:

    Данная команда форматирует дискету в соответствии с типом дисковода, установленным в системе. Если используется дисковод на 1,2 Мбайта, то ОС будет пытаться

    форматировать дискету именно на 1,2 Мбайта, независимо от

    ее реального типа. Поэтому в дисководе на 1,2 Мб следует применять только дискеты типов НС или HD, если необходимо получить дискеты объемом 1,2 Мб. Если используются дискеты типов 2S-DD, DS-DD, рассчитанные на 360 Кбайт, то следует использовать команду

    Ключ /S в команде FORMAT позволяет перенести на дискету системные файлы, делая ее системной. Для того, чтобы убедиться, что дискета действительно является системной, следует использовать команду CHKDSK, так как команда DIR не показывает два скрытых системных файла.

    Начиная с версии DOS 5.0 в команде FORMAT добавлены некоторые ключи. Ключ /F позволяет указать емкость диска в килобайтах или мегабайтах. В основном он предназначен для использования гибкого диска емкостью 2.88 Мбайта. Например:

    Ключ /Q позволяет осуществлять быстрое форматирование, удаляя только таблицу размещения файлов(FAT) и корневой каталог отформатированного ранее диска, при этом не производится проверка диска на наличие дефектных блоков.

    При использовании ключа /Q или команды FORMAT без ключей информация на диске может быть восстановлена применением команды UNFORMAT. Этого нельзя сделать если форматирование производилось с ключом /U, обозначающим операцию безусловного форматирования, при котором уничтожаются данные, хранящиеся на диске.

    3.3 Команда COPY (копирование файлов).

    Основной формат команды:

    Источник указывает копируемый файл, возможно, с путем доступа к нему, а затем целевой файл, также с путем доступа. Если не указан дисковод и путь доступа, то команда использует дисковод и каталог, назначенные по умолчанию. Если файл не полностью помещается на дискету, то команда не прекращает копирования, а лишь посылает сообщение об ошибке.

    3.4 Команда DEL (удаление файлов).

    Особое внимание следует обратить на вариант DEL *.*, так как в этом случае будут удалены все файлы в текущем каталоге. При удалении группы файлов запрашивается подтверждение: Are you sure (Y/N)?. Если дан положительный ответ Y, то файлы удаляются, в случае отрицательного ответа N файлы не удаляются и выполнение команды DEL прекращается.

    В версии DOS 6.0 введена команда DELTREE, которая удаляет с диска каталог со всеми входящими в него подкаталогами и файлами. Формат команды:

    Параметр d: указывает дисковод, на котором находится удаляемый каталог. Ключ /Y отмечает выдачу запроса подтверждения удаления. Команда DELTREE удаляет все файлы в каталоге и подкаталогах независимо от их атрибутов.

    3.5 Команда RENAME (изменение имени файла).

    Эта команда не изменяет содержимое файла, а только дает ему новое имя. Основной формат команды:

    Возможно также применение групповых операций:

    C:\>REN A:\USER\*.DAT *.TXT.

    Данная команда меняет все расширения DAT имен файлов в каталоге USER диска А на новые расширения ТХТ.

    3.6 Команда MKDIR (создание каталога).

    Подкаталог создается в том каталоге, в котором была выдана команда, т.е. в текущем каталоге, если не определено иное. Например:

    В корневом каталоге диска А: будет создан подкаталог MYCAT.

    Теперь легко создать подкаталог второго уровня:

    Аналогично можно создать подкаталоги третьего, четвертого и последующих уровней.

    3.7 Команда CHDIR (смена каталога).

    Команда имеет сокращенную форму CD. Ввод CD без параметров не меняет текущий каталог. Можно рассмотреть следующие основные варианты команды CD:

    a) перемещение на один уровень вниз в \MYCAT из A:\

    b) перемещение вниз из A:\ в \BABY

    c) перемещение на один уровень вверх из \BABY в \MYCAT

    Две точки (..) означают родительский каталог.

    d) перемещение из \BABY в A:\

    Символ корневого каталога — наклонная черта (\).

    3.8 Команда RMDIR (удаление подкаталога).

    Сокращенная форма команды RD. Команда удаляет подкаталоги, но не корневой каталог. Перед удалением подкаталогов в них не должно быть файлов, а также других подкаталогов.

    3.9 Команда DISKCOPY (копирование дисков).

    С помощью этой команды можно создать абсолютно идентичную копию дискеты. Копируемые файлы и каталоги размещаются на тех же местах, что и на исходной дискете. Команда DISKCOPY копирует скрытые файлы и файлы операционной системы. Команда уничтожает все файлы, которые были записаны на целевой дискете.

    Основная форма команды при использовании двух дисководов:

    Если имеется один дисковод, то формат команды такой:

    При этом придется заменять дискету в дисководе А, возможно не один раз.

    Начиная с версии 5.0 добавлен ключ /V, который позволяет задать проверку копирования на наличие ошибок( проверяется состояние целевой дискеты).

    Применение данного ключа несколько снижает скорость копирования.

    3.10 Команда BACKUP/RESTORE (резервное копирование жесткого диска).

    Команда BACRUP C:*.* A:/S копирует содержимое жесткого диска на дискеты, которые будут помещаться в дисковод А:. Дискеты нумеруются начиная с 1 для того , чтобы при восстановлении командой RESTORE их можно было загружать в обратном порядке. Команда:

    восстанавливает все файлы с дискеты в дисководе А, в корневом каталоге диска С и в его подкаталогах.

    В версии DOS 5.0 при использовании ключа /F в команде BACKUP можно определить размер форматируемого диска ( в килобайтах или мегабайтах) от 160 кбайт до 2.88 Мбайт. Например:

    В команду RESTORE добавлен ключ /D, указывающий вывод списка файлов, записанных на резервный диск. При этом восстановление файлов не производится. Если после просмотра списка файлов их требуется восстановить, то команду следует ввести повторно без ключа /D.

    Начиная с версии 6.0 вместо команды BACKUP разработана интерактивная утилита Microsoft Backup (MS BACKUP), обладающая широкими функциональными возможностями, но требующая некоторого изучения. Команда RESTORE сохранена для восстановления архивов, созданных в предыдущих версиях командой BACKUP.

    3.11 Команда TREE (вывод дерева каталогов).

    С помошью этой команды можно выводить все каталоги и имена содержащихся в них файлов. Команда TREE без параметров выводит лишь имена подкаталогов, а команда TREE/F выводит имена содержащихся в них файлов.

    3.12 Команда DATE (вывод и установка даты).

    В европейском стандарте используются следующие параметры определения даты: дд-мм-гг или дд-мм-гггг (день, месяц, год). Год можно указывать полностью или сокращенно, например, 1995 или 95. В качестве разделителей можно использовать тире (-), точку (.), наклонную черту(/). Команда

    выводит дату. Новую дату можно ввести так:

    3.13 Команда TIME (вывод и установка астрономического времени).

    Текущее время можно узнать подав команду C:\>TIME. Для установки времени следует подать команду C:\>TIME 13:10. Секунды можно не указывать, так как ОС добавляет их самостоятельно.

    3.14 Команда VER (вывод номера версии ОС).

    Используя эту команду легко проверить какая версия ОС работает на ЭВМ. Формат команды:

    3.15 Команда VOL (вывод метки тома).

    Команда выводит метку дискеты, находящейся в дисководе А:.

    3.16. Команда UNDELETE ( восстановление удаленных файлов).

    Команда введена, начиная с версии 5.0. Параметры:

    — путь доступа к каталогу, в котором находятся восстанавливаемые файлы;

    — имя восстанавливаемого файла.

    /LIST — выводится на экран список всех удаленных файлов, которые можно восстановить, но восстановление при этом не выполняется;

    /ALL — восстановление всех файлов из текущего, либо указанного каталога. Если существует файл отслеживания удалений PCTRACKR.DEL, то в первую очередь восстанавливаются указанные в нем файлы;

    /DOS — при восстановлении не используется файл отслеживания удалений, даже если он существует;

    /DT — восстанавливаются только те файлы, информация о которых записана в файл отслеживания удалений PCTRACKR.DEL.

    В версии 6.0 и старше команда UNDELETE обладает дополнительными возможностями.

    Контрольные вопросы

    1. Какие команды называются внутренними командами MS-DOS?

    2. Какие команды называются внешними командами MS-DOS?

    3. Какие символы замещения можно использовать в командах MS-DOS?

    4. Что означает команда A:\>DIR ?AC.TXT?

    5. Как понимать команду C:\FOTON\>DIR *.FT?

    6. Как осуществить вывод каталога на печать?

    7. Что означает команда C:\>COPY *.TXT B:\USER?

    8. Каким способом можно изменить имя файла?

    9. В чем состоят отличия команды СOPY от команды DISKCOPY?

    10. Каково назначение команды BACKUP?

    is_dir () возвращает FALSE при передаче подпапки

    is_dir () в соответствии с инструкцией php возвращает true, если передана строка, относящаяся к папке. Он возвращает false – несмотря на то, что ему передан массив допустимых имен папок – это, вероятно, что-то простое, но я избиваю себя, не нахожу его.

    Вот что я вижу на выходе почти для всех папок:

    Здесь я пропустил что-то действительно немое, но все же. Кажется, что is_dir () корректно возвращает TRUE только для текущей папки «.» и родительская папка «..»

    Если есть нюанс, который мне не хватает при использовании is_dir (), я этого не вижу.

    Помощь приветствуется – все, что я собираюсь сделать в коде, – сделать список текущих подпапок под TEST_SUBFOLDERS_FILES_PATH, если я могу получить is_dir (), чтобы вернуть TRUE не только для «.» и «..», но также и другие подпапки testFolderN.

    Кстати, в каталоге всего 5 подпапок и один файл в каталоге, поэтому отображение счета выше:

    Вы сканируете $rootOfmainSubdir , но вы тестируете is_dir() в текущем каталоге. Перед проверкой вы можете либо добавить корневой каталог, либо каталог, или chdir() . Обратите внимание, что в вашем текущем каталоге также есть . и .. записи.

    Вы можете заменить все простым вызовом glob

    Вам нужно будет добавить $rootOfmainSubdir в свой вызов is_dir следующим образом:

    В руководстве указано, что имя файла, которое вы даете is_dir() является

    Путь к файлу. Если filename является относительным именем файла, оно будет проверяться относительно текущего рабочего каталога.

    Поэтому вам нужно поставить «./» перед каждым каталогом, чтобы is_dir мог искать в нем текущий каталог. В противном случае он выглядит под «/», возможно, не тем, что вы хотите.

    dir dir

    Отображает список файлов и подкаталогов каталога. Displays a list of a directory’s files and subdirectories. Если используется без параметров, dir отображает метку тома диска и серийный номер, а затем список каталогов и файлов на диске (включая имена и дату и время последнего изменения). If used without parameters, dir displays the disk’s volume label and serial number, followed by a list of directories and files on the disk (including their names and the date and time each was last modified). Для файлов команда dir отображает расширение имени и размер в байтах. For files, dir displays the name extension and the size in bytes. Dir также отображает общее число указанных файлов и каталогов, их совокупный размер и свободное место (в байтах), оставшееся на диске. Dir also displays the total number of files and directories listed, their cumulative size, and the free space (in bytes) remaining on the disk.

    В разделе Примеры показан принцип использования этой команды. For examples of how to use this command, see Examples.

    Синтаксис Syntax

    Параметры Parameters

    Параметр Parameter Описание Description
    [@no__t 0Drive >:] [

    Указывает диск и каталог, для которого требуется просмотреть список. Specifies the drive and directory for which you want to see a listing. [ ] [ ] Указывает конкретный файл или группу файлов, для которых требуется просмотреть список. Specifies a particular file or group of files for which you want to see a listing. /p /p Отображает один экран в списке за раз. Displays one screen of the listing at a time. Чтобы увидеть следующий экран, нажмите любую клавишу на клавиатуре. To see the next screen, press any key on the keyboard. /q /q Отображает сведения о владельце файла. Displays file ownership information. /w /w Отображает список в расширенном формате с пятью именами файлов или именами каталогов в каждой строке. Displays the listing in wide format, with as many as five file names or directory names on each line. /d /d Отображает список в том же формате, что и /w, но файлы сортируются по столбцам. Displays the listing in the same format as /w, but the files are sorted by column. /a [[:] ] /a[[:]] Отображает только имена каталогов и файлов с указанными атрибутами. Displays only the names of those directories and files with the attributes that you specify. Если параметр /aне указан, команда dir отображает имена всех файлов, за исключением скрытых и системных файлов. If you omit /a, dir displays the names of all files except hidden and system files. Если вы используете /a без указания атрибутов, dir отображает имена всех файлов, включая скрытые и системные файлы. If you use /a without specifying Attributes, dir displays the names of all files, including hidden and system files.
    В следующем списке описываются все значения, которые можно использовать для атрибутов. The following list describes each of the values that you can use for Attributes. Использование двоеточия (:) аргумент является необязательным. Using a colon (:) is optional. Используйте любое сочетание этих значений и не разделяйте значения пробелами. Use any combination of these values, and do not separate the values with spaces. каталогов d d Directories
    h скрытые файлы h Hidden files системные файлы s System files
    l точки повторного анализа l Reparse points файлы r только для чтения r Read-only files
    готовые к архивированию a Files ready for archiving я не проиндексированные файлы содержимого i Not content indexed files
    Значение префикса «не» Prefix meaning «not» /o [[:] ] /o[[:] ] Сортирует выходные данные по SortOrder, что может быть любым сочетанием следующих значений: Sorts the output according to SortOrder, which can be any combination of the following values:
    n по имени (в алфавитном порядке) n By name (alphabetical) e по расширению (в алфавитном порядке) e By extension (alphabetical)
    сначала Группировать каталоги g Group directories first с по размеру (наименьший размер) s By size (smallest first)
    d по дате и времени (сначала самые старые) d By date/time (oldest first) Обратный порядок префикса Prefix to reverse order
    Примечание. Использование двоеточия является необязательным. Note: Using a colon is optional. Несколько значений обрабатываются в порядке их перечисления. Multiple values are processed in the order in which you list them. Не разделяйте несколько значений пробелами. Do not separate multiple values with spaces. Если параметр SortOrder не указан, dir/o Перечисляет каталоги в алфавитном порядке, за которым следуют файлы, которые также сортируются в алфавитном порядке. If SortOrder is not specified, dir /o lists the directories in alphabetic order, followed by the files, which are also sorted in alphabetic order. /t [[:] ] /t[[:] ] Указывает, какое поле времени следует отображать или использовать для сортировки. Specifies which time field to display or use for sorting. В следующем списке перечислены значения, которые можно использовать для тимефиелд. The following list describes each of the values you can use for TimeField:
    Создание c c Creation a последнего доступа a Last access
    Последнее написанное время w Last written /s /s Выводит все вхождения указанного имени файла в указанном каталоге и всех подкаталогах. Lists every occurrence of the specified file name within the specified directory and all subdirectories. b /b Отображает список несовпадающих каталогов и файлов без дополнительных сведений. Displays a bare list of directories and files, with no additional information. /b переопределяет /w. /b overrides /w. /l /l Отображает несортированные имена каталогов и имена файлов в нижнем регистре. Displays unsorted directory names and file names in lowercase. параметра /n Отображает длинный формат списка с именами файлов в правом углу экрана. Displays a long list format with file names on the far right of the screen. /x /x Отображает короткие имена, созданные для имен файлов, отличных от 8.3. Displays the short names generated for non-8dot3 file names. Отображение аналогично отображению параметра /n, но короткое имя вставляется перед длинным именем. The display is the same as the display for /n, but the short name is inserted before the long name. /c /c Отображает десятичный разделитель в размерах файлов. Displays the thousand separator in file sizes. Такая реакция на события используется по умолчанию. This is the default behavior. Чтобы скрыть разделители, используйте /-к . Use /-c to hide separators. /4 /4 Отображает годы в формате из четырех цифр. Displays years in four-digit format. /? /? Отображение справки в командной строке. Displays help at the command prompt.

    Примечания Remarks

    Чтобы использовать несколько параметров имени файла, разделяйте имена файлов пробелами, запятыми или точками с запятой. To use multiple FileName parameters, separate each file name with a space, comma, or semicolon.

    Можно использовать подстановочные знаки ( * или ? ) для представления одного или нескольких символов имени файла и отображения подмножества файлов или подкаталогов. You can use wildcard characters (* or ?), to represent one or more characters of a file name and to display a subset of files or subdirectories.

    Звездочка (*): Используйте звездочку в качестве замены любой строки символов, например: Asterisk (*): Use the asterisk as a substitute for any string of characters, for example:

    • dir @no__t -1. txt перечисляет все файлы в текущем каталоге с расширениями, которые начинаются с txt, например. txt,. txt1,. txt_old. dir *.txt lists all files in the current directory with extensions that begin with .txt, such as .txt, .txt1, .txt_old.
    • dir read*.txt перечисляет все файлы в текущем каталоге, начинающиеся с «Read», и расширения, которые начинаются с txt, например TXT, txt1 или txt_old. dir read*.txt lists all files in the current directory that begin with «read» and with extensions that begin with .txt, such as .txt, .txt1, or .txt_old.
    • dir read @ no__t-1. \ * перечисляет все файлы в текущем каталоге, начинающиеся с «Read», с любым расширением. dir read*.\* lists all files in the current directory that begin with «read» with any extension.

    Подстановочный знак звездочки всегда использует короткое сопоставление имен файлов, поэтому могут возникнуть непредвиденные результаты. The asterisk wildcard always uses short file name mapping, so you might get unexpected results. Например, следующий каталог содержит два файла (t. txt2 и t97. txt): For example, the following directory contains two files (t.txt2 and t97.txt):

    Можно ожидать, что при вводе команды dir t97 @ no__t-1* будет возвращен файл t97. txt. You might expect that typing dir t97\* would return the file t97.txt. Однако при вводе dir t97 @ no__t-1* возвращаются оба файла, так как подстановочный знак звездочки соответствует файлу t. txt2 в t97. txt с помощью краткого СОПОСТАВЛЕНИЯ имен T97B4

    1. txt. However, typing dir t97\* returns both files, because the asterisk wildcard matches the file t.txt2 to t97.txt by using its short name map T97B4

    1.TXT. Аналогичным образом, если ввести **Del t97 @ no__t-1***, будут удалены оба файла. Similarly, typing del t97\* would delete both files.

    Вопросительный знак (?): Используйте вопросительный знак в качестве замены одного символа в имени. Question mark (?): Use the question mark as a substitute for a single character in a name. Например, введите dir read. txt перечисляет все файлы в текущем каталоге с расширением txt, начинающиеся с «Read» и заканчивающиеся до трех символов. For example, typing dir read. txt lists any files in the current directory with the .txt extension that begin with «read» and are followed by up to three characters. К ним относятся Read. txt, Read1. txt, Read12. txt, Read123. txt и Readme1. txt, но не Readme12. txt. This includes Read.txt, Read1.txt, Read12.txt, Read123.txt, and Readme1.txt, but not Readme12.txt.

    Указание атрибутов для просмотра файлов Specifying file display attributes

    При использовании параметра/a с более чем одним значением в атрибуте dir отображает только имена этих файлов со всеми указанными атрибутами. If you use /a with more than one value in Attributes, dir displays the names of only those files with all the specified attributes. Например, при использовании /a с атрибутами r и -h (с помощью /a: r-h или /Ар-х) команда dir будет отображать только имена нескрытых файлов, доступных только для чтения. For example, if you use /a with r and -h as attributes (by using either /a:r-h or /ar-h), dir will only display the names of the read-only files that are not hidden.

    Указание сортировки имен файлов Specifying file name sorting

    Если указать более одного значения SortOrder , dir сортирует имена файлов по первому критерию, затем по второму критерию и т. д. If you specify more than one SortOrder value, dir sorts the file names by the first criterion, then by the second criterion, and so on. Например, если вы используете /o с значениями e и -s для SortOrder (с помощью /o: e-s или /ое-с), dir сортирует имена каталогов и файлов по расширению с максимальным первым, а затем Отображает окончательный результат. For example, if you use /o with the e and -s values for SortOrder (by using either /o:e-s or /oe-s), dir sorts the names of directories and files by extension, with the largest first, and then displays the final result. Сортировка по алфавиту по расширению приводит к тому, что имена файлов без расширений отображаются первыми, затем имена каталогов и имена файлов с расширениями. The alphabetic sorting by extension causes file names with no extensions to appear first, then directory names, and then file names with extensions.

    Использование символов перенаправления и каналов Using redirection symbols and pipes

    При использовании символа перенаправления ( > ) для отправки выходных данных dir в файл или канал ( | ) для отправки выходных данных команды dir в другую команду используйте /a:-d и /b для вывода списка только имен файлов. When you use the redirection symbol (>) to send dir output to a file or a pipe (|) to send dir output to another command, use /a:-d and /b to list the file names only. Можно использовать имя_файла с /b и /s , чтобы указать, что dir будет искать в текущем каталоге и его подкаталогах все имена файлов, соответствующие имени файла. You can use FileName with /b and /s to specify that dir is to search the current directory and its subdirectories for all file names that match FileName. Dir перечисляет только букву диска, имя каталога, имя файла и расширение имени файла (по одному пути на строку) для каждого найденного имени файла. Dir lists only the drive letter, directory name, file name, and file name extension (one path per line), for each file name it finds. Прежде чем использовать канал для отправки выходных данных команды dir в другую команду, необходимо задать переменную среды TEMP в файле Autoexec. NT. Before you use a pipe to send dir output to another command, you should set the TEMP environment variable in your Autoexec.nt file.

    Команда dir с различными параметрами доступна в консоли восстановления. The dir command, with different parameters, is available from the Recovery Console.

    Примеры Examples

    Чтобы отобразить все каталоги друг за другом, в алфавитном порядке, в расширенном формате и приостанавливать после каждого экрана, убедитесь, что корневой каталог является текущим каталогом, и введите: To display all directories one after the other, in alphabetical order, in wide format, and pausing after each screen, make sure that the root directory is the current directory, and then type:

    Dir перечисляет корневой каталог, подкаталоги и файлы в корневом каталоге, включая расширения. Dir lists the root directory, the subdirectories, and the files in the root directory, including extensions. Затем dir перечисляет имена подкаталогов и имена файлов в каждом подкаталоге дерева. Then, dir lists the subdirectory names and file names in each subdirectory in the tree.

    Чтобы изменить предыдущий пример так, чтобы в dir отображались имена и расширения файлов, но имена каталогов не указаны, введите: To alter the preceding example so that dir displays the file names and extensions, but omits the directory names, type:

    Чтобы напечатать список каталогов, введите: To print a directory listing, type:

    При указании PRNсписок каталогов отправляется на принтер, подключенный к порту LPT1. When you specify prn, the directory list is sent to the printer that is attached to the LPT1 port. Если принтер подключен к другому порту, необходимо заменить PRN на имя нужного порта. If your printer is attached to a different port, you must replace prn with the name of the correct port.

    Можно также перенаправить выходные данные команды dir в файл, заменив PRN именем файла. You can also redirect output of the dir command to a file by replacing prn with a file name. Можно также ввести путь. You can also type a path. Например, чтобы направить вывод dir в файл Dir. doc в каталоге Records, введите: For example, to direct dir output to the file dir.doc in the Records directory, type:

    Если DIR. doc не существует, команда dir создает его, если каталог записей не существует. If dir.doc does not exist, dir creates it, unless the Records directory does not exist. В этом случае появится следующее сообщение: In that case, the following message appears:

    File creation error

    Чтобы отобразить список всех имен файлов с расширением txt во всех каталогах на диске C, введите: To display a list of all the file names with the .txt extension in all directories on drive C, type:

    Dir отображает в расширенном формате алфавитный список совпадающих имен файлов в каждом каталоге, который приостанавливается при каждом заполнении экрана до тех пор, пока не будет нажата любая клавиша для продолжения. Dir displays, in wide format, an alphabetized list of the matching file names in each directory, and it pauses each time the screen fills until you press any key to continue.

    Функция Dir

    Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

    Примечание: Функция, метод, объект или свойство, описанные в данном разделе, отключаются, если служба обработки выражений Microsoft Jet выполняется в режиме песочницы, который не позволяет рассчитывать потенциально небезопасные выражения. Для получения дополнительных сведений выполните в справке поиск по словам «режим песочницы».

    Возвращает значение типа String, определяющее имя файла, каталога или папки, которое соответствует указанному шаблону, атрибуту файла либо метке тома диска.

    Функция Dir имеет следующие аргументы:

    Необязательный аргумент. Строковое выражение, определяющее имя файла. Может включать каталог (папку) и диск. Если путь не найден, возвращается строка нулевой длины («»).

    Необязательный аргумент. Константа или числовое выражение, сумма которого определяет атрибуты файла. Если этот аргумент опущен, функция возвращает файлы, соответствующие пути, но не имеющие атрибутов.

    Аргумент атрибутыаргумент может принимать следующие значения:

    (По умолчанию.) Определяет файлы без атрибутов.

    В дополнение к файлам без атрибутов определяет файлы, доступные только для чтения.

    В дополнение к файлам без атрибутов определяет скрытые файлы.

    В дополнение к файлам без атрибутов определяет системные файлы. Недоступно в macOS.

    Определяет метку тома. Если указан какой-либо другой атрибут, vbVolume игнорируется. Недоступно в macOS.

    В дополнение к файлам без атрибутов определяет каталоги (папки).

    Указанное имя файла является псевдонимом. Доступно только в macOS.

    Примечание: Приведенные здесь константы определены в Visual Basic для приложений (VBA), что позволяет заменять ими числовые значения в любом месте программы.

    В Microsoft Windows функция Dir поддерживает использование подстановочных знаков: звездочки ( *), заменяющей несколько символов, и вопросительного знака ( ?), заменяющего один символ, для указания нескольких файлов. В macOS такие знаки воспринимаются как допустимые символы имени файла и не могут использоваться в качестве подстановочных знаков.

    Так как macOS не поддерживает использование подстановочных знаков, для определения группы файлов используйте тип файла. Чтобы вместо имен файлов указать тип файла, воспользуйтесь функцией MacID. Например, следующий оператор возвращает имя первого текстового файла в текущей папке:

    Чтобы вывести следующий файл в папке, укажите пустую строку:

    При совместном использовании функций Mac >Dir в Windows возникнет ошибка.

    Любое значение аргумента атрибуты, превышающее 256, считается значением функции MacID.

    При первом вызове функции Dir необходимо определить аргумент путь, иначе возникнет ошибка. При определении атрибутов файла необходимо также указать аргумент путь.

    Функция Dir возвращает первый файл, имя которого соответствует значению аргумента путь. Чтобы найти другие файлы, имена которых соответствуют значению аргумента путь, снова вызовите функцию Dir, но без аргументов. Если других соответствий найдено не будет, функция Dir возвратит пустую строку («»). После того как получена пустая строка, необходимо указать аргумент путь при последующих вызовах функции, иначе возникнет ошибка. Вы можете изменить значение аргумента путь, не дожидаясь получения всех имен файлов, которые соответствуют старому значению аргумента путь. Однако нельзя осуществить рекурсивный вызов функции Dir. С помощью функции Dir с атрибутом vbDirectory невозможно последовательно возвращать подкаталоги.

    Совет. Так как имена файлов возвращаются не по порядку, можно сохранить их в массиве, а затем отсортировать его.

    Пример

    Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

    В этом примере функция Dir используется для того, чтобы убедиться в наличии определенных файлов и каталогов. В macOS диск по умолчанию обозначается «HD:», а части аргумента «путь» отделяются друг от друга двоеточиями вместо обратной косой черты. Кроме того, в macOS подстановочные знаки Windows воспринимаются как допустимые символы имени файла. Для указания группы файлов можно воспользоваться функцией MacID.

    Что такое код is_dir

    (PHP 3, PHP 4, PHP 5)

    is_dir — Определает, является ли файл директорией

    Описание bool is_dir ( string filename )

    Возвращает TRUE , если файл существует и является директорией. Если filename — это относительное имя файла, оно будет проверено относительно текущей рабочей директории.

    Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache() .

    Пример 1. Пример использования функции is_dir()

    ( is_dir ( ‘a_file.txt’ )) . «\n» ;
    var_dump ( is_dir ( ‘bogus_dir/abc’ )) . «\n» ;

    var_dump ( is_dir ( ‘..’ )); //на одну директорию выше
    ?>

    Результат выполнения данного примера:

    bool(false) bool(false) bool(true)

    Подсказка: Начиная с PHP 5.0.0 , эта функция также может быть использована с некоторыми упаковщиками url.

    CMD.EXE не поддерживает пути UNC в качестве текущей папки

    Увидеть такое сообщение можно при попытке запуска bat или cmd файла с сетевого ресурса. Всё дело в том, что CMD.EXE проверяет, используется ли имя UNC для текущего каталога и считается, что имя UNC может вызвать проблемы с дочерними процессами, запущенными с этой же консоли при выходе из консоли или остановке (об этом написано на сайте Microsoft). UNC (Universal Naming Convention) — это соглашение об именовании файлов и других ресурсов, дающее машинонезависимое определение местоположения ресурса, т.е. описание пути к файлу или папке с полным указанием имени сервера и имени сетевого ресурса.

    Для того, чтобы запретить CMD.EXE проверять UNC имена и запускать скрипт без вопросов, нужно сделать следующее:

    Способ 1. Запретить проверять путь UNC через редактор реестра.

    Запустить regedit.exe (нажать «Пуск», в поле «Найти программы и файлы» написать «regedit.exe»).

    Открыть ветку реестра: HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor

    Создать параметр типа DWORD (число) с наименованием DisableUNCCheck и установить его значение равное 1.

    Возможные значения этого параметра:

    • 0 — выводить предупреждающее сообщение и устанавливать текущий путь равный системной папке Windows.
    • 1 — не выводить предупреждающее сообщение и пытаться выставить текущий путь равный UNC пути.

    Способ 2. Выполнить команду, создающую параметр DisableUNCCheck

    Нажать «Пуск» -> «Выполнить» или запустить «Командную строку» и выполнить команду:

    reg add «HKCU\Software\Microsoft\Command Processor» /v DisableUNCCheck /t REG_DWORD /d 1

    После выполнения этой команды создастся параметр как и в способе 1-м.

    Теперь можно запускать bat или cmd скрипты из сетевого пути.

    Способ 3. Подключить сетевой путь как сетевой диск

    Для этого можно использовать такой код bat-файла с автоматическим подбором первой свободной буквы для сетевого диска:

    нужно поменять на свой путь с указанием имени компьютера и сетевого ресурса.

    После подключения сетевого диска я написал команду dir, чтобы убедиться, что путь поменялся, а вам нужно написать свои команды, которые будут выполняться для сетевого ресурса. После выполнения всех нужных действий, сетевой диск отключается командой net use %netdisk%: /d

    Форум PHP программистов ► PHP практикум ► PHP для знатоков

    Пейджер выключен!

    Сообщений: 134
    Пользователь №: 26883
    На форуме:
    Карма:

    Не пью :
    8 лет, 10 месяцев, 12 дней

    Здравствуйте, у меня как то странно работает функция is_dir, есть такой вот код:

    Этот код работает отлично, но когда я в get пишу другую директорию, не ту где лежит файл, он мне выдает что все что есть это папку, что за фигня? В директории где находится сам файл он нормально работает

    Ошибка в том, что ты проверяешь не так, нужно полный путь указывать как бы.

    Илон Маск рекомендует:  Что такое код postgres95 заключение
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL