2015-11-19 3 views
0

PHP scandir() в Google Apps Engine возвращает только файлы «.php».PHP scandir() в Google Apps Engine

Например:

My directory structure 

-- index.php 
-- Readme.txt 
--CSS 
-----abc.css 
-----index.php 
-----a.txt 

Но возвращать только файлы '.php'

app.yaml

handlers: 

- url: /(.+\.(css|js|xml|txt)) 
    static_files: \1 
    upload: (.+\.(css|js|xml|txt)) 

- url: /(.*\.(gif|png|jpg|ico|jpeg)) 
    static_files: \1 
    upload: (.*\.(gif|png|jpg|ico|js|css|jpeg)) 

- url:/
    script: index.php 

- url: /(.+\.php)$ 
    script: \1 

- url: /.* 
    script: Error/404.php 



function listFolderFiles($dir){ 
    $ffs = scandir($dir); 
    echo '<ol>'; 
    foreach($ffs as $ff){ 
     if($ff != '.' && $ff != '..'){ 
      echo '<li>'.$ff; 
      if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff); 
      echo '</li>'; 
     } 
    } 
    echo '</ol>'; 
} 

listFolderFiles('Main Dir'); 


Output: 
1.CascadingStyleSheets 
    1.index.php 

В локальном хосте его работает нормально. то есть. возвращает все файлы и папки

Как я могу решить эту проблему? Любые решения

Заранее спасибо

ответ

1

В .yamlstatic file handlers config doc:

Для повышения эффективности, App Engine хранит и обрабатывает статические файлы отдельно из файлов приложений. Статические файлы недоступны в файловой системе приложения . Если у вас есть файлы данных, которые должны быть прочитаны кодом , файлы данных должны быть файлами приложений, а не должны соответствовать статическому шаблону файла.

Посмотрите ниже для опции application_readable:

application_readable

Дополнительно. По умолчанию файлы, объявленные в обработчиках статических файлов, являются , загруженные как статические данные и предназначены только для конечных пользователей, они не могут читать приложением. Если для этого поля установлено значение true, файлы также загружаются как данные кода, поэтому ваше приложение может их прочитать. Обе загрузки взимаются с вашего кода и ресурса хранения статических данных квот.

Возможно, вы захотите объявить отдельные обработчики для статических файлов, которые вам нужны в вашем приложении, и использовать для них параметр application_readable.

Вот пример (из одного из моих питонов приложений):

- url: /buildin.py 
    static_files: scripts/buildin.py 
    upload: scripts/buildin.py 
    application_readable: true 
    secure: always 
+0

Спасибо Дэну за подробное объяснение – user2214646

+0

При развертывании ошибка произошла. «Неожиданный атрибут« application_readable »« – user2214646

+0

есть ли у вас пример? – user2214646

Смежные вопросы