Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Непонимаю я этот dir() 
:(
    Опции темы
R.M.
Дата 1.10.2005, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



Ест такой скрипт

Код

<?php

    $file_names = array();
    $readdir = dir(".");
    $i = 0;
    while ($file = $readdir->read()) {
        if($file  != ".URL") {
        if (is_file($file)) {
            $file_names[$i] = $file;
            $i++;
           }
        }
    }
    $readdir->close();
    sort($file_names);

    for ($i = 0; $i < sizeof($file_names); $i++) {
        echo "".$file_names[$i]."<br>";
    }

?>


Выводит все файлы из директории, всё просто отлично пока я не меняю директорию.
Как только в dir() я ставлю любую другую директорию он не выводит из неё файлы, только если в той директории находятся файлы mysql.php или index.php он вывоит эти два файла.

Непонимаю кто из нас глючит, помогите разобраца


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
[xoodo]
Дата 1.10.2005, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 9.3.2003

Репутация: 1
Всего: 4



Цитата
Ест такой скрипт
Код

$readdir = dir(".");
/*...*/
while ($file = $readdir->read())
/*...*/
$readdir->close();

Что за dir()? Что за ООП? Зачем? Почитай про readdir() и зацени пример. Нет смысла забивать гвозди швейцарским ножом только потому, что он универсальный. ИМХО.
PM   Вверх
R.M.
Дата 1.10.2005, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



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


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
[xoodo]
Дата 1.10.2005, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 9.3.2003

Репутация: 1
Всего: 4



Цитата
Ещё один который только ссылки на мануалы может давать, может ты сочтёш это за мою лень, но я те отвечу, что если я задю вопрос, наверно у меня есть причины на то чтобы не читать мануалы а спрашивать здесь

Дело конечно хозяйское, но причин не читать мануалов в природе нет. Удачи.
PM   Вверх
Mal Hack
Дата 1.10.2005, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Куксикус ну как ты понять не можешь.. Код за другого человека пишется только за деньги !!!
Тебе же помогают писать, помогают разобраться, понять суть. А то так и будешь всю жизнь спрашивать при первом глюке что у тебя не так. Ну как ты не понимаешь, что лень это не для программиста... Ну сколько можно.. Неужто тебе не хочется самому попробовать, поюзать а потом с чувством гордости пусть и через две недели сказать: "Я это сделал"....

Цитата
            $file_names[$i] = $file;
            $i++;

Что мешает написать $file_names[] = $file?


Цитата
Ещё один который только ссылки на мануалы может давать, может ты сочтёш это за мою лень, но я те отвечу, что если я задю вопрос, наверно у меня есть причины на то чтобы не читать мануалы а спрашивать здесь

Причин не читать мануал - нет. По крайней мере у тебя их ЕЩЕ быть не может...

Цитата
, 1.10.2005,  13:48]Что за dir()? Что за ООП? Зачем? Почитай про readdir() и зацени пример. Нет смысла забивать гвозди швейцарским ножом только потому, что он универсальный. ИМХО.

Согласен. При условии, что номинально этот объект потом не используется.

Работай через readdir и не парься.


Цитата
Как только в dir() я ставлю любую другую директорию

А как ты ее ставишь?
PM ICQ   Вверх
R.M.
Дата 2.10.2005, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



Mal Hack

Цитата(Mal @ 1.10.2005, 16:51)
Ну как ты не понимаешь, что лень это не для программиста... Ну сколько можно.. Неужто тебе не хочется самому попробовать, поюзать а потом с чувством гордости пусть и через две недели сказать: "Я это сделал"....


В том то и дело что он у меня работал с другими каталогами а потом я чёто намудрил и он перестал работать, я посидел день, попытался сделать обратно, еполучилось решил спросить.
Я не такой ленивый как ты думаеш smile

Цитата(Mal @ 1.10.2005, 16:51)
Причин не читать мануал - нет. По крайней мере у тебя их ЕЩЕ быть не может...

Причина одна есть точно, сколько раз я не ходил по ссылкам а мануалы либо они были вобще не в тему либо я непонимал смысла т.к. там было не то что мне нужно

Цитата(Mal @ 1.10.2005, 16:51)
А как ты ее ставишь?

ставлю вместо

Код

dir(".")

Код

dir("./test/")


Это сообщение отредактировал(а) Куксикус - 2.10.2005, 00:13


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 2.10.2005, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата
Причина одна есть точно, сколько раз я не ходил по ссылкам а мануалы либо они были вобще не в тему либо я непонимал смысла т.к. там было не то что мне нужно

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


ЗЫ: А все-таки слабо через readdir по человечески сделать?

Цитата
ставлю вместо

Полный путь пиши.
PM ICQ   Вверх
R.M.
Дата 2.10.2005, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



Цитата(Mal @ 1.10.2005, 16:51)
$file_names[] = $file

ничиво не меняет


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 2.10.2005, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Куксикус еще раз пишу:

Цитата(Mal @ 2.10.2005, 01:17)
ЗЫ: А все-таки слабо через readdir по человечески сделать?


Цитата(Mal @ 1.10.2005, 16:51)
Работай через readdir и не парься.


Цитата
, 1.10.2005,  13:48]Что за dir()? Что за ООП? Зачем? Почитай про readdir() и зацени пример. Нет смысла забивать гвозди швейцарским ножом только потому, что он универсальный. ИМХО.


PM ICQ   Вверх
R.M.
Дата 2.10.2005, 02:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



Mal Hack

Я и так через readdir, если это не по человечески, может подскажеш как будет по человечески7 Я друних способов незнаю


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 2.10.2005, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата
Я и так через readdir,

У меня зрение 100%.

У тебя - DIR, а не READDIR http://php.net/readdir
PM ICQ   Вверх
-=Ustas=-
Дата 3.10.2005, 03:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата
Mal Hack
Я и так через readdir, если это не по человечески, может подскажеш как будет по человечески7 Я друних способов незнаю

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


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
R.M.
Дата 3.10.2005, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



-=Ustas=-


Цитата
Попробуй сам додуматься, я уверен, тебе понравится... smile

Хорошо smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
R.M.
Дата 3.10.2005, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



Сделал вот так
Код

<?php

if ($handle = opendir('./test/')) {

   while (false !== ($file = readdir($handle))) {
if($file  != "." AND $file  != "..") {
if (!is_dir($file)) {
       echo "$file<br>";
}
   }
}

   closedir($handle);
}
?> 


только вот неуверен в правильности строки
Код

if (!is_dir($file)) {

Но зато всё работает как надо (эта строка отбрасывает папки)


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 3.10.2005, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



В принципе, в твоем случае, правильнее конечно будет использовать
Код

if (is_file($file)) {


Добавлено @ 10:46
И вот это условие нужно убрать:
Код

if($file  != "." AND $file  != "..") {

Оно там ни к чему.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0750 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.