GAE:file_get_contents()和静态文件

时间:2017-01-01 08:51:25

标签: php google-app-engine google-app-engine-php

我不是在各个位置更新相同的变量,而是解析文件并提取我需要的位。我正在寻找的是我的service-worker.js文件中的缓存名称。当我在本地开发时,我可以轻松地在目录结构中检索js文件。

当我将我的应用程序部署到GAE时,需要将服务工作者JS文件声明为静态,因此GAE会将其隐藏在某处。

有没有办法在不拨打URL的情况下访问此文件?

这是我目前使用的,它在DEV中工作正常:

<?php
function getCacheId() {
    $cache_id = "";
    $c = file_get_contents ( dirname ( __FILE__ ) . "/service-worker.js" );
    if (preg_match ( "/CACHE_NAME = '(.*)'/", $c, $matches ) !== false) {
        if (count ( $matches )) {
            $cache_id = trim ( $matches[1] );
        }
    }
    return $cache_id;
}
?>
<script>
    const CACHEID = "<?php echo getCacheId() ?>";
</script>

1 个答案:

答案 0 :(得分:3)

除了application_readable: true文件中的静态文件声明之外,您还需要配置app.yaml

来自Handlers element

  

<强> application_readable

     

可选。布尔。默认情况下,在静态文件处理程序中声明的文件   作为静态数据上传,仅供最终用户使用。他们   应用程序无法读取。如果此字段设置为true,则   文件也作为代码数据上传,以便您的应用程序可以阅读   他们。这两个上传都是根据您的代码和静态数据收取的   存储resource quotas