[英]readfile vs. include
考虑以下:
我有一个大型项目,包括一个父网站,以及多个“子网站”,他们都共享相同的“核心/基础”内容..(图片,'包括',样式表等)
我的目的是让这些重复文件驻留在一个特定的服务器上,并在需要时始终引用相同的路径。
这将导致任何修改的“核心”文件(图像,“包括”,样式表等)影响所有交叉引用。
最好的方法是什么?
目前,(可能是暂时的)我正在使用以下.. <?php readfile('http://remotepath.com/_core/includes/top_nav.php'); ?>
<?php readfile('http://remotepath.com/_core/includes/top_nav.php'); ?>
这是一次尝试,最近的解决方案<?php include('/filepath/'); ?>
<?php include('/filepath/'); ?>
这带来了一个明显的问题 - 使用以下内容来定位当前页面,将不再有效。其次,是通过'readfile'检测内容是不安全的?
<?php $url = basename($_SERVER['SCRIPT_FILENAME']); echo $url; ?>
这当然会返回该文件'top_nav.php'
的路径
如何使用类似的方法获取网址/网址的值?
任何见解将不胜感激! 干杯。
不要这样做。
将图像,脚本和样式表放在另一台服务器上很好。 实际上,这实际上是一件好事 - 这意味着您可以同时下载更多文件,这将加快您网站的加载速度。 但是,对远程文件进行include
调用会非常具有破坏性。 这是因为这使您的服务器向远程服务器发出HTTP请求。 虽然这种情况发生(并且可能很快就需要一秒钟或更长时间),但您的脚本根本不会执行任何操作 。 它会极大地减慢您的网站速度。
通过各种方式在站点之间共享文件。 但是,我强烈建议您在呈现页面时不要这样做。 您可能希望定期从父服务器将文件下载到子服务器上,然后通常从本地文件系统中包含它们。
NB您可以通过HTTP调用include
或readfile
这一事实并不意味着您应该这样做 。
不要远程包含源文件。 如果要在许多不同的服务器上使用相同的PHP库副本,可以通过几种简单的方法来实现。 您可以设置一个rsync,它会定期将所有更改从主服务器复制到从属服务器,或者将共享文件放入git这样的源代码控制系统,然后在每个从属服务器上执行“ git pull”命令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.