Php 使用 .bat 删除和创建文件和文件夹的脚本在 运行 使用 Windows 调度程序时不起作用

Php Script to delete and create files and folder using .bat not working when run using Windows Scheduler

我尝试在循环中使用 php 创建文件夹并保存图像,手动从 .bat 文件 运行 没问题。

它正在创建所有相应的文件夹和图像文件,但是当 运行 使用 windows 调度程序时,它不会创建文件夹。

检查调度程序状态时作业已成功完成。

我还 运行 删除以清理旧文件夹和图像 如果我手动 运行 .bat 文件但在 运行 通过调度程序时不删除任​​何文件夹,这也可以正常工作.

下面是.bat文件代码

我是否在调度程序中遗漏了一些阻止我创建文件夹和图像的权限问题?

c:\xampp\php\php.exe -f c:\xampp\htdocs\retrieve_image.php

这是我为 运行 *.php 文件

创建的 bat 文件代码
while ($row = $db->fetch_array($r2)) {

        $sysid = $row[ml_num];
        $prop_id = $row[property_id];


        $n = 1;
        $dir = 'photos/' . $sysid;
        if (!is_dir($dir)) mkdir($dir); 

        $photos = $rets->GetObject('Property', 'Photo', $sysid);            
        foreach ($photos as $photo) {
            $loc = $dir . "/" . $n . ".jpg";
            file_put_contents($dir . '/' . $n . '.jpg', $photo['Data']);

            if (imagecreatefromjpeg($loc) !== false) {
                echo $loc . "<br/>";
                $sql2 = "INSERT INTO property_images(property_id, pimg_name,status) values('$prop_id','$loc',1)";

                $r3 = $db->query($sql2);
            }
            else
            {
                $status = unlink($loc);
            }
            $n++;

        }

        $i++;
    }

这是 php 代码,用于检索图像并创建新文件夹并将图像放入 while 循环。当我手动 运行 .bat 文件时它工作正常。

请通过 windows 调度程序帮助我 运行 执行此操作。

转到任务属性 --> 操作选项卡 --> 编辑 --> 填写如下:

开始于(可选):将完整路径放入批处理脚本位置

例如:C:\xampp\htdocs\

然后点击确定

对我有用。祝你好运!