将多个文件内容合并到一个文件中

时间:2013-11-08 05:35:43

标签: php

有什么办法可以将多个文件的内容添加到一个文件中吗?

我目前正在尝试这个:

 $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);

2 个答案:

答案 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_contentsinclude是两种完全不同的工具。确保您做出区分 - 如果您要在当前脚本中添加更多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

<强>文档