Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从上层文件夹中选择_Php - Fatal编程技术网

Php 从上层文件夹中选择

Php 从上层文件夹中选择,php,Php,所以,我创建了一个网站,在public_html文件夹中有很多页面。这些页面从公共html文件夹的直接子文件夹加载图像和脚本 现在,我需要将所有这些文件移动到一个文件夹中(让我们将其命名为示例文件夹) 我的问题:有没有办法让“示例文件夹”中的页面访问“public_html”中其他文件夹中的图像和脚本,而不必编辑所有页面并在每个链接之前添加。/images/image.png 我不知道,一些htacces重写规则?一些php config.ini编辑 结构: public_html i

所以,我创建了一个网站,在public_html文件夹中有很多页面。这些页面从公共html文件夹的直接子文件夹加载图像和脚本

现在,我需要将所有这些文件移动到一个文件夹中(让我们将其命名为示例文件夹)

我的问题:有没有办法让“示例文件夹”中的页面访问“public_html”中其他文件夹中的图像和脚本,而不必编辑所有页面并在每个链接之前添加
。/
images/image.png

我不知道,一些htacces重写规则?一些php config.ini编辑

结构:

public_html
     images
     scripts
     sample-folder
         test.php

如果它们在这样的结构中(从它们听起来的样子):


然后您应该能够通过
。/images/filename.png
/images/filename.png
访问图像。与管理不同级别的目录结构相比,引用文档根目录是一个更容易的选择。

如果它们位于这样的结构中(听起来像这样):


然后您应该能够通过
。/images/filename.png
/images/filename.png
访问图像。引用文档根目录比管理不同级别的目录结构更简单。

这个.htaccess规则应该可以工作(假设启用了mod_rewrite):

这将接收对(不存在的)
images
目录中文件的所有请求,并在
sample文件夹/images/
中请求该文件

希望这就是你想要的

编辑:我错了,把问题看错了。只需对路径执行此操作,.php文件将正确引用图像,无论.php文件在目录中有多深:

您可以使用
。/relative/path
方法,位
/leading/forward/slash/approach.jpg
应该一直有效

编辑:如果更改链接不是您的选择,您可以将此.htaccess文件放入
示例文件夹
。它将把
示例文件夹中
图像
的所有请求路由到根目录中的
/images

RewriteEngine on
RewriteRule ^images/(.*)$ /images/$1
确保它进入
示例文件夹
或您选择的任何名称


请记住,这不是最好的解决方案。如果您现在开始滥用重写规则,您的应用程序很快就会陷入混乱。通常,我会设置一个常量、变量或编写一个php函数来解析URL和/或包含路径

如需了解更多信息,请参阅

这应该确保您的php包含从同一位置调用的get,无论您在目录树中的何处。通常,这将设置在某种引导文件或包含在所有脚本顶部的任何文件中

对于图像、javascript等,我强烈建议更改所有路径以使用前导正斜杠或绝对URL(最好在常量或函数调用中)。您已经了解了为什么为经常执行的简单任务(如在HTML中引用图像)编写函数是一个好主意

现在更改所有这些文件似乎很痛苦,但请放心,这将在以后为您节省大量的头痛。我建议类似的做法:

  • 在本地下载整个应用程序
  • 备份
  • 找到一个
  • 修复图像、javascript、css等的所有路径,现在使用前导正斜杠
  • 从现在开始考虑使用您自己的php函数,这将节省您再次执行类似操作的工作量

此.htaccess规则应该有效(假设启用了mod_rewrite):

这将接收对(不存在的)
images
目录中文件的所有请求,并在
sample文件夹/images/
中请求该文件

希望这就是你想要的

编辑:我错了,把问题看错了。只需对路径执行此操作,.php文件将正确引用图像,无论.php文件在目录中有多深:

您可以使用
。/relative/path
方法,位
/leading/forward/slash/approach.jpg
应该一直有效

编辑:如果更改链接不是您的选择,您可以将此.htaccess文件放入
示例文件夹
。它将把
示例文件夹中
图像
的所有请求路由到根目录中的
/images

RewriteEngine on
RewriteRule ^images/(.*)$ /images/$1
确保它进入
示例文件夹
或您选择的任何名称


请记住,这不是最好的解决方案。如果您现在开始滥用重写规则,您的应用程序很快就会陷入混乱。通常,我会设置一个常量、变量或编写一个php函数来解析URL和/或包含路径

如需了解更多信息,请参阅

这应该确保您的php包含从同一位置调用的get,无论您在目录树中的何处。通常,这将设置在某种引导文件或包含在所有脚本顶部的任何文件中

对于图像、javascript等,我强烈建议更改所有路径以使用前导正斜杠或绝对URL(最好在常量或函数调用中)。您已经了解了为什么为经常执行的简单任务(如在HTML中引用图像)编写函数是一个好主意

现在更改所有这些文件似乎很痛苦,但请放心,这将在以后为您节省大量的头痛。我建议类似的做法:

  • 在本地下载整个应用程序
  • 备份
  • 找到一个
  • 修复图像、javascript、css等的所有路径,现在使用前导正斜杠
  • 考虑
    RewriteEngine on
    RewriteRule ^images/(.*)$ /images/$1