| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: 中闽 < 1464674022@qq.com >
 
-  * Date: 2020/2/4
 
-  * Time: 12:47
 
-  */
 
- namespace app\common\command;
 
- use app\common\model\Article;
 
- use file\FileHelper;
 
- use file\PathHelper;
 
- use think\console\Command;
 
- use think\console\Input;
 
- use think\console\Output;
 
- use think\Db;
 
- use time\Timestamp;
 
- class ArticleImgPersistence extends Command
 
- {
 
-     /**
 
-      * 文章网络图片本地化
 
-      * php think ArticleImgPersistence
 
-      */
 
-     protected function configure()
 
-     {
 
-         $this->setName('ArticleImgPersistence')
 
-             ->setDescription('article image save to local');
 
-     }
 
-     protected function execute(Input $input, Output $output)
 
-     {
 
-         $articles = (new Article())->where(['content' => ['like', '%http%']])->order('id desc')->select();
 
-         $savePath = DS . 'uploads' . DS . 'admin' . DS . 'attachment' . DS . Timestamp::dayStart(time()) . DS;
 
-         $count = 0;
 
-         foreach ($articles as $article) {
 
-             $output->writeln('article id = ' . $article->id);
 
-             $imgs = matchImg($article->content);
 
-             foreach ($imgs as $img) {
 
-                 if (ifContain($img, 'http://') || ifContain($img, 'https://')) {
 
-                     $saveName = PathHelper::getFilename($img);
 
-                     $output->writeln($img . '   =========>>>>>>    ' . $savePath . $saveName);
 
-                     FileHelper::fetchDownFile($img, ROOT_PATH . 'public' . $savePath, $saveName);
 
-                     $data = [
 
-                         'module' => '',//模块
 
-                         'use' => 'articleImgPersistence',//来源
 
-                         'filename' => $saveName,//文件名
 
-                         'filepath' => $savePath . $saveName,//文件路径
 
-                         'fileext' => PathHelper::getExt($img),//文件后缀
 
-                         'filesize' => 0,//文件大小
 
-                         'create_time' => time(),//时间
 
-                         'uploadip' => '',//IP
 
-                         'user_id' => 0,
 
-                         'status' => \app\common\model\Attachment::STATUS_OPEN,
 
-                         'admin_id' => 0,
 
-                         'audit_time' => 0,
 
-                     ];
 
-                     Db::name('attachment')->insertGetId($data);
 
-                     $article->save(['content' => str_replace($img, replaceUrlDS($savePath . $saveName), $article->content)]);
 
-                     $count++;
 
-                 }
 
-             }
 
-         }
 
-         $output->writeln('finish , save image ' . $count);
 
-     }
 
- }
 
 
  |