|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* @remark :
|
|
|
|
* @name :SyncFile.php
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/4/17 10:05
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace App\Console\Commands\SyncFile;
|
|
|
|
|
|
|
|
use App\Models\File\ErrorFile;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
|
|
|
|
class SyncFile extends Command
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* The name and signature of the console command.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $signature = 'sync_file';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The console command description.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $description = '同步图片与文件';
|
|
|
|
|
|
|
|
|
|
|
|
public function handle(){
|
|
|
|
$errorFileModel = new ErrorFile();
|
|
|
|
$lists = $errorFileModel->list(['status'=>0]);//未同步成功的图片及文件
|
|
|
|
foreach ($lists as $k => $v){
|
|
|
|
$code = $this->synchronizationFile($v['path']);
|
|
|
|
if((int)$code == 200){
|
|
|
|
echo date('Y-m-d H:i:s') . '编辑的path为:'. $v['path'] .',主键id:'. $v['id'] . PHP_EOL;
|
|
|
|
$errorFileModel->edit(['status'=>1],['id'=>$v['id']]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
echo date('Y-m-d H:i:s') . '编辑的end为:' . PHP_EOL;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :指定同步文件到獨立177服務器
|
|
|
|
* @name :synchronizationFile
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/4/8 11:10
|
|
|
|
*/
|
|
|
|
public function synchronizationFile($path_name){
|
|
|
|
//同步到大文件
|
|
|
|
$file_path = config('filesystems.disks.cos')['cdn1'].$path_name;
|
|
|
|
$directoryPath = pathinfo($path_name, PATHINFO_DIRNAME);
|
|
|
|
$cmd = 'curl -F "file_path='.$file_path.'" -F "save_path=/www/wwwroot/cos'.$directoryPath.'" https://v6-file.globalso.com/upload.php';
|
|
|
|
return shell_exec($cmd);
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|