PHP readdir () Ошибка 500 Бесконечных циклов

У меня есть сценарий, который работает над сервером, за который я плачу. Однако, когда я пытаюсь установить тот же самый код под localhost, я получаю эту ошибку на бесконечном цикле.

PHP Предупреждение: readdir() ожидает, что параметр 1 будет ресурсом.

Я озирался, и некоторые люди говорят, что это - доступ папки, но он работает над удаленным сервером просто не localhost, где прочитано, и доступ для записи составляет 100%.

Это могло быть более аккуратно урегулированием в php.ini?

Я имею в виду кроме этого, я не вижу ничто больше, что вызовет это.

Это - код, где ошибка указывает. Но я не думаю, код, так как он работает над одним сервером, но не другим. Исправление я теперь загрузил этот код по hostgator и это хорошо работает также и по моему securesignup серверу. Обе работы хорошо. Только localhost получает эту ошибку.

 $upgraded_folder_path = $CFG['site']['project_path'] . "languages/" . $CFG['lang']['default'] . "/" . strtolower($value) . "/" . $upgraded_folder_name;
            if (!is_dir($upgraded_folder_path) && !($handle = opendir($upgraded_folder_path)))
                {
                while (false !== ($file = readdir($handle)))
                    {
                    if ($file == "." || $file == "..")
                        {
                        continue;
                        }
                    $file_name = $upgraded_folder_path . "/" . $file;
                    if (is_file($file_name))
                        {
                        require_once($file_name);
                        }
                    }
                closedir($handle);
                }
0
добавлено отредактировано
Просмотры: 2
nl ja de

1 ответы

Вы звоните readdir() только, когда это - инвалид ресурс, т.е. - когда это не открыло справочник:

 if (!is_dir($upgraded_folder_path) && !($handle = opendir($upgraded_folder_path)))

Можно только прочитать существующий справочник и тот, которого можно открыть. Если вы удаляете ! от обоих из условий в том , если - заявление, это должно хорошо работать. Хотя, также необходимо удостовериться, что справочник существует и у пользователя есть разрешение читать от него.

2
добавлено
@user1170117, Если справочник существует, он не вступит если заявление - поэтому никакая ошибка.
добавлено автор newfurniturey, источник
@user1170117 It' s возможный, что у различий в конфигурации между вашим localhost установка и тем на hostgator есть различные параметры настройки для показа ошибок. Попытайтесь включить ошибки на hostgator странице с error_reporting (E_ALL); и, если filestructure действительно - то же самое, необходимо видеть ошибки.
добавлено автор newfurniturey, источник
вероятно, потому что папка существует на одном сервере, но не на другом.
добавлено автор SDC, источник
Y это работал бы над сервером аллигатора хозяина? какие-либо идеи?
добавлено автор user1170117, источник
странный я расстегнул молнию на том же самом коде по обоим серверам. никакое различие, что так когда-либо.
добавлено автор user1170117, источник
удаление! решенный проблема. Огромное спасибо. Я также повторил папку модернизации, чтобы видеть, каково это было. Папка там, не действительно верный y, код не видит его.
добавлено автор user1170117, источник