问题描述
我想根据数据库中的 /public/storage
在 customer id
中创建客户的文件夹(由于服务器损坏)。我尝试使用 Laravel 队列。
这是我的代码。这只是创建文件夹。当我运行 PHP artisan queue:work
或 listen
时,我的终端上没有任何反应。
场景是:系统会根据customer id
创建一个文件夹名,并将文件夹保存到laravel/public/storage/uploads/file/folder
中
<?PHP
namespace App\Jobs;
use App\Model\Document;
use App\Model\Term;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\dispatchable;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\File;
class Restore implements ShouldQueue
{
use dispatchable,InteractsWithQueue,Queueable,SerializesModels;
protected $folder;
public function __construct($folder)
{
$this->queue = 'default'; //choose a queue name
$this->connection = 'database';
$this->folder = $folder;
}
public function handle()
{
try {
ini_set('max_execution_time',300000);
$makedir = Term::get();
foreach ($makedir as $mkdir) {
$path = public_path().'/storage/uploads/file/'.$mkdir->id_praapplication;
$file_user = Document::get();
if(!(file_exists($path))) {
$folder = File::makeDirectory($path,$mode = 0777,true,true);
dispatch(new Restore($folder));
}
}
}
catch (\Exception $e) {
dd($e->getMessage());
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)