За последние 24 часа нас посетили 62945 программистов и 1610 роботов. Сейчас ищут 958 программистов ...

Альтернатива функциям is_dir() и is_file()

Тема в разделе "PHP для новичков", создана пользователем Greg1978, 18 янв 2009.

  1. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Здраствуйте!
    Есть ли альтернативное какое то решение или алгоритм функциям is_dir(); is_file();.
    Есть мнение что использование этих функций, особенно в цикле, довольно сильно замедляют скорость работы скрипта вцелом.
     
  2. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Дисковые операции всегда небыстрые :)
    Если нужно делать несколько сотен вызовов при каждом запросе, то стоит поменять алгоритм

    А это сейчас узкое место в системе? Просто не стоит заниматься преждевременной оптимизацией :)
     
  3. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Ну по сути дела все таковые :)
     
  4. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Спасибо, развеяли сомнения. :)
     
  5. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Все относительно… относительно операции сложения - очень небыстрые :)
     
  6. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Извините, я не правильно поставил вопрос.
    Существует ли альтернатива этим функциям или как из пути например, c:\Documents and Settings\Администратор\Главное меню\fkds.exe понять это файл или c:\Documents and Settings\Администратор\Главное меню\ это каталог програмно.
    Допустим собран массив из изменённых(добавленных) элементов в цикле рассортировать его на файлы и каталоги не используя функций is_dir(); is_file();
    Спасибо!
     
  7. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    filetype()
    ?
     
  8. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Mr.M.I.T.
    filetype(); так же работает с файловой системой.

    У меня допустим есть код:

    PHP:
    1.  
    2. <?php
    3. foreach ($this->internalData as $val){
    4.     $num = strlen(trim($val))-1;
    5.     if ($val[$num] != '/' || $val[$num] != '\\') {
    6.         /* Обработка файлов иначе обработка каталога */
    7.         }
    8. ?>
    9.  
    Путь в массиве имеет вид c:\Documents and Settings\Администратор\Главное меню\
    У меня каталог определяется всё равно как файл!?
     
  9. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    А почему не использовать-то? Плохие функции?
     
  10. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    ну и что, там всё кешируется 10 раз...
     
  11. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Да наверное Вы правы - это у меня параноидальное состояние оптимизаци всё и вся. :)
    Просто будет синхронизироваться БД с локальной файловой системой, в которую вручную добавляют\удаляют каталоги и файлы.А их там ...... более 6000.Проверка будет происходить каждые 10 мин, из которых(наверняка) 9 мин будет работать модуль. :D
    Вот и выворачиваюсь как могу.
     
  12. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург