php新浪云平台给图片添加水印方法

作者:袖梨 2022-06-24

//原文件名
$file_name = $_FILES['imgFile']['name'];
//服务器上临时文件名
$tmp_name = $_FILES['imgFile']['tmp_name'];
//获得文件扩展名
$temp_arr = explode(".", $file_name);
$file_ext = array_pop($temp_arr);
$file_ext = trim($file_ext);
$file_ext = strtolower($file_ext);
//新文件名
$new_file_name = date("YmdHis") . '_' . rand(10000, 99999) . '.' . $file_ext;

$water=true;

if(isset($_SERVER['HTTP_APPNAME'])){//sae环境
    $s=new SaeStorage();
    //水印
    if($water){
        $waterpath='./watermark.png';
       
        //新浪云只有SAE_TMP_PATH这个临时目录具有io操作的权限
        $tmp_url = SAE_TMP_PATH.$new_file_name;//保存到sae临时目录
        file_put_contents($tmp_url,file_get_contents($tmp_name));
       
        watermark_image($tmp_url,$waterpath,$tmp_url);
        if(!$s->upload('pic', $new_file_name, $tmp_url)){
            echo '上传文件失败';exit;
        }
    }else{
        if(!$s->upload('pic', $new_file_name, $tmp_name)){
            echo '上传文件失败';exit;
        }
    }

    //添加过水印的图片路径
    $file_url = $s->getUrl('pic', $new_file_name);
}
?>

相关文章

精彩推荐