Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包含一个php文件两次?_Php_Include - Fatal编程技术网

包含一个php文件两次?

包含一个php文件两次?,php,include,Php,Include,我正在处理一个页面,该页面要求在运行时包含特定的php代码-但是,在下面代码的某个点上,包含的文件中的变量将由远程curl POST请求重写,因此我需要重新包含该文件以读取变量的新值 我可以再次“包含”它以重新加载新值吗?还是不允许在同一代码中重复包含同一文件 编辑: 下面是我正在做的事情: 包括一个包含1个变量的文件 在联机API中运行检查以确保变量的URL不在数据库中 如果是,则向我的第二个域上的页面发起一个curlpost请求,这将在那里启动一系列事件 该链完成后,第二个页面将向我的第一个

我正在处理一个页面,该页面要求在运行时包含特定的php代码-但是,在下面代码的某个点上,包含的文件中的变量将由远程curl POST请求重写,因此我需要重新包含该文件以读取变量的新值

我可以再次“包含”它以重新加载新值吗?还是不允许在同一代码中重复包含同一文件

编辑:

下面是我正在做的事情:

  • 包括一个包含1个变量的文件

  • 在联机API中运行检查以确保变量的URL不在数据库中

  • 如果是,则向我的第二个域上的页面发起一个curlpost请求,这将在那里启动一系列事件

  • 该链完成后,第二个页面将向我的第一个域上的另一个页面发送一个cURL请求——该请求包含另一个URL,它将该URL传递给我的第一个域上的一个页面,该页面依次获取该URL并用变量的新值覆盖最初包含的文件

  • 回到我的初始代码——我现在有一个新的值用于之前包含的变量,所以我需要以某种方式“重新加载”它,因为我将在稍后在同一页面的代码中使用它;你把文件放进去不是最好的吗


  • 我认为应该将第一个PHP文件中代码的“后面部分”移到覆盖#4中初始变量的文件中。否则,将代码全部移动到新的php文件中

    您还可以实现一个类似web钩子的系统,在该系统中,您可以将“变量”作为GET/POST参数传递给第一个代码。因此,第一次调用代码时,它将检查变量。如果为空,则执行步骤1-4中提到的操作

    然后第4步再次调用该PHP代码,但传递一个变量值。因此,文件不执行代码的第一部分,而是执行后面的部分


    无论如何,您的代码似乎过于复杂,最好将其拆分为函数、类或其他内容。

    我最后使用了以下方法:

    $newly_updated_file = "file_with_variable.php";
    $lines = file($newly_updated_file);
    $new_variable = $lines[15];
    

    应该做得很好

    如果可以将变量存储到另一个变量中供以后使用,为什么要“重新包含”?请发布您的代码以供审阅。是否可以使用类来重用一组代码?您将声明两个变量或其他内容下面没有代码考虑到您可能必须等待从第二个域到第一个域的写入事件,这意味着刷新include的内容将很困难,由于原始脚本可能会在写入之前完成。我在域2的初始curl请求之后添加了3秒钟的睡眠时间,以便给它足够的时间来完成它的工作,然后将新变量发回,并让域1将变量覆盖到最初包含的文件中。我的一个朋友实际上建议只读取文件并从中加载变量,而不是再次使用包含。该文件本身包含1个变量和几行注释,因此实现起来应该不难。谢谢你的想法!