现在我的文件结构如下所示:
root
/images
/banner.png
/dir
/file.php
/index.php
我在file.php
工作。我正在尝试访问banner.png
,到目前为止我有这个:
<?php echo dirname( dirname(__FILE__) ) . '/' . $recent1["Image"];?>
$recent1["Image"]
为images/banner.jpg
。
当我以纯文本形式回显代码时,此路径显示:
/home/htdocs/images/banner.png
我觉得这是正确的,但我不确定它是否与
完全相同(root)/images/banner.png
同样,我觉得这两个是相同的,但是当我将上面显示的代码放在src
attr的img
标记时,图像不显示。它显示了破碎图片图标的东西。是的,我确信images/banner.png
存在。感谢您的帮助。
修改:我也可以在index.php
中添加,只使用$recent1["Image"]
确实会显示图片。
答案 0 :(得分:0)
尝试使用其他Magic constant
我认为你正在寻找
public class Employee {
private State state;
public Memento save() {
return new Memento(state);
}
public void revert(Memento memento) {
this.state = memento.state;
}
public static class Memento {
private final State state;
public Memento(State state) {
this.state = state;
}
}
public static class State {
private String name;
private String phone;
}
}
public class Caretaker {
private Stack<Employee.Memento> history;
public Caretaker() {
history = new Stack<>();
}
public void addMemento(Employee.Memento memento) {
history.push(memento);
}
public Employee.Memento getMemento() {
return history.pop();
}
}
public class UndoHandler {
Employee employee;
Caretaker caretaker;
public void snapshot() {
caretaker.save(employee.save());
}
public void undo() {
employee.revert(caretaker.getMemento());
}
}
使用您提供的示例
__DIR__
答案 1 :(得分:0)
而不是__FILE__
,您应该使用$_SERVER['PHP_SELF']
。 documentation解释说:
当前正在执行的脚本的文件名,相对于文档根目录。例如,地址http://example.com/foo/bar.php的脚本中的$ _SERVER ['PHP_SELF']将为/foo/bar.php。
<?php echo dirname( dirname($_SERVER['PHP_SELF']) ) . '/' . $recent1["Image"];?>
您也可以使用$_SERVER['SCRIPT_FILENAME']
。如果你有像/dir/file.php/foo/bar
这样的网址,它们可能会有所不同(这有时候会因为搜索引擎优化的原因而首选,尽管它经常在.htaccess
重写为/dir/file.php?param1=foo¶m2=bar
)
您还可以使用相对路径:
<?php echo "../" . $recent1["Image"]; ?>
答案 2 :(得分:0)
dirname()
两次。<?php echo dirname( dirname(__FILE__) ) . '/' . $recent1["Image"];?>
&#34;给定一个包含文件或目录路径的字符串,该函数将返回父目录的路径,该路径从当前目录升级。&#34; http://php.net/manual/en/function.dirname.php
鉴于__FILE__
结果为'/home/htdocs/index.php'
。
dirname(__FILE__)
= '/home/htdocs/'
dirname('/home/htdocs/');
= '/home/'
然后,您追加图像路径'/images/banner.jpg'
'home/images/banner.jpg'
路径真的应该
'/home/htdocs/images/banner.jpg'