现在我在一个类上有一个函数,当运行时进行卷曲调用,下载文件,移动/重命名文件,然后在数据库中保存文件路径的记录。
如果我在控制器中调用$class->importImages()
,保存图像和一切,这可以正常工作。所以现在我把它放在一个循环中的cron中,该循环表示如果类images_imported column = 0,则导入它的图像。
我可以看到它正在运行,因为数据库正在慢慢填充条目,但它似乎没有在通过cron运行时将文件放在任何地方。
这是通过控制器运行时代码的主要部分...
$directory_path = 'images/' . $this->id . '/';
if (!file_exists($directory_path)) {
mkdir($directory_path, 0777, true);
}
$image_path = $directory_path . $filename . '.png';
$fp = fopen($image_path, 'w+');
fwrite($fp, $image);
fclose($fp);
$im = new \Imagick($image_path);
$im->setImageFormat("png");
$im->writeImage($image_path);
Drawing::firstOrCreate([
'parent_id' => $this->id,
'path' => $image_path
]);
弄清楚了。在Cron的Kernel.php中触发时路径不同。将路径行更改为固定它,它现在在两个地方都有效:
$directory_path = app()->basePath() . 'images/' . $this->id . '/';