【问题标题】:How to auto level up image locations如何自动升级图像位置
【发布时间】:2020-08-20 20:22:58
【问题描述】:

我是一个严肃的低级 PHP 用户,我掌握了一定程度的基础知识,并且我在我的网站上使用了 include。我几乎可以肯定我的要求是可能的,但不知道该怎么做。

我的网站中有一个嵌套文件夹用于我的电子商店,因此我在商店中的 php 包含文件设置为使用 ../inc/filename 但未找到这些文件中的本地引用,因为它们每个都必须是也升级了这意味着我必须为商店创建一个单独的包含目录,并且对主要包含的任何更改也需要在商店包含中完成,从而使工作翻倍。我更愿意传递该选项,并设法为我网站上的所有内容使用单个包含目录。

另外,由于它是一个图片网站,我的目录中已经有数百张图片。我非常希望不必为每张图片都使用 '../',它会混淆代码,我更喜欢干净的代码。

我正在尝试找到一种方法来使用 PHP 来定义或设置或搜索或其他任何方法,以使它们自动找到正确的目录,而不必担心升级所有内容。这样,将找到包含文件,并且所有本地 href 链接仍然有效,并且所有 'img' 标签都将找到正确的目录,而无需使用 '../img/filename' 等。

我知道在现场,我可以只使用/inc/filename/img/filename,但在本地 MAMP 上我得到错误并且它不适合良好的本地主机开发设置。

如果有其他方法,我愿意接受所有关于实现这一目标的清洁高效方法的建议。如果您不介意,请举例说明它是如何工作的,我是一个非常善于学习的人。

测试站点:Photo Store。我会不断更新它,所以当你使用它时它可能处于不同的状态,虽然主站点已经完成,但它还处于开发的早期阶段。

我的 PHP 页面标题示例,这是来自我的主商店页面的商店目录。请注意,我已经在 store 目录中创建了一个单独的包含目录,但更愿意只引用上一级的主包含目录,提供了两者的示例。

`<?php
require('../../photoconfig.php');
ob_start();

$page_name = "Shop";
$page_id = "shop";

//using main include directory with level up as one option
include_once '../inc/top.php'; //doctype to head close
include_once '../inc/header-nav.php'; //body thru nav close

//using store include directory as second option
include_once 'str_inc/top.php'; //doctype to head close
include_once 'str_inc/header-nav.php'; //body thru nav close

 error_reporting(E_ALL);  // error reporting only used in development
?>`

非常感谢您,祝您有美好的一天!

丽莎·罗斯

【问题讨论】:

    标签: php


    【解决方案1】:

    $_SERVER['DOCUMENT_ROOT'] 应该是您正在寻找的 (like here)。 $_SERVER variable 是 PHP 创建的全局变量,类似于 $_POST 或 $_GET(除了它总是填充)。

    例子:

    <?php
    require($_SERVER['DOCUMENT_ROOT'] . '/photoconfig.php');
    ob_start();
    

    【讨论】:

    • 注意:$_POST$_GET 也“始终存在”,但如果它们没有参数,则返回空数组。
    • 谢谢!我想对我的问题进行一些扩展,遗憾的是,我没有将其包含在我原来的问题中。这是我当前的配置文件。这会影响我想要做的事情吗? ` //设置对根文件夹的引用 define('SITE_ROOT', dirname($_SERVER['PHP_SELF'])); //设置图片文件夹路径 define('IMG_DIR', SITE_ROOT . '/i/'); ` 抱歉,我不知道为什么我什至没有考虑添加其中的内容。这是我在学校得到的模板,我很少更改它。进一步阅读后,我认为这是我应该进行更改的地方,对吗?谢谢!
    • 你在正确的轨道上,虽然我认为$_SERVER['DOCUMENT_ROOT'] 实际上比$_SERVER['PHP_SELF'] 更适合你的需求。如果您在配置文件中有该配置文件,并且配置文件加载到您需要进行这些调用的每个 PHP 文件中,您可以简单地执行以下操作:require(SITE_ROOT . '/photoconfig.php'); 用于大多数事情,&lt;img src="&lt;?php echo IMG_DIR; ?&gt;image-name.jpg"&gt; 用于您的图像跨度>
    猜你喜欢
    • 2020-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 2017-12-02
    • 2011-07-24
    • 2021-07-31
    • 1970-01-01
    相关资源
    最近更新 更多