我在一个网站上工作,并且我在使用xammp
作为本地服务器。我使用的文件夹是website
,其中包含两个子文件夹content
和main
。我的logo.png
文件夹中有一个图像content
。我想在main
文件夹中创建一个php文档来查看图像。为此,我使用了
<body>
<img src="<?php echo dirname(__FILE__,2);?>/content/logo.png" >
</body>
但是此代码不起作用,并且在Microsoft Edge上显示带有交叉箭头标志的小黑框。谁能告诉我这是什么错误?
答案 0 :(得分:2)
解决此问题的最佳方法是在项目根目录中有一个settings.php
或config.php
或您想如何命名该文件,在您的情况下,该文件将为{{1 }}目录。
在根目录中创建的文件看起来像这样
website
以上文件示例仅应包含项目的定义(路径,域,电子邮件等),并且应将其包含在您创建的所有其他php文件的开头。
然后在define('ROOT_DIR', __DIR__);
define('SITE_DOMAIN', 'http://localhost/website');
define('SITE_DIR', '/website');
define('CONTENT_DIR', SITE_DIR . '/content');
//more settings/configs......
目录中创建您的php文件。假设您将其命名为main
,并且它看起来应该像这样
image.php
以上仅为示例,您可以根据自己的喜好来构建文件。
以下是使用上面的示例执行此操作的一些示例。
示例使用1
<?php
require '../config.php';
//...some php code here....
?>
<!-- ...some html code here... -->
<img src="<?= SITE_DOMAIN ?>/content/logo.png">
<!-- ..more html code here... -->
Src输出:<img src="<?= SITE_DOMAIN ?>/content/logo.png">
示例使用2 (可能是最佳选择)
http://localhost/website/content/logo.png
Src输出:<img src="<?= SITE_DIR ?>/content/logo.png">
示例使用3
/website/content/logo.png
Src输出:<img src="<?= CONTENT_DIR ?>/logo.png">
请避免使用
/website/content/logo.png
来访问HTML中的内容文件,这不是一个好习惯,请不要使用..
,这确实很糟糕。我说您不应该使用它,因为您可以想象在该页面上有20张图像,这意味着您将分别呼叫dirname(__FILE__,2)
20次和dirname
20次以始终获得相同的结果。
如果这个项目在某个时候变得非常大,并且您开始移动并重命名php文件,那么可以放心,您的图像始终可以正常工作,上述示例也很好。
如果这只是一个小项目,并且您不需要我上面建议的任何内容,则可以在__FILE__
目录中创建的php文件中尝试类似的操作。
main
注意:我使用
<?php define('CONTENT_DIR', '/website/content'); ?> <img src="<?= CONTENT_DIR ?>/logo.php">
而不是<?= ?>
,两者的作用完全相同。随时将其更改为echo
答案 1 :(得分:0)
您可能不需要PHP来定位logo.png,只需使用../更改当前目录即可。
答案 2 :(得分:-1)
我不了解使用php来获取图像路径的本质。我会给你一些路径信息,希望对你有帮助。
要引用与html / php文件位于同一文件夹中的图像,请使用以下方法:
<body>
<img src="logo.png">
</body>
要引用子文件夹中的图像,该子文件夹与文件位于同一文件夹中(假设您有一个名为网站的文件夹,并且在此文件夹中具有 index.html >和 img 文件夹,并在index.html中要引用 img 文件夹中的图片):
<body>
<img src="img/logo.png">
</body>
要引用上一个文件夹中的图像(假设您有一个名为网站的文件夹,并且在此文件夹中有一个子文件夹 admin 和另一个子文件夹< strong> img 。在 admin 子文件夹中,您拥有文件 index.html ;在 img 子文件夹中,您拥有图片< strong> logo.png ):
<body>
<img src="../img/logo.png">
</body>
简单地, ../ 移至上一个目录