我有一个上传文件的脚本。然后,它会创建一个新文件夹,并将上传的文件与另一个脚本一起移动到该文件夹。
移动文件后,我需要运行驻留在新文件夹中的第二个脚本。但是我需要第二个脚本来使用它的路径而不是它被调用/执行的路径。 (上传脚本)
这就是我尝试从上传脚本执行脚本的方法。
exec("php-cli uploads/".$dirname."/".$file_name."/generate_thumbs.php");
我有错误报告但没有生成任何内容。有什么想法吗?
答案 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
从那里你可以编写你的脚本,只要你可以解决它的位置,就可以在这里进行操作。