HTML <img>标记在localhost中无法正常工作?

时间:2019-08-08 14:13:57

标签: php html image localhost

我在一个网站上工作,并且我在使用xammp作为本地服务器。我使用的文件夹是website,其中包含两个子文件夹contentmain。我的logo.png文件夹中有一个图像content。我想在main文件夹中创建一个php文档来查看图像。为此,我使用了

<body>
  <img src="<?php echo dirname(__FILE__,2);?>/content/logo.png" >
</body> 

但是此代码不起作用,并且在Microsoft Edge上显示带有交叉箭头标志的小黑框。谁能告诉我这是什么错误?

3 个答案:

答案 0 :(得分:2)

解决此问题的最佳方法是在项目根目录中有一个settings.phpconfig.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>

简单地, ../ 移至上一个目录