Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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_Html - Fatal编程技术网

Php 服务器索引文件的第一个条目上的相对路径

Php 服务器索引文件的第一个条目上的相对路径,php,html,Php,Html,在Apache服务器索引页面的第一个条目中,我创建了一个水平标题,其中包括重新加载主页的链接“Home”。在那个页面上,我有一列到其他页面的链接 文件序列为: server/new_index.php <!-- WEB server entry point --> <?php #echo getcwd(), "\n"; $path_parts = pathinfo(getcwd()); chdir("php2"); #This is really our current

在Apache服务器索引页面的第一个条目中,我创建了一个水平标题,其中包括重新加载主页的链接“Home”。在那个页面上,我有一列到其他页面的链接

文件序列为:

server/new_index.php

<!-- WEB server entry point -->
<?php
#echo getcwd(),    "\n";
$path_parts = pathinfo(getcwd());
chdir("php2");
#This is really our current home page
include ('MainPage.php');
?>

MainPage.php以以下内容开头:

<?php # Hollywood Controls - MainPage
$page_title = 'Hollywood Controls';
include ('../inc/header.inc.htm');
?>
<?php
echo "1 ",getcwd() . "<br>";
include ('../inc/Categorymenu.inc.htm');
?>

header.inc.htm包括:

<div id="widemenu">
    <ul>
    <li><a href="../php2/MainPage.php">Home</a></li>
    <li><a href="../php/AirCannons.php">Halloween Products</a></li>
<!--
    <li><a href="../php/Contact.php">Halloween Products</a></li>
    <li><a href="../php/AirCannons.php">Halloween Products</a></li>
    <li><a href="../php/Featured.php">Halloween Products</a></li>
    <li><a href="../php/OrderingInfo.php">Ordering</a></li>      -->
    <li><a href="../php/AboutUs.php">About Us</a></li>
    <li><a href="../php/Contact.php">Contact Us</a></li>
    <li><a href="../php/Privacy.php">Privacy</a></li>
    </ul>
    <?php include('../pp_buttons/view_cart.htm');?>

</div>

Categorymenu.inc.htm包含:

<?php
echo "3 ",getcwd() . "<br>";
#chdir("..\php2");
?>
<div id="tblmenu">
    <table cellspacing="0" cellpadding="0" border="0">
      <tbody>
        <tr>
        <td align="center" colspan="2">Category</td>
        </tr>
        <tr>
        <td align="center" width="85%"><a href="PubArticles.php">Published Articles</a></td>
        <td>(1)</td>
        </tr>
        <tr>
        <td align="center" width="85%"><a href="TekScopeBattery.php">Equipment Repair</a></td>
        <td>(1)</td>
        </tr><tr>
        <td align="center" width="85%"><a href="">Tear-downs</a></td>
        <td>(0)</td>
        </tr>
        <tr>
        <td align="center" width="85%"><a href="Software.php">Software</a></td>
        <td>(1)</td>
        </tr>
        <tr>
        <td align="center" width="85%"><a href="">PHP Scripts</a></td>
        <td>(0)</td>
        </tr>
      </tbody>
    </table>
</div>

类别
(1)
(1)
(0)
(1)
(0)
在第一个页面上,load href=“pubactures.php”指向//server/pubactures.php(这是不正确的,因为当前目录是“php2”)

如果我通过单击水平标题中的“主页”按钮重新加载主页,我会得到不同的结果。现在href=“pubactures.php”指向//服务器/php2/pubactures.php(正确!)

我想我已经从完整的代码中筛选出了相关的代码。echo getcwd()表示我在第一个条目和后续条目中处于“php2”状态

我错过了什么


您可以在www.hollywoodcontrols.com上看到这一点,问题是您使用
include('../inc/Categorymenu.inc.htm')在
MainPage.php
上输出表。这包括页面上的文件,这与将该页面的内容复制到
MainPage.php
中基本相同。因此,这些链接是相对于
MainPage.php
,而不是
Categorymenu.inc.htm

考虑到表链接将由两个不同目录中的两个文件加载,它们将有两个不同的相对路径。解决此问题的最佳方法是通过添加尾部斜杠,使表链接相对于根:

<a href="/php2/PubArticles.php">


希望这有帮助

好吧,现在当你指出它的时候,它是如此明显!我当然感到困惑,一个独立的观点对此一无所知。很高兴听到这个答案为你解决了这个问题。请不要忘记点击投票按钮下方的灰色复选框,将解决方案标记为正确——这会将其从“未回答问题”队列中删除,并为提问者和回答问题者赢得声誉。当然,这么说,你没有义务把我的答案(或任何其他答案)标记为正确,尽管这确实有助于保持事情顺利进行:)