执行位于另一个文件夹中的 PHP 文件

Posted

技术标签:

【中文标题】执行位于另一个文件夹中的 PHP 文件【英文标题】:Execute PHP file located in another folder 【发布时间】:2016-04-08 13:19:42 【问题描述】:

我有一个上传文件的脚本。然后它会创建一个新文件夹并将上传的文件与另一个脚本一起移动到该文件夹​​。

文件移动后,我需要运行位于新文件夹中的第二个脚本。但是我需要第二个脚本来使用它的路径,而不是它被调用/执行的路径。 (上传脚本)

这就是我尝试从上传脚本执行脚本的方式。

exec("php-cli uploads/".$dirname."/".$file_name."/generate_thumbs.php");

我有错误报告,但没有生成任何内容。有什么想法吗?

【问题讨论】:

你有没有想过使用 cURL 来实现你需要做的事情? 【参考方案1】:

你应该做的是在你的第二个脚本中使用脚本所在的路径。

如答案所示: Get absolute path of current script

只要你能解决它在哪里,你就可以从那里编写你的脚本来操作它。

【讨论】:

谢谢。 lukasrozs 的回答解决了我的问题。【参考方案2】:

如果要更改working directory,请在exec() 之前使用chdir()。 您可以传递绝对或相对目录名称。 要从 PHP 执行 PHP,您可以使用 include 而不是 exec()

将您的上传脚本编辑为:

<?php
    // ... upload the file ...

    // ,,open'' the target directory
    chdir("uploads/$dirname/$file_name/");

    // start the thumbs script
    // this filename is relative to "uploads/$dirname/$file_name/"
    include "generate_thumbs.php";
?>

【讨论】:

完美运行!感谢您的帮助。

以上是关于执行位于另一个文件夹中的 PHP 文件的主要内容,如果未能解决你的问题,请参考以下文章