在php中包含文件

时间:2012-11-01 04:29:11

标签: php

我是一名jsp程序员,他已经花了一些功课来自学PHP;) 所以我的问题是在php文件中包含文件。 这里解释的是代码。

的index.php

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Home</title>
</head>
<body>
<?php include("/php/lib/banner.php"); ?>
</body>
</html>

banner.php

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Banner</title>
</head>
<body>
<table width="100%">
<tr>
<td>
<img src="../../images/banner.jpg" width="100%" /></td>
</tr>
</table>
</body>
</html>

文件位置:

main\index.php  
main\php\lib\banner.php  
main\images\banner.jpg  

我得到的错误是在索引页面中没有显示图像,但是当我直接访问banner.php时它会起作用

请建议。

此致 Sworoop Mahapatra

6 个答案:

答案 0 :(得分:2)

包含字面意思将一个文件的内容放入另一个文件中,因此您希望路径成为您在index.php中使用的路径(images / banner.jpg)

答案 1 :(得分:1)

当您使用include函数包含php文件时,解析器实际上从'banner.php'中获取内容并插入到调用它的位置。

现在你引用了关于banner.php目录的图像源,当使用include时,它应该被引用与index.php目录的正确指针(文件的目录)在哪里被称为)

在你的情况下,它是从两个目录 UP 请求图像不存在的主目录!!

工作用途:

<img src="images/banner.jpg" width="100%" />

答案 2 :(得分:0)

This should work:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Banner</title>
</head>
<body>
<table width="100%">
<tr>
<td>
<img src="images/banner.jpg" width="100%" /></td>
</tr>
</table>
</body>
</html>

答案 3 :(得分:0)

当您加载index.php时,banner.php位置从...开始

main\

当您单独加载banner.php时,位置为...

main\php\lib\

你真的不能有一个可以同时使用的URL。你需要单独加载横幅吗?如果您只需要横幅在index.php中工作,那么请将行更改为...

<img src="images/banner.jpg" width="100%" /></td>

它将从index.php开始工作,但在加载banner.php时则不行。

要使它们同时工作,您需要将它们复制到同一文件夹或至少稍微修改文件夹的结构。

编辑:如果你能告诉我这个横幅需要的其他文件的位置,只需列出,我会试着看看它是如何排序的。

答案 4 :(得分:0)

将代码保留在banner.php文件中的body元素中。 PHP将按字面意思获取文件的内容并将其插入到include函数所在的位置。在代码的当前形式中,您将在页面的body元素内部使用html元素,这是完全错误的,可能会导致浏览器出现意外行为。

此外,路径必须相对于您在浏览器中实际访问的URL,而不是相对于HTML代码来自的文件。

这样的布局可行:

的index.php

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Home</title>
</head>
<body>
<?php include("php/lib/banner.php"); ?>
</body>
</html>

banner.php

<table width="100%">
<tr>
<td>
<img src="images/banner.jpg" width="100%" /></td>
</tr>
</table>

相同的文件位置:

main\index.php  
main\php\lib\banner.php  
main\images\banner.jpg

请记住,include将接受一个PHP文件,处理它并按字面包含其结果。

答案 5 :(得分:0)

另一种解决方案是拥有完整的图像路径。

例如:

<img src="http://yoururl/image_path"/>