mirror of https://github.com/4xmen/xshop.git
added seeding prepare command
parent
1549f933da
commit
8adccb8580
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class SeedingPrepare extends Command
|
||||
{
|
||||
/**
|
||||
* The name and signature of the console command.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'seeding:prepare';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'Download and unpack zip file for seeding.';
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
// URL of the zip file
|
||||
$zipUrl = 'https://github.com/A1Gard/xshop-installer-assets/raw/master/seeder-image.zip';
|
||||
$localZipPath =__DIR__.'/../../../database/seeders/images/seeder-image.zip'; // Path where the zip will be saved
|
||||
$extractPath = __DIR__.'/../../../database/seeders/images'; // Directory where the zip will be extracted
|
||||
|
||||
// Downloading the ZIP file
|
||||
$this->info('Downloading ZIP file...');
|
||||
$zipContent = file_get_contents($zipUrl);
|
||||
file_put_contents($localZipPath, $zipContent);
|
||||
|
||||
// Check if the ZIP file was successfully downloaded
|
||||
if (!file_exists($localZipPath)) {
|
||||
$this->error('Failed to download the ZIP file.');
|
||||
return;
|
||||
}
|
||||
|
||||
// Unzipping the file
|
||||
$this->info('Unzipping the file...');
|
||||
$zip = new \ZipArchive();
|
||||
if ($zip->open($localZipPath) === TRUE) {
|
||||
// Create the extraction directory if it doesn't exist
|
||||
if (!file_exists($extractPath)) {
|
||||
mkdir($extractPath, 0777, true);
|
||||
}
|
||||
|
||||
// Extract the ZIP file to the specified directory
|
||||
$zip->extractTo($extractPath);
|
||||
$zip->close();
|
||||
$this->info('File unzipped successfully.');
|
||||
} else {
|
||||
$this->error('Failed to unzip the file.');
|
||||
}
|
||||
|
||||
// Optionally, delete the zip file after extraction
|
||||
unlink($localZipPath);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue