tdalcn
/*
     * 批量传输产品主图到阿里云
     */
    public function transferImage(){
        
        $num = 50;
        $p = isset($this->request->get[\'p\'])?$this->request->get[\'p\']:0;
        $nonum = isset($this->request->get[\'nonum\'])?$this->request->get[\'nonum\']:0;
        $start = ($nonum>0)?$nonum:$p*$num;
        
        $query = $this->db->query("SELECT product_id,image,site_id FROM " . DB_PREFIX . "product WHERE is_delete = 0 AND site_id=\'2170254929593344\' AND image LIKE \'%.alicdn.com%\' LIMIT ".$start.",".$num);
        $result = $query->rows;
        
        //图片处理
        if(!empty($result)){

            $aliYunOSS = new AliYunOSS();

            foreach ($result as $key => $value){
                    
                $file = $value[\'image\'];
                
                //保存图片到服务器上
                $data = @file_get_contents($file);
                if(!empty($data)){
                    $ext = pathinfo($file, PATHINFO_EXTENSION);
                    $filename = $value[\'product_id\'].rand(). \'.\' . $ext;
                    $rootFile = DIR_UPLOAD .\'file/\'. $filename;
                    file_put_contents($rootFile, $data);
                     
                    //上传图片到阿里云
                    $fileDir = date(\'Y\', time()) . \'/\' . date(\'m\', time());
                    $ali = $aliYunOSS->uploadFile($rootFile, $value[\'site_id\'].\'/\'.$fileDir.\'/\'.$filename);
                    
                    if($ali[\'success\']==1 && !empty($ali[\'info\'][\'url\'])){
                        $image = $ali[\'info\'][\'url\'];
                        
                        if (ENVIRONMENT == \'pro\') {
                            $image = str_replace(\'http://joinf-website-release.oss-cn-hongkong.aliyuncs.com\', OSS_URL, $image);
                            $image = str_replace(\'https://joinf-website-release.oss-cn-hongkong.aliyuncs.com\', OSS_URL, $image);
                        }
                        
                        $sql = "UPDATE " . DB_PREFIX . "product SET image=\'".$image."\' WHERE product_id=\'".$value[\'product_id\']."\' AND image=\'".$value[\'image\']."\'";
                        $this->db->query($sql);
                        
                        //删除服务器文件
                        unlink($rootFile);
                    }
                }else{
                    $nonum++;
                }
            }
            
            $url = $this->url->createUrl(\'test/transferImage\',\'p=\'.($p+1).\'&nonum=\'.$nonum.\'&rand=\'.rand(1000, 9999));
            echo "<script>window.location.href=\'".$url."\'</script>";
            
        }else{
            echo \'处理完成\';
        }
        
    }

 

分类:

技术点:

相关文章:

  • 2021-12-18
  • 2021-12-18
  • 2022-12-23
  • 2021-12-13
  • 2021-12-18
  • 2021-05-08
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-10
  • 2022-12-23
  • 2021-12-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-18
相关资源
相似解决方案