После работы с директорией она не закрывается ???

Тема в разделе "PHP", создана пользователем Inviseble_Demon, 4 июл 2013.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    350
    PHP:
    function GetListFiles($dir)
    {
        if (
    is_dir($dir)) {
            
    $fdir opendir($dir);
            
    $files = array();
            while ((
    $file readdir($fdir)) !== false)
                if (
    $file != "." and $file != ".." and is_file($dir DS $file))
                    
    $files[] = $file;
            
    closedir($fdir);
            return 
    $files;
        }
        return 
    false;
    }
    Вопрос... Какова черта после вывода листинга из монтированной папки я её отмонтировать не могу.
    Вроде закрыл папку че ему надо ? То что именно это не дает 100%
     
  2. gothmog

    gothmog Постоялец

    Регистр.:
    18 июн 2011
    Сообщения:
    60
    Симпатии:
    24
    Дело точно в данной процедуре? По окончанию работы скрипта все норм или проблема остается? Если так, то разве что библиотечная функция is_dir не закрывает за собой хендл, ибо иное все правильно.
     
  3. obli

    obli Создатель

    Регистр.:
    1 май 2013
    Сообщения:
    45
    Симпатии:
    2
    посмотри есть ли ссылки на папку как то так find -type l если нет то нужно смотреть в сторону процесов и сравнивать до начала скрипта и после
     
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.403
    Симпатии:
    1.184
    PHP - cкрипт отработал и закрылся? Тогда все открытые файлы и т.п. будет закрыто, даже если ты забыл это сделать в скрипте.
     
  5. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    350
    Блин даже забыл про тему ((
    Простите и спасибо всем.

    latteo
    нет скрипт не отработал в том и проблема, мне в этом же скрипте нужно после мантирования покопаться в папке и отмантировать её но при отмантировании ругается на то что драйвер занят.
    Хотя вроди все ресурсы освободил. А вот после отработки скрипта все как по волшебству начинает работать. Вот и возник вопрос что за бред...

    gothmog
    Если не юзать функцию то все работает. Следовательно да именно там проблема.

    obli
    А от куда ему взяться ? Я ничего не создаю а папке 1 мин максимум жизни...


    В итоге я забил на это все дело потому как папка все равно монтируется через exec. Получил текст через ls и пропарсил функцией от класа ftp ))
    Но и тут меня ждал баг с вилами. В итоге удалить папку я так и не смог хотя и ругательств при отмантировании не было. Тоесть папка отмантировалась но при удалении орет что она не пустая. Далее скрипт закрывается и папка висит уже пустая и отмантирования. Бред кароче.

    Тему думаю можно закрывать. Проблема явно кроется хрен пойми где и решение выходит из рамок целесообразности.
     
  6. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    а зачем и зобретать функцию GetListFiles ??
    есть же встроенная scandir http://php.net/manual/en/function.scandir.php

    может быть с нею таких траблов не будет
     
Статус темы:
Закрыта.