【问题标题】:How to access content from multiple files如何访问多个文件的内容
【发布时间】:2013-11-20 01:32:59
【问题描述】:

有什么方法可以添加多个文件的内容,然后将组合值放入一个文件中?

我目前正在尝试这个:

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

【问题讨论】:

  • 你想在这里做什么?
  • :D 将所有包含代码放在“allinc.php”中,然后包含该 singlr“allinc.php” - 我不知道其他方式....但是这是什么 >>> $start_tr =包括 ;我很困惑!
  • 不,那只是一个虚构的标签。像 $text 或任何东西。看看 Hanky 웃 Panky 的帖子。这就是您包含标签的方式。我会听取您的建议,将所有包含输入到一个文件中,然后将其放入包含中。谢谢人:)
  • @AvrumiSherman 您误用了术语“include”,它在 PHP 中具有特殊含义,这会引起混淆。关于组合包含的建议与您尝试做的事情无关......现在很清楚了。我已经编辑了您的帖子以澄清未来访问者的问题,我会留下我的(现在不相关的)答案,但作为参考,请查看include 在 PHP 中的含义:)
  • 哈哈好的,感谢编辑。但你只是更困惑,原来的问题是好的。对于我的问题,我将尝试重新解释它。我靠希望这次我能写得更清楚。所以我想做的是创建一个文件,例如file.php,并从另一个文件(item_input_start_tr.php)中获取包含以将一些文本发布到file.php中。无论如何,我希望这能解释。大坝我用谷歌搜索了我找到任何东西的答案,现在答案就在这里,我意识到我发布了我自己的问题。大声笑

标签: php file-get-contents


【解决方案1】:

include 用于代码,而不用于content。在您的情况下,您必须使用 file_get_contents 以便您可以保存返回的值。 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 ";

【讨论】:

    【解决方案2】:

    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

    此外,您还从调用 include:$start_tr = include 'include_all_items/item_input_start_tr.php'; 中获得了回报——除非您在这些包含的文件中执行某些操作,否则 include 的返回值要么为 false 要么为 1。根据手册:

    成功包含,除非被包含文件覆盖,否则返回 1

    最后,请确保您的意思是 include 而不是 require

    文档

    【讨论】:

    • 1+ 感谢您的精彩回答。非常详细:) 但​​我需要这个 $img_end = file_get_contents('include_all_items/item_input_img_end.php');我会从你的文档中取一些东西...
    • @AvrumiSherman 对,正如我上面提到的,我认为“包含”这个词有些混乱——它在 PHP 中的含义与简单的英文含义不同:)
    • @AvrumiSherman -- 顺便说一句,我不在乎,我也怀疑 Hanky 웃 Panky 也这样做,但是,要“+1”某人,你点击左边的小向上箭头答案(或问题)。您通常应该至少为您选择的答案投票:)
    • 我还不能。我需要至少 15 个代表才能这样做。我目前有 5 个。还有更多工作要做:)
    猜你喜欢
    • 1970-01-01
    • 2022-07-06
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多