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

时间:2016-01-04 20:39:49

标签: php

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

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

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

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

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

2 个答案:

答案 0 :(得分:3)

如果您想更改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";
?>

答案 1 :(得分:1)

您应该在第二个脚本中使用路径到脚本的位置。

在答案中找到: Get absolute path of current script

从那里你可以编写你的脚本,只要你可以解决它的位置,就可以在这里进行操作。