繁体   English   中英

读取文件与包含

[英]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调用includereadfile这一事实并不意味着您应该这样做

不要远程包含源文件。 如果要在许多不同的服务器上使用相同的PHP库副本,可以通过几种简单的方法来实现。 您可以设置一个rsync,它会定期将所有更改从主服务器复制到从属服务器,或者将共享文件放入git这样的源代码控制系统,然后在每个从属服务器上执行“ git pull”命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM