$mask_url = "https://store.heytapimage.com/uploadFiles/admin_appstore/202206/23/e1cc4baf054c1cfdb65c9a72d5b98751.png";
$src = CommonModel::downloadFile('', $mask_url);
foreach ($results as $result) {
$img_url = strpos($result['content'], 'http') !== false ? $result['content'] : (strpos($result['content'], '//') !== false ? ('http:' . $result['content']) : (Yii::$app->params['pic_file_host'] . $result['content']));
$dst = $img_url;
$pathInfo = pathinfo($dst);
$ext = $pathInfo['extension'];
if ($ext == 'png') {
$dst_im = @\imagecreatefrompng($dst);
} else if ($ext == 'jpg') {
$dst_im = @\imagecreatefromjpeg($dst);
} else if ($ext == 'gif') {
$dst_im = @\imagecreatefromgif($dst);
} else {
$dst = $img_url . '?region=' . Yii::$app->params['themeapi_package']['package_ocs_region'] . '&x-ocs-process=image/crop,x_0,y_0,w_1080,h_414/format,png';
$dst_im = @\imagecreatefromstring(file_get_contents($dst));
}
if (!$dst_im) {
$dst_im = @\imagecreatefromstring(file_get_contents($dst));
}
if (!$dst_im) {
Clog::warning('素材图imagecreatefrom失败,[data=' . json_encode($result) . ']');
echo '素材图imagecreatefrom失败,[data=' . json_encode($result) . ']';
continue;
}
$dst_info = getimagesize($dst);
if (!$dst_info) {
Clog::warning('素材图getimagesize失败,[data=' . json_encode($result) . ']');
echo '素材图getimagesize失败,[data=' . json_encode($result) . ']';
continue;
}
$src_im = imagecreatefrompng($src);
if (!$src_im) {
Clog::warning('水印图imagecreatefrom失败,[data=' . json_encode($result) . ']');
echo '水印图imagecreatefrom失败,[data=' . json_encode($result) . ']';
continue;
}
$src_info = getimagesize($src);
if (!$src_info) {
Clog::warning('水印图getimagesize失败,[data=' . json_encode($result) . ']');
echo '水印图getimagesize失败,[data=' . json_encode($result) . ']';
continue;
}
$alpha = 50;
imagecopymerge($dst_im, $src_im, $dst_info[0] - $src_info[0], $dst_info[1] - $src_info[1], 0, 0, $src_info[0], $src_info[1], $alpha);
$filename = sys_get_temp_dir() . '/' . md5(microtime(true) . $img_url) . '.png';
$bool = imagepng($dst_im, $filename);
if (!$bool) {
Clog::warning('imagepng失败,[data=' . json_encode($result) . ']');
echo 'imagepng失败,[data=' . json_encode($result) . ']';
continue;
}
imagedestroy($dst_im);
imagedestroy($src_im);
$upload_data = ['type' => 'appDomain', 'folder' => '', 'file' => $filename];
$upload_response = CurlServiceDao::uploadFile("/innerapi/utility/upload", $upload_data, 'inneropenapi', true);;
if (0 != $upload_response['errno']) {
Clog::warning('上传图片到ocs失败#respone=' . json_encode($upload_response, JSON_UNESCAPED_UNICODE) . ',[data=' . json_encode($result) . ']');
echo '上传图片到ocs失败#respone=' . json_encode($upload_response, JSON_UNESCAPED_UNICODE) . ',[data=' . json_encode($result) . ']';
continue;
}
if (!isset($upload_response['data']['uri_path']) || empty($upload_response['data']['uri_path'])) {
Clog::warning('上传图片到ocs失败#respone=' . json_encode($upload_response, JSON_UNESCAPED_UNICODE) . ',[data=' . json_encode($result) . ']');
echo '上传图片到ocs失败#respone=' . json_encode($upload_response, JSON_UNESCAPED_UNICODE) . ',[data=' . json_encode($result) . ']';
continue;
}
$merge_mask = $upload_response['data']['uri_path'];
$data = [
'merge_mask' => $merge_mask,
];
$update_response = CdoOperationThemeDao::getInstance()->saveOne($result['id'], $data, 'dev_page_material');
if (!$update_response) {
Clog::warning('保存数据失败,[data=' . json_encode($result) . ']');
echo '保存数据失败,[data=' . json_encode($result) . ']';
continue;
}
}
@unlink($src);