有什么办法可以将多个文件的内容添加到一个文件中吗?
我目前正在尝试这个:
$start_tr = include 'include_all_items/item_input_start_tr.php' ;
$img_start = include 'include_all_items/item_input_img_start.php' ;
$img_link = include 'include_all_items/item_input_img_link.php' ;
$img_end = include 'include_all_items/item_input_img_end.php' ;
$newcontent = "$start_tr
$link
$img_start
$_POST[img_link]
$img_end ";
$content = $newcontent.file_get_contents('../../include/item.computer.php');
file_put_contents('../../include/item.computer.php', $content);
答案 0 :(得分:1)
include
用于代码,不适用于content
。在您的情况下,您必须使用file_get_contents
,以便保存返回的值。 include
不会给你这个价值。
<强> include() 强>
处理返回:include失败时返回FALSE并发出警告。除非被包含文件覆盖,否则成功包括返回1。
$start_tr = file_get_contents('include_all_items/item_input_start_tr.php');
$img_start = file_get_contents('include_all_items/item_input_img_start.php');
$img_link = file_get_contents('include_all_items/item_input_img_link.php');
$img_end = file_get_contents('include_all_items/item_input_img_end.php');
现在你可以像使用你的那样使用你的变量了。
$newcontent = "$start_tr
$link
$img_start
$_POST[img_link]
$img_end ";
答案 1 :(得分:0)
file_get_contents
和include
是两种完全不同的工具。确保您做出区分 - 如果您要在当前脚本中添加更多PHP脚本,则需要include / require。如果你试图将文件内容变成变量,那就完全不同了。
假设您正在尝试包含/要求PHP脚本,解决方法是:a)使用自动加载器(首选类)或b)将所有包含放在单个文件中,然后包含 来自其他脚本的文件。
单个文件方法:
的common.php
include 'include_all_items/item_input_start_tr.php' ;
include 'include_all_items/item_input_img_start.php' ;
include 'include_all_items/item_input_img_link.php' ;
include 'include_all_items/item_input_img_end.php' ;
myScript.php
include('common.php');
自动加载器更复杂,我在这里没有足够的关于您的用例的详细信息来提供相关示例。例如:https://gist.github.com/jwage/221634
此外,您还可以通过以下方式接听来电:$start_tr = include 'include_all_items/item_input_start_tr.php';
- 除非您在这些包含的文件中执行某些操作,否则include
的返回值为false或1根据手册:
成功包含,除非被包含文件覆盖,否则返回1
最后,请确保您的意思是include
而不是require
!
<强>文档强>
include
- http://php.net/manual/en/function.include.php require
- http://php.net/manual/en/function.require.php spl_autoload_register
- http://www.php.net/manual/en/function.spl-autoload-register.php