问题
问题是我的PHP脚本不会在前面检测到某些路径。但是有些会。很难解释,您将在代码中看到。
文件树
这是我的文件树
主文件夹
- 图像文件夹(内部包含另一个称为profileImages的文件夹,其中包含我正在寻找的图片。)
- index.php
- navbar.php
- index.css
- navbar.css
代码
$filename = "/image/profileimages/" . $_SESSION['profileid'] . ".jpg"; /*Sets the File Path*/
echo "
<div id=loginprofilebox>";
if (file_exists($filename)) {
echo "<img src=/image/profileimages/" . $_SESSION['profileid'] . ".jpg alt=PROFILEIMG>";
} else {
echo "<img src=/image/profileimages/defaultimage.png alt=UIMG>";
}
echo "<span id=loginprofilebox_details>
<h2><u>$_SESSION[profilename]</u></h2>
<h3 style=display:inline;>$_SESSION[profileid]</h3>
";
我到目前为止拥有的
现在,代码的第二部分起作用,即if语句中的语句。例如,echo "<img src=/image/profileimages/" . $_SESSION['profileid'] . ".jpg alt=PROFILEIMG>";
作品。但是,它将在没有文件路径正常工作的情况下激活。如果我将其放置而不是当前的文件路径,则$filename = "image/profileimages/" . $_SESSION['profileid'] . ".jpg"; /*Sets the File Path*/
然后它将起作用。在主页上。当我导航到其他页面时,它不再相对于图像。但是回顾一下,if语句中的语句仍然可以起作用,但是filepath本身行不通。
嗨约翰要检查文件,您需要使用绝对文件路径。
下面的一些类似的东西:
if ( file_exists( dirname(__FILE__)."/image/profileimages/" . $_SESSION['profileid'] . ".jpg") ) {
// true
}