【问题标题】:readfile from a partial url or something like that从部分 url 或类似的东西读取文件
【发布时间】:2014-02-28 23:15:43
【问题描述】:

首先,我对 php 的了解基本为零,我通常使用 jsp,但我必须为我们拥有的 wordpress 网站修改页脚。

该网站目前托管在 www.mysite.com/wordpress 并具有以下行:

<?php readfile('http://www.mysite.com/css-imports.jsp'); ?>

因为我在开发中这样做,所以我不得不将其更改为:

<?php readfile('http://local.mysite.com/css-imports.jsp'); ?>

当我这样做时,wordpress url 是 local.mysite.com/wordpress。

我如何从 php 中插入 local.mysite.com 或 www.mysite.com 基于提供页面的域?

谢谢。

【问题讨论】:

  • 当它是你自己的服务器时,为什么不直接从磁盘/本地文件系统中包含它呢?
  • 服务器是一个jsp服务器,所以它必须由java服务器处理,至少这就是我认为我们这样做的原因。

标签: php


【解决方案1】:

我想这会为我做尝试

  $_SERVER[HTTP_HOST]

【讨论】:

    【解决方案2】:

    我通常只是修改我的主机文件。我在本地使用了太多不同的客户系统(包括 WordPress 和 Drupal),似乎我见过的每个系统都有不引用框架的基本 url 变量或使用硬编码的绝对路径的模板/主题/插件,或者使用不适合我的服务器的相对路径,或者只是一些东西

    当您完成开发并需要将其加载到生产环境中时,只需注释掉主机条目即可。

    /etc/hosts

    # map mysite.com to local host for dev reasons.
    www.mysite.com 127.0.0.1
    

    【讨论】:

      【解决方案3】:

      您可以设置一个简单的配置文件,该文件在本地服务器和生产服务器之间会有所不同。您需要做的就是确保在将新代码推送到服务器时不包含本地副本。

      serverconfig.php的本地副本:

      <?php
      define('SITE_HOSTNAME','http://local.mysite.com/');
      ?>
      

      serverconfig.php的异地复制:

      <?php
      define('SITE_HOSTNAME','http://www.mysite.com/');
      ?>
      

      其他一切只需要包含配置文件并引用其中定义的常量。

      <?php
      require_once 'serverconfig.php';
      ... code ...
      readfile(SITE_HOSTNAME. 'css-imports.jsp'); 
      ?>
      

      注意:如果您只是读取位于同一网络服务器上的静态文件,则应仅引用本地文件 readfile('/css-imports.jsp');

      【讨论】:

      • 应该引用本地文件,但 Wordpress 不会 - 他们似乎坚持在整个应用程序中使用绝对 URL
      【解决方案4】:

      您需要一个基本 URL 变量(我确信 Wordpress 会有一个,大多数框架都有)。 Have a look at this answer here.

      在与您的服务器相关的域中硬编码不是一个好主意,因为一旦您移动代码 - breaky breaky。所以要使用他们的例子,你会做这样的事情:

      <?php readfile(get_bloginfo('wpurl') . '/css-imports.jsp'); ?>
      

      可能需要尝试一下,看看 Wordpress Dev Docs,如果不适合你的话:

      【讨论】:

      • 谢谢,所有这些函数都返回了正确的服务器,但其中包括 /wordpress。我最终用$_SERVER[HTTP_HOST]修复它
      猜你喜欢
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 2020-04-26
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 1970-01-01
      相关资源
      最近更新 更多