Php 从部分url或类似的内容读取文件

Php 从部分url或类似的内容读取文件,php,Php,首先,我知道基本上零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'); ?>

首先,我知道基本上零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(基于为页面提供服务的域)


谢谢。

您需要一个基本URL变量(我肯定Wordpress会有一个,大多数框架都有)

当一个域与你的服务器相关时,用这样的方式硬编码它不是一个好主意,因为一旦你移动了你的代码,它就会变得很脆弱。以他们为例,你可以这样做:

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

可能需要玩一玩,看看Wordpress开发文档,如果不适合,可以找到适合您的:


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

serverconfig.php的本地副本

<?php
define('SITE_HOSTNAME','http://local.mysite.com/');
?>
<?php
define('SITE_HOSTNAME','http://www.mysite.com/');
?>
其他所有内容只需要包含配置文件并引用其中定义的常量

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


注意:如果您只是读取位于同一Web服务器上的静态文件,那么应该只引用本地文件,
readfile('/css imports.jsp')

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

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

/etc/hosts

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

我想这会对我有帮助

  $_SERVER[HTTP_HOST]

当它是您自己的服务器时,为什么不直接从磁盘/本地文件系统中包含它?服务器是一个jsp服务器,因此它必须由java服务器处理,至少这就是我认为我们这样做的原因。您应该引用本地文件,但Wordpress没有-他们似乎坚持在整个应用程序中使用绝对URL谢谢,所有这些函数都返回了正确的服务器,但其中包括/wordpress。最后我用
$\u服务器[HTTP\u主机]