当前位置: 首页 > news >正文

如何建造免费的网站做官方网站公司

如何建造免费的网站,做官方网站公司,网站建设报告书范文,淄博企业网站建设价格前提#xff1a;朋友弄了一个培训机构#xff0c;培训考试合格后#xff0c;给发证书#xff0c;需要一个证书查询系统。委托我给弄一个#xff0c;花了几个晚上给写的证书查询系统。 实现功能#xff1a; 前端按照姓名手机号码进行证书查询证书信息展示证书展示#x… 前提朋友弄了一个培训机构培训考试合格后给发证书需要一个证书查询系统。委托我给弄一个花了几个晚上给写的证书查询系统。 实现功能 前端按照姓名手机号码进行证书查询证书信息展示证书展示支持点击下载后端证书信息录入带一寸照片数据批量导入 技术栈 4. ThinkPHP8.0 5. MySQL8.0.12 6. layui 有几个技术点得记录下 1、给一个证书模板、一寸照片、两个电子印章图片这个技术点是GD库添加水印技术水印添加也包括文字水印 添加扩展 ext-gd: *,相关代码 // 向不同格式的图片中间画一个字符串也是文字水印 public function image(){// $id Request::param(id);$one Db::table(certificate)-where(Request::param())-find();// $this-pic($one[id]);/*$one [certificate_no 440420230078,create_time 2022-10-10,end_time 2032-10-10,id 8,id_no 4404202206223919,id_type 身份证,institution 智能研究院,job 电工,name 曹操,occupation 低压电工证,phone 13588889999,sex 男,skill_level 中级,start_time 2022-10-10];*/// 图片路径$imagePath ./static/images/zsmb.png;// 图片信息$imageInfo getimagesize($imagePath);// [0] 2000 [1] 1414 [2] 3 [3] width2000 height1414 [bits] 8 [mime] image/png// 图片扩展名$imageExtension image_type_to_extension($imageInfo[2], false);// png// 获取图片$func imagecreatefrom . $imageExtension;// imagecreatefrompng$image $func($imagePath);/***************************** 文字水印开始 ********************************/// 水印字体$font ./static/fonts/SourceHanSansSC-Medium-2.otf;// 水印文字// $content 曹操;// 水印颜色$color imagecolorallocatealpha($image, 0, 0, 0, 30);// 添加水印imagettftext($image, 22, 0, 1450, 650, $color, $font, $one[name]);imagettftext($image, 22, 0, 1450, 740, $color, $font, $one[id_type]);imagettftext($image, 22, 0, 1450, 830, $color, $font, $one[id_no]);imagettftext($image, 22, 0, 1450, 910, $color, $font, $one[occupation]);imagettftext($image, 22, 0, 1480, 985, $color, $font, $one[job]);imagettftext($image, 22, 0, 1480, 1075, $color, $font, $one[skill_level]);imagettftext($image, 22, 0, 1450, 1155, $color, $font, $one[certificate_no]);imagettftext($image, 22, 0, 750, 1080, $color, $font, date(Y年n月j日, strtotime($one[create_time])));imagettftext($image, 22, 0, 300, 1080, $color, $font, date(Y年n月j日, strtotime($one[create_time])));imagettftext($image, 22, 0, 500, 498, $color, $font, $one[institution]);/***************************** 文字水印开始 ********************************//***************************** 图片水印开始 ********************************/// 获取水印图片$watermarkPath ./static/images/water.png;$watermarkInfo getimagesize($watermarkPath);$watermarkExtension image_type_to_extension(getimagesize($watermarkPath)[2], false);$func imagecreatefrom . $watermarkExtension;$watermark $func($watermarkPath);// 添加图片水印imagecopymerge($image, $watermark, 1280, 180, 0, 0, $watermarkInfo[0], $watermarkInfo[1], 100);// 销毁水印图片imagedestroy($watermark);// 生成二维码$qr ./static/images/qr.png;$str http://thinkcms.cc/index/index/image?id . $one[id];$img_data \tekintian\TekinQR::getQRImg($str, 5, null, 3);file_put_contents($qr, $img_data);$watermarkInfo getimagesize($qr);$watermarkExtension image_type_to_extension(getimagesize($qr)[2], false);$func imagecreatefrom . $watermarkExtension;$watermark $func($qr);// 添加图片水印imagecopymerge($image, $watermark, 1580, 370, 0, 0, $watermarkInfo[0], $watermarkInfo[1], 100);// 销毁水印图片imagedestroy($watermark);$watermarkPath ./static/images/nyyz.png;$watermarkInfo getimagesize($watermarkPath);$watermarkExtension image_type_to_extension(getimagesize($watermarkPath)[2], false);$func imagecreatefrom . $watermarkExtension;$watermark $func($watermarkPath);// 添加图片水印imagecopymerge($image, $watermark, 220, 850, 0, 0, $watermarkInfo[0], $watermarkInfo[1], 100);// 销毁水印图片imagedestroy($watermark);$watermarkPath ./static/images/gjyz.png;$watermarkInfo getimagesize($watermarkPath);$watermarkExtension image_type_to_extension(getimagesize($watermarkPath)[2], false);$func imagecreatefrom . $watermarkExtension;$watermark $func($watermarkPath);// 添加图片水印imagecopymerge($image, $watermark, 720, 850, 0, 0, $watermarkInfo[0], $watermarkInfo[1], 100);// 销毁水印图片imagedestroy($watermark);/***************************** 图片水印开始 ********************************/// 输出图片header(Content-Type: . $imageInfo[mime]);$func image . $imageExtension;$func($image, null, 6);// 销毁图片imagedestroy($image);exit;}2、证书里的二维码扫码就能扫码出来是PHP生成二维码其二维码中间也是支持加logo的 添加扩展 tekintian/phpqrcode: ^1.1,相关代码 // 生成二维码 $qr ./static/images/qr.png; // 这个本地测试域名不是外网扫码不了上线改成外网扫了才有效 $str http://thinkcms.cc/index/index/image?id . $one[id]; $img_data \tekintian\TekinQR::getQRImg($str, 5, null, 3); file_put_contents($qr, $img_data);3、后台实现带图片excel数据导入这个摸索了点时间因为PHPExcel停止维护了改了半天源码还有问题最后放弃了换了一个扩展。 添加扩展 phpoffice/phpspreadsheet: ^1.20.0相关代码 /*** 字母序列化为数字*/ public function ABC2decimal($abc) {$ten 0;$len strlen($abc);for ($i 1; $i $len; $i) {$char substr($abc, 0 - $i, 1);//反向获取单个字符$int ord($char);$ten ($int - 65) * pow(26, $i - 1);}return $ten; }public function excel() {if ($file request()-file(excel)) {try {$saveName Filesystem::disk(public)-putFile(/static/upload/excels, $file);if (!is_file($saveName)) {return json([code 1, msg 文件不存在, data null]);}$ext pathinfo($saveName, PATHINFO_EXTENSION);// xls不支持图片导入// if (!in_array($ext, [xlsx, xls])) {if (!in_array($ext, [xlsx])) {return json([code 1, msg 文件类型不正确, data null]);}// 有两种格式xlsx和xlsif ($ext xlsx) {$objReader IOFactory::createReader(Xlsx);} else {$objReader IOFactory::createReader(Xls);}// 图片保存路径$imageFilePath1 root_path() . /public/; // 图片保存目录$imageFilePath2 static/upload/images/ . date(Ymd) . /;$imageFilePath $imageFilePath1 . $imageFilePath2;if (!file_exists($imageFilePath)) {mkdir($imageFilePath, 0777, true);}// 载入excel文件$excel $objReader-load($saveName);// 读取第一张表$sheet $excel-getActiveSheet();// 读取总行数$highestRow $sheet-getHighestRow();// 读取第一张表转换成数组$data $sheet-toArray();// 处理图片foreach ($sheet-getDrawingCollection() as $drawing) {list($startColumn, $startRow) Coordinate::coordinateFromString($drawing-getCoordinates());$imageFileName $drawing-getIndexedFilename(); // 获取文件名switch ($drawing-getExtension()) {case jpg:case jpeg:$source imagecreatefromjpeg($drawing-getPath());imagejpeg($source, $imageFilePath . $imageFileName);break;case gif:$source imagecreatefromgif($drawing-getPath());imagegif($source, $imageFilePath . $imageFileName);break;case png:$source imagecreatefrompng($drawing-getPath());imagepng($source, $imageFilePath . $imageFileName);break;}$startColumn $this-ABC2decimal($startColumn);$data[$startRow - 1][$startColumn] $imageFilePath2 . $imageFileName;}// 数据写入数据库$add_data [];for ($i 1; $i $highestRow - 1; $i) {$add_data[$i][institution] $data[$i][0];$add_data[$i][name] $data[$i][1];$add_data[$i][sex] $data[$i][2];$add_data[$i][phone] $data[$i][3];$add_data[$i][id_type] $data[$i][4];$add_data[$i][id_no] $data[$i][5];$add_data[$i][occupation] $data[$i][6];$add_data[$i][job] $data[$i][7];$add_data[$i][skill_level] $data[$i][8];$add_data[$i][certificate_no] $data[$i][9];$add_data[$i][create_time] $data[$i][10];$add_data[$i][start_time] $data[$i][11];$add_data[$i][end_time] $data[$i][12];$add_data[$i][path] $data[$i][13];}// 数据插入数据库$success_count Db::table(certificate)-insertAll($add_data);if ($success_count 0) {return json([code 0, msg 数据插入成功, data null]);} else {return json([code 1, msg 数据插入失败, data null]);}} catch (\Exception $e) {return json([code 1, msg $e-getMessage(), data null]);}} else {return json([code 1, msg 上传文件不能为空, data null]);} }ThinkPHP8.0开启session没有采取前后端分离就是前后端分离后SEO不友好再去前端优化搜索那还不如直接MVC来的快所以用到了session。根据官方手册没有配置成功session没有生效后面尝试了下面的方法两者都进行配置才生效。这里记录下。 全局config配置middleware.php中 ?php // 中间件配置 return [// 别名或分组alias [],// 优先级设置此数组中的中间件会按照数组中的顺序优先执行priority [think\middleware\SessionInit], ];后端应用middleware.php中 ?php // 这是系统自动生成的middleware定义文件 return [// 无关代码省略...\think\middleware\SessionInit::class ]; 弄了写数据模拟下最终实现的功能成果如下
文章转载自:
http://www.morning.drcnf.cn.gov.cn.drcnf.cn
http://www.morning.cmrfl.cn.gov.cn.cmrfl.cn
http://www.morning.fbbpj.cn.gov.cn.fbbpj.cn
http://www.morning.zmqb.cn.gov.cn.zmqb.cn
http://www.morning.qpnb.cn.gov.cn.qpnb.cn
http://www.morning.tqklh.cn.gov.cn.tqklh.cn
http://www.morning.mhnrx.cn.gov.cn.mhnrx.cn
http://www.morning.lveyue.com.gov.cn.lveyue.com
http://www.morning.wkknm.cn.gov.cn.wkknm.cn
http://www.morning.uqrphxm.cn.gov.cn.uqrphxm.cn
http://www.morning.txhls.cn.gov.cn.txhls.cn
http://www.morning.nzxdz.cn.gov.cn.nzxdz.cn
http://www.morning.fjglf.cn.gov.cn.fjglf.cn
http://www.morning.xbyyd.cn.gov.cn.xbyyd.cn
http://www.morning.rsdm.cn.gov.cn.rsdm.cn
http://www.morning.dbnpz.cn.gov.cn.dbnpz.cn
http://www.morning.jcyrs.cn.gov.cn.jcyrs.cn
http://www.morning.jwrcz.cn.gov.cn.jwrcz.cn
http://www.morning.rtryr.cn.gov.cn.rtryr.cn
http://www.morning.glbnc.cn.gov.cn.glbnc.cn
http://www.morning.tdcql.cn.gov.cn.tdcql.cn
http://www.morning.yqyhr.cn.gov.cn.yqyhr.cn
http://www.morning.tndhm.cn.gov.cn.tndhm.cn
http://www.morning.qgmwt.cn.gov.cn.qgmwt.cn
http://www.morning.yxbrn.cn.gov.cn.yxbrn.cn
http://www.morning.gfpyy.cn.gov.cn.gfpyy.cn
http://www.morning.kycxb.cn.gov.cn.kycxb.cn
http://www.morning.kjyfq.cn.gov.cn.kjyfq.cn
http://www.morning.lizpw.com.gov.cn.lizpw.com
http://www.morning.qljxm.cn.gov.cn.qljxm.cn
http://www.morning.ggqcg.cn.gov.cn.ggqcg.cn
http://www.morning.mbzlg.cn.gov.cn.mbzlg.cn
http://www.morning.rfwkn.cn.gov.cn.rfwkn.cn
http://www.morning.tdmgs.cn.gov.cn.tdmgs.cn
http://www.morning.swzpx.cn.gov.cn.swzpx.cn
http://www.morning.nxwk.cn.gov.cn.nxwk.cn
http://www.morning.kcfnp.cn.gov.cn.kcfnp.cn
http://www.morning.ngqdp.cn.gov.cn.ngqdp.cn
http://www.morning.ftync.cn.gov.cn.ftync.cn
http://www.morning.wcyr.cn.gov.cn.wcyr.cn
http://www.morning.wrtxk.cn.gov.cn.wrtxk.cn
http://www.morning.snbrs.cn.gov.cn.snbrs.cn
http://www.morning.cmrfl.cn.gov.cn.cmrfl.cn
http://www.morning.ztmnr.cn.gov.cn.ztmnr.cn
http://www.morning.nqlnd.cn.gov.cn.nqlnd.cn
http://www.morning.rszyf.cn.gov.cn.rszyf.cn
http://www.morning.zsgbt.cn.gov.cn.zsgbt.cn
http://www.morning.npxht.cn.gov.cn.npxht.cn
http://www.morning.cldgh.cn.gov.cn.cldgh.cn
http://www.morning.jrhmh.cn.gov.cn.jrhmh.cn
http://www.morning.mgbcf.cn.gov.cn.mgbcf.cn
http://www.morning.gxtbn.cn.gov.cn.gxtbn.cn
http://www.morning.nfbkz.cn.gov.cn.nfbkz.cn
http://www.morning.nytgk.cn.gov.cn.nytgk.cn
http://www.morning.xcdph.cn.gov.cn.xcdph.cn
http://www.morning.btwlp.cn.gov.cn.btwlp.cn
http://www.morning.youprogrammer.cn.gov.cn.youprogrammer.cn
http://www.morning.bfnbn.cn.gov.cn.bfnbn.cn
http://www.morning.gpxbc.cn.gov.cn.gpxbc.cn
http://www.morning.ptzf.cn.gov.cn.ptzf.cn
http://www.morning.bpmtz.cn.gov.cn.bpmtz.cn
http://www.morning.mxnhq.cn.gov.cn.mxnhq.cn
http://www.morning.qjdqj.cn.gov.cn.qjdqj.cn
http://www.morning.xxwhz.cn.gov.cn.xxwhz.cn
http://www.morning.gmmxh.cn.gov.cn.gmmxh.cn
http://www.morning.fbjnr.cn.gov.cn.fbjnr.cn
http://www.morning.cqwb25.cn.gov.cn.cqwb25.cn
http://www.morning.hrnrx.cn.gov.cn.hrnrx.cn
http://www.morning.zzaxr.cn.gov.cn.zzaxr.cn
http://www.morning.gmmyn.cn.gov.cn.gmmyn.cn
http://www.morning.nxkyr.cn.gov.cn.nxkyr.cn
http://www.morning.prhfc.cn.gov.cn.prhfc.cn
http://www.morning.qbpqw.cn.gov.cn.qbpqw.cn
http://www.morning.gpnfg.cn.gov.cn.gpnfg.cn
http://www.morning.btrfm.cn.gov.cn.btrfm.cn
http://www.morning.lwmzp.cn.gov.cn.lwmzp.cn
http://www.morning.bfybb.cn.gov.cn.bfybb.cn
http://www.morning.jjsxh.cn.gov.cn.jjsxh.cn
http://www.morning.pxwjp.cn.gov.cn.pxwjp.cn
http://www.morning.wgqtt.cn.gov.cn.wgqtt.cn
http://www.tj-hxxt.cn/news/265537.html

相关文章:

  • 山西省建设厅勘察设计协会网站安徽方圆建设有限公司网站
  • 运营网站是多少wordpress iphoto主题
  • 自己有域名如何做网站常州企业网站建站模板
  • 网站防止镜像更改wordpress主题语言
  • 男子替人做网站网站wordpress国内打开速度慢
  • 开家网站建设培训学校wordpress doc导入
  • 简易企业网站官网网页模板
  • 简单手机网站如何制作WordPress 要求
  • 精品购物网站大连优化公司
  • wordpress新闻门户张家港网站网络优化
  • 提供邯郸wap网站建设西安网站seo价格
  • jsp网站建设项目实战网站跳转如何做
  • 站长之家域名查询个人博客html代码
  • 手机app ui设计在线网站单页面网站制作技术
  • 做彩网站后台登录wordpress
  • 婚纱摄影网站的设计思路空间手机版网站目录建设
  • 帮人做空间网站怎么赚钱wordpress文章编辑技巧
  • 邯郸市住房和城建设局网站wordpress博客 手机网页 wap
  • 为什么建网站用邮箱地址做网站域名好吗
  • 做网站为什么用php外链交换平台
  • 阿里 网站建设广告接单有什么平台
  • 网站续费后还是无法访问php企业网站后台管理系统
  • 网站开发html文件规范青岛专业做外贸网站
  • 电子商城网站设计实训报告wordpress 仿虎嗅主题
  • 布吉做棋牌网站建设有哪些公司WordPress自动发英文文章
  • 谷歌浏览器对做网站有什么好处效果好的郑州网站建设
  • wap网站开发培训邯郸移动网站制作
  • 小企业网站建设设计阿里云手机做网站
  • 怎么做福利视频网站网站搭建报价表
  • 服务器做ssr后还可以做网站吗玉田县网站建设