PHP获取服务器图片并添加水印

<?php
header ( "Content-type: text/html; charset=utf-8" );
date_default_timezone_set ( 'PRC' ); //设置中国时区

include 'PHPExcel.php';
$dir=dirname(__FILE__);

$filename = "/Users/jiangminghui/Documents/test/hantai/hantaipic.xlsx";

$objPHPExcel = PHPExcel_IOFactory::load($filename);//加载文件

$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
$src_path1 = '111.png';
$src_path2 = '222.png';
$src1 = imagecreatefromstring(file_get_contents($src_path1));
$src2 = imagecreatefromstring(file_get_contents($src_path2));
list($src_w1, $src_h1) = getimagesize($src_path1);
list($src_w2, $src_h2) = getimagesize($src_path2);
for($i=1;$i<=$highestRow;$i++) {
    $A = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();
    $B = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
    $C = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();

//从服务器获取图片++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    $url = 'https://xx.xx.com'.$C;
    $ext = strrchr($url, ".");
    $filename = $A.'_'.$B.$ext;

    ob_start();//打开输出
    readfile($url);//输出图片文件
    $img = ob_get_contents();//得到浏览器输出
    ob_end_clean();//清除输出并关闭
    $size = strlen($img);//得到图片大小
    $fp2 = @fopen($filename, "a");
    fwrite($fp2, $img);//向当前目录写入图片文件,并重新命名
    fclose($fp2);

    //usleep(200000);
    //return $filename;//返回新的文件名

    $dst_path = 'img/'.$filename;

//创建图片的实例++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    $dst = imagecreatefromstring(file_get_contents($dst_path));


//获取水印图片的宽高

    list($src_w0, $src_h0) = getimagesize($dst_path);

//将水印图片复制到目标图片上,最后个参数50是设置透明度,这里实现半透明效果
    imagecopymerge($dst, $src1, 10, 10, 0, 0, $src_w1, $src_h1, 100);
//如果水印图片本身带透明色,则使用imagecopy方法
    imagecopy($dst, $src2, $src_w0-$src_w2-10, $src_h0-$src_h2-10, 0, 0, $src_w2, $src_h2);

//输出图片
    list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);
    switch ($dst_type) {
        case 1://GIF
            header('Content-Type: image/gif');
            imagegif($dst,$filename);
            break;
        case 2://JPG
            header('Content-Type: image/jpeg');
            imagejpeg($dst,$filename);
            break;
        case 3://PNG
            header('Content-Type: image/png');
            imagepng($dst,$filename);
            break;
        default:
            break;
    }

    imagedestroy($dst);

    echo "$i";

}
imagedestroy($src1);
imagedestroy($src2);

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于php编写的图床工具源码.zip **PicUploader** 是一个用php编写的图床工具,它能帮助你快速上传你的图片到云图床,并自动返回Markdown格式链接到剪贴板。配置完成后,要获取一个可用于markdown的图片外链只需要: - **方式一:** 右击电脑本地任意格式文件→点击`你的自定义上传菜单`→系统通知文件上传成功→到Markdown编辑器中粘贴! - **方式二:** 截图并点击复制到剪贴板→按快捷键→系统通知图片上传成功→到Markdown编辑器中粘贴! - **方式三:** 右击网页中的图片→点击`复制图片`→按上传快捷键→系统弹出上传成功通知→到Markdown编辑器中粘贴! - **方式四:** 使用网页版上传,包括拖放上传(支持多文件)、复制本地图片文件后粘贴上传、截图后粘贴上传、复制网页上的图片后粘贴上传、点击上传按钮选择图片后上传(支持多文件)。 ## 主要功能 - 支持Mac和Windows(也可用于Linux服务器端)、理论上也支持Linux桌面版,只要你能添加右键菜单或者用快捷键调用上传命令的话; - 支持图片压缩后上传(支持jpg/png/webp,gif/bmp不支持压缩); - 支持添加水印后上传(支持文字水印图片水印、自定义水印颜色/透明度/角度/位置,支持jpg/png/bmp/webp,gif不支持水印); - 返回的链接可自定义(如原始链接、Markdown格式链接、可点击的Markdown格式链接、完全自定义的链接); - 完全自定义上传文件名(可选变量有当前年、月、日、当前时间戳,随机字符串(可调长度)); - 上传过的文件直接返回历史记录(防止重复上传,仅限在不添加水印不压缩的情况下); - 可作为MWeb/Typora的API使用,可作为PicGo/ShareX/uPic等的自定义图床使用; - 支持快捷键上传剪贴板中的图片(配合Alfred/WinHotKey使用); - 支持Web端拖放、粘贴、或直接选择上传图片; - 支持Web端设置所有参数; - 支持上传任意格式文件(除了图片,还可以上传任意格式文件,只要你的存储端支持就行); - 目前支持的图床:七牛、腾讯、网易、百度、京东、阿里、又拍、sm.ms、Imgur、Ucloud、青云、Nextcloud、Github、Gitee(码云)、Cloudinary、Chevereto、Minio、Aws s3、金山、华为、DropBox、OneDrive、GoogleDrive、Azure、Gitlab、图速云、个人服务器(sftp)、本地(即PicUploader所在机器)。 - 注:之前支持的coding.net由于封了token方式授权的接口,所以现在暂时不支持coding.net。
MuseMailServer采用数据库作为基本数据的存储载体,支持多语言、远程管理、Webmail(AJAX PHP)、互联网邮件收发、(POP3,SMTP,IMAP,FTP)、数字水印/SSL加密、网络硬盘、邮件过滤、邮件监控、任务事件、反垃圾邮件,邮件杀病毒、多域名邮件收发和邮件发送验证等功能,是公司,企事业单位和学校以及门户网站等的理想的邮件服务器软件。MuseMailServer以其设置简单,简捷易用,出色的稳定性和灵活的web邮件服务二次开发接口为用户的商务应用、办公应用、学习提供更好,更容易,更快捷的支持。 MuseMailServer从3.0版本开始,改变原有的基于文件型数据库的存储方式,采用易检索、高速度、数据备份、安全性和灵活性上更具效率的数据库。以适应日新月异的数字存储数据库化和海量数据存储的要求。和传统邮件服务器一样,MuseMailServer支持互联网邮件收发、网页邮件收发、邮件杀毒、智能邮件过滤、邮件监视、邮件备份、邮件转发、多域名邮件收发和邮件发送验证等功能。同时,由于内核基于数据库,MuseMailServer提供的内核和Webmail无论是速度效率还是安全性都有传统邮件服务器无法比拟的优势。开放式的COMAPI和数据库结构,支持存储过程和视图,这对大部分数据库维护人员和开发人员来说,他们可以对MuseMailServer自行定义和并在其之上进行集成和二次开发,使得MuseMailServer的灵活性在同类产品中更胜一筹。 在邮件系统最重要的人机交互界面—Webmail中,MuseMail应用先进的AJAX动态页面无刷新技术,采用当前最为流行的PHP语言,以插件和模块化多层设计模式实现,并且严格遵循W3C国际标准,以UTF-8的全球通用字符集为界面字符内码标准,使得系统在具备完美可操作性、人性化快捷处理界面的同时,能最大程度上满足不同语种和多语言字符Email同时存在的需求,最大程度上满足用户的各种需求。 邮件服务器软件中重要的一个部分就是邮件存储模块,该部分直接决定邮件服务器的性能和效率,MuseMailServer从3.0版本开始采用分开存储的方式,将邮件系统的用户信息和其他基本信息都存放到数据库中,而数据量比较大的信体数据采用文件方式进行存储.这样的设计方式大大提升了系统可支持的邮箱数量和性能,同时又缓解了数据库服务器的压力.对于服务器负载比较大和邮件数据比较多的情况,MuseMailServer还可以被部署成分布式模式,WEBMAIL和邮件存储以及内核都分别采用不同的服务器进行处理,这样将能成倍提升服务器性能和邮件系统的容量。 MuseMail Server邮件服务器软件 v5.2 更新内容: 1.在MIME组件中增加了获取附件编码类型的方法,修复了webmail中某些附件编码为qp时不能正常下载 的问题; 2.增加了地址簿信息,用户信息读取返回时的长度,修复了显示数据内容时乱码的问题; 3.修改了DNS缓存的自动清理模式,改为由MX记录属性值自动判断超时更新的方式,提升了邮件发送的 成功率; 4.webmail中个人配置中的发件人名称长度改成了最多可输入8个汉字; 5.完善了网络磁盘中的子目录的分页功能; 6.改善了webmail界面的操作友好性,如发邮件时信体中提到"附件"而没有加时会自动提示用户应该添 加附件; 7.修复了在webmail审核注册用户时因名字过长导致乱码的问题; 8.修复了个性签名乱码的问题; 9.增加了用户是否允许发送给外部(非本域)邮件的权限,让管理员能更灵活的对用户进行权限控制;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值