Не могу заставить opendir () работать, чтобы спасти мою жизнь

#php #macos

#php #macos

Вопрос:

Я давний разработчик (C / C / Objective-C / Pascal / assembler), который, наконец, решил, что пришло время изучать PHP.

Я пишу несколько ОЧЕНЬ простых скриптов, чтобы попытаться передать данные в приложение, которое я разрабатываю на Objective C для iOS.

Сейчас я ввожу URL-адрес для вызова моего скрипта в моем браузере, а затем просматриваю результат.

У меня есть код, который получает имя каталога из запущенного скрипта. Я могу добавить подкаталог («/ files») в этот каталог, а затем добавить имя файла из вызывающего URL, чтобы создать полный путь к моему файлу (например, «/ Library/ Server/Web/Data/Sites/Default/files/image.png»)

Если я установлю тип заголовка и использую readfile($filePath) , я могу отобразить изображение в окне моего браузера, поэтому я знаю, что путь правильно сформирован.

Мой следующий шаг — перебрать все файлы в каталоге «/files». Я хочу создать сообщение JSON, которое сообщает моему приложению о содержимом файла.

Однако я не могу заставить команду @ # $ @# $ opendir работать, чтобы спасти мою жизнь.

Если я выполню эту строку:

 $handle = opendir($files_dir)
  

Мой скрипт не запускается. Я знаю, что значение в $files_dir правильно сформировано, потому что, как я уже сказал, я могу использовать его для построения пути к файлу и отображения этого файла без проблем.

Я пытался добавить балансирующий вызов closedir($handle) , но, похоже, это не имеет значения.

Я запускаю свой скрипт на сервере OSX от Apple. Я могу запустить его, вызвав его из браузера или выполнив команду GET из моего тестового приложения в iOS … если я не попытаюсь использовать opendir() .

Что здесь может быть не так ?!? Я очень расстраиваюсь.

Комментарии:

1. КАК происходит сбой? мы не можем помочь вам всего одной строкой кода.

2. Возможно, вы захотите рассмотреть лучшее название.

3. Есть ли какие-либо сообщения об ошибках от этого? Добавьте ini_set('display_errors',1); в начало вашего скрипта, и они должны появиться, если их еще нет.

4. Вы хотите сохранить файл? opendir для этого не требуется

5. @MarcB, сбой, так как я не получаю никаких выходных данных в окне моего браузера. Частично проблема в том, что я привык работать с IDE и отладчиком исходного кода. Я не знаю, как определить, как это происходит. Я просто не получаю выходных данных.

Ответ №1:

Хорошо, я чувствую себя действительно глупо. Мне не хватало точки с запятой. Это была синтаксическая ошибка, простая и понятная. Вздох…