如何在Laravel中保存cron上的文件?

问题描述 投票:0回答:1

现在我在一个类上有一个函数,当运行时进行卷曲调用,下载文件,移动/重命名文件,然后在数据库中保存文件路径的记录。

如果我在控制器中调用$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
                       ]);
laravel
1个回答
0
投票

弄清楚了。在Cron的Kernel.php中触发时路径不同。将路径行更改为固定它,它现在在两个地方都有效:

$directory_path = app()->basePath() . 'images/' . $this->id . '/';
© www.soinside.com 2019 - 2024. All rights reserved.