为什么我的PHP包含功能无法正常工作?

时间:2011-03-30 17:23:57

标签: php html forms

我有这个PHP代码 -

<?php include('res/scripts/php/content_type/form_contents/birth_date_form.php?type=register&query=birth_month'); ?>

正如您所看到的,我在其中包含?type&query,所以它是错误的还是有其他问题出错了。因为它向我显示以下错误---

Warning: include(res/scripts/php/content_type/form_contents/birth_date_form.php?type=register&query=birth_month) [function.include]: failed to open stream: No error in C:\xampp\htdocs\mysharepoint\1.1\res\scripts\php\content_type\register_form.php on line 82

Warning: include() [function.include]: Failed opening 'res/scripts/php/content_type/form_contents/birth_date_form.php?type=register&query=birth_month' for inclusion (include_path='.;\xampp\php\PEAR') in C:\xampp\htdocs\mysharepoint\1.1\res\scripts\php\content_type\register_form.php on line 82

但删除?type=register&query=birth_month后,我没有错误! 那么你有什么建议吗,请告诉我。

提前致谢!

3 个答案:

答案 0 :(得分:7)

您试图将其包含为通过网络提供,但包含只会加载本地文件 - 因此没有查询字符串,因为没有进行处理


此外 - 如果您尝试从脚本输出外部网址,则可以执行以下操作:

echo implode(file('http://localhost/res/scripts/php/content_type/form_contents/birth_date_form.php?type=register&query=birth_month'))

答案 1 :(得分:3)

您不能通过相对路径包含带有查询字符串的URL。如果需要指定查询字符串,请将其作为完整的绝对URL:

include('http://www.example.com/res/scripts/php/content_type/form_contents/birth_date_form.phptype=register&query=birth_month');

这需要allow_url_fopen开启。

答案 2 :(得分:1)

PHP将查找文件名'birth_date_form.php?type = register&amp; query = birth_month',它不存在。

您可以直接使用被调用的url将变量传递给脚本,然后调用birth_date_form.php。

这应该有效。