首页
关于
留言
壁纸
更多
直播
统计
友链
Search
1
好用的软件分享
452 阅读
2
最新Navicat 15 for MySQL破解+教程 正确破解步骤
278 阅读
3
面试常见问题100问
247 阅读
4
一个人要走的时候,千万别问原因
194 阅读
5
直击心灵的唯美句子
163 阅读
日常记录
后端
PHP
NodeJs
Python
Java
前端
JavaScript
数据库
MySQL
服务器
美文
微信开发
微信公众号
微信小程序
编程
登录
Search
标签搜索
mysql
面试
python
django
express
axios
thinkphp
PHP
励志
哲理
九九乘法表
node
cors
跨域
唯美句子
美文
文件上传
ajax
算法
jwt
公子初心
累计撰写
79
篇文章
累计收到
12
条评论
首页
栏目
日常记录
后端
PHP
NodeJs
Python
Java
前端
JavaScript
数据库
MySQL
服务器
美文
微信开发
微信公众号
微信小程序
编程
页面
关于
留言
壁纸
直播
统计
友链
搜索到
35
篇与
的结果
2023-12-19
03-开发第一个Templates
1.在自己的blog应用中创建templates 目录,在里面创建本应用名称的目录(blog)创建模板文件index.html2.指定可以访问模板的配置在views.py文件内 修改返回值 render() 第一个参数request,第二个参数调用模板路径,第三个参数,字典形式传输数据,模板中直接{{}} 输出
2023年12月19日
22 阅读
0 评论
0 点赞
2023-12-19
02-Django创建第一个项目
第一种方式来访问第一个页面(不常用)1.blog/views.pyfrom django.http import HttpResponse def index(request): return HttpResponse('hello world')2.myblog/urls.pyimport blog.views as bv urlpatterns = [ path('admin/', admin.site.urls), path('index/', bv.index), path('zhang/', bv.zhang), ]3.直接url访问第二种方式来访问第一个页面(常用)1.在blog/views.pyfrom django.http import HttpResponse def index(request): return HttpResponse('你好,世界')2.myblog/urlsfrom django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('blog/', include('blog.urls')), *index主目录* ]3.在blog/里创建urls.pyfrom django.urls import path from . import views urlpatterns = [ path('/index, views.index),*index子目录* ]4.访问127.0.0.1:8000/blog
2023年12月19日
36 阅读
0 评论
0 点赞
2023-12-19
01-python安装Django-创建应用
1.windows 按照djangopip install Django== 2.02.创建项目工程Django-admin命令 Django-admin startproject myblog (项目名称)或者我们可以可以使用pycharm来创建Django项目查看manage.py常用命令 可以 python manage.py 查看如果想要修改端口号 python manage.py 9999 3.创建属于自己的应用python manage.py startapp blog 4.将应用添加添加到 INSTALLED_APPS = ['blog']
2023年12月19日
48 阅读
0 评论
0 点赞
2023-12-18
htaccess如何配置隐藏index.php
1.Apache服务器htaccess如何配置隐藏index.php文件<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] </IfModule>2.Nginx服务器htaccess如何配置隐藏index.php文件server { listen 80; #listen [::]:80 default_server ipv6only=on; server_name jiqing.dexin.com; index index.html index.htm index.php admin.php; root /home/wwwroot/default/dexin/dragon/public; #error_page 404 /404.html; include enable-php-pathinfo.conf; location /nginx_status { stub_status on; access_log off; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } /* 起作用 location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; } } */ access_log /home/wwwlogs/access.log; }
2023年12月18日
49 阅读
0 评论
0 点赞
2023-12-18
PHP原生操作EXcel
PHP操作Excel phpExcel类下载1.PHP生成EXCEL include_once "./lib/PHPExcel.php"; //实例化PHPExcel类,类似于在桌面上新建一个Excel表格 $PHPExcel = new \PHPExcel(); //获得当前活动sheet的操作对象 默认创建一个活动的窗口 $PHPSheet = $PHPExcel->getActiveSheet(); //给当前活动sheet设置名称 $PHPSheet->setTitle('活动一日游'); // 1.逐个单元格去填充数据,适合数据量较大的情况 //给当前活动sheet填充数据,数据填充是按顺序一行一行填充的,假如想给A1留空,可以直接setCellValue('A1',''); // $PHPSheet->setCellValue('A1','姓名')->setCellValue('B1','分数'); // $PHPSheet->setCellValue('A2','张三')->setCellValue('B2','50'); // 2.一次性填充数据,适合数据量较小的情况 $array = [ ["姓名","分数"], ["老王","90"], ["小白","80"], ]; $PHPSheet->fromArray($array); //按照指定格式生成Excel文件,'Excel2007'表示生成2007版本的xlsx, $PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel,'Excel2007'); //表示在$path路径下面生成demo.xlsx文件 $PHPWriter->save('./demo.xlsx');2.PHP生成并下载EXcel include_once "./lib/PHPExcel.php"; //实例化PHPExcel类,类似于在桌面上新建一个Excel表格 $PHPExcel = new \PHPExcel(); //获得当前活动sheet的操作对象 默认创建一个活动的窗口 $PHPSheet = $PHPExcel->getActiveSheet(); //给当前活动sheet设置名称 $PHPSheet->setTitle('活动一日游'); // 1.逐个单元格去填充数据,适合数据量较大的情况 //给当前活动sheet填充数据,数据填充是按顺序一行一行填充的,假如想给A1留空,可以直接setCellValue('A1',''); // $PHPSheet->setCellValue('A1','姓名')->setCellValue('B1','分数'); // $PHPSheet->setCellValue('A2','张三')->setCellValue('B2','50'); // 2.一次性填充数据,适合数据量较小的情况 $array = [ ["姓名","分数"], ["老王","90"], ["小白","80"], ]; $PHPSheet->fromArray($array); //按照指定格式生成Excel文件,'Excel2007'表示生成2007版本的xlsx, $PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel,'Excel2007'); //表示在$path路径下面生成demo.xlsx文件 $PHPWriter->save('./demo.xlsx');
2023年12月18日
38 阅读
0 评论
0 点赞
2023-12-17
PHP生成二维码
本地下载 二维码是一个近几年来移动设备上超流行的一种编码方式,最早出现在20世纪20年代,到1988年才引入中国。现在,日常生活中更是随处可见。它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。下面通过一些小案例,不靠第三方平台,轻松制作自己的二维码图片QRCodeQR Code码,是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。超高速从QR Code码的英文名称Quick Response Code可以看出,超高速识读特点是QR Code码区别于四一七条码、Data Matrix等二维码的主要特性。由于在用CCD识读QR Code码时,整个QR Code码符号中信息的读取是通过QR Code码符号的位置探测图形,用硬件来实现,因此,信息识读过程所需时间很短,它具有超高速识读特点。用CCD二维条码识读设备,每秒可识读30个含有100个字符的QR Code码符号;对于含有相同数据信息的四一七条码符号,每秒仅能识读3个符号;对于Data Matrix矩阵码,每秒仅能识读2~3个符号。QR Code码的超高速识读特性使它能够广泛应用于工业自动化生产线管理等领域。全方位QR Code码具有全方位(360°)识读特点,这是QR Code码优于行排式二维条码如四一七条码的另一主要特点,由于四一七条码是将一维条码符号在行排高度上的截短来实现的,因此,,它很难实现全方位识读,其识读方位角仅为±10°。能够有效地表示汉字由于QR Code码用特定的数据压缩模式表示汉字,它仅用13bit可表示一个汉字,而四一七条码、Data Matrix等二维码没有特定的汉字表示模式,因此仅用字节表示模式来表示汉字,在用字节模式表示汉字时,需用16bit(二个字节)表示一个汉字,因此QR Code码比其它的二维条码表示汉字的效率提高了20%。参数$level表示容错率,也就是有被覆盖的区域还能识别。它有四个级别,分别是 L, H, M, QQR_ECLEVEL_L, 最大 7% 的错误能够被纠正;QR_ECLEVEL_M, 最大 15% 的错误能够被纠正;QR_ECLEVEL_Q, 最大 25% 的错误能够被纠正;QR_ECLEVEL_H, 最大 30% 的错误能够被纠正;include 'phpqrcode.php'; $value = 'https://www.itnan.cc'; //二维码内容 $errorCorrectionLevel = 'L';//容错级别 $matrixPointSize = 6;//生成图片大小 QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); //生成二维码图片 $logo = 'logo.jpg';//准备好的logo图片 $QR = 'qrcode.png';//已经生成的原始二维码图 if ($logo !== FALSE) { $QR = imagecreatefromstring(file_get_contents($QR)); $logo = imagecreatefromstring(file_get_contents($logo)); $QR_width = imagesx($QR);//二维码图片宽度 $QR_height = imagesy($QR);//二维码图片高度 $logo_width = imagesx($logo);//logo图片宽度 $logo_height = imagesy($logo);//logo图片高度 $logo_qr_width = $QR_width / 5; $scale = $logo_width/$logo_qr_width; $logo_qr_height = $logo_height/$scale; $from_width = ($QR_width - $logo_qr_width) / 2; //重新组合图片并调整大小 imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height); } //输出图片 imagepng($QR,'phpmaster.png');
2023年12月17日
34 阅读
0 评论
0 点赞
2023-12-16
layui文件上传+ThinkPHP
1.前端html代码<div class="layui-form-item"> <label class="layui-form-label">修改头像</label> <div class="layui-input-inline uploadHeadImage"> <div class="layui-upload-drag" id="headImg"> <i class="layui-icon"></i> <p>点击上传图片,或将图片拖拽到此处</p> </div> </div> <div class="layui-input-inline"> <div class="layui-upload-list"> <img class="layui-upload-img headImage" src="" id="demo1"> <p id="demoText"></p> </div> </div> </div>2.前端js代码<script>layui.use(['form', 'layer','upload',"element"], function() { $ = layui.jquery; var form = layui.form, upload = layui.upload, layer = layui.layer; //拖拽上传 var uploadInst = upload.render({ elem: '#headImg' , url: '{:url("uploadImg")}' , size: 500 , before: function (obj) { //预读本地文件示例,不支持ie8 obj.preview(function (index, file, result) { $('#demo1').attr('src', result); //图片链接(base64) }); } , done: function (res) { console.log(res); //如果上传失败 if (res.code > 0) { return layer.msg('上传失败'); } var demoText = $('#demoText'); // demoText.html('<span style="color: #8f8f8f;">上传成功!!!</span>'); $("#imagepath").val(res.image) layer.msg("上传成功") } , error: function () { //演示失败状态,并实现重传 var demoText = $('#demoText'); demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>'); demoText.find('.demo-reload').on('click', function () { uploadInst.upload(); }); } }); element.init(); });3.后台php代码 // 图片上传 public function uploadImg(){ // 上传代码 $file = request()->file('file'); // 上传到本地服务器 $savename = \think\facade\Filesystem::disk('public')->putFile( 'goods', $file); $data['image'] = $savename; $data['code'] = 0; return json($data); }
2023年12月16日
34 阅读
0 评论
0 点赞
2023-12-15
PHP调用QQ登录接口
public function login(){ $urlencode = urlencode("https://www.itnan.cc/index/Index/callback"); $url = "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=XXXXXXXX&redirect_uri={$urlencode}&state=shop"; $data = compact("url"); return view("",$data); } // 回调地址 public function callback($code){ // 1.获取code // 2.发起请求 获取access_token $urlencode = urlencode("https://www.itnan.cc/index/Index/callback"); $url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=XXXXXXX&client_secret=YYYYYYYYYYYY&code={$code}&redirect_uri={$urlencode}&fmt=json"; $json = file_get_contents($url); $obj = json_decode($json); $access_token = $obj->access_token; // 3.发起请求 获取openid $url = "https://graph.qq.com/oauth2.0/me?access_token={$access_token}&fmt=json"; $obj = json_decode(file_get_contents($url)); $openid = $obj->openid; // 4.获取用户的信息 $url = "https://graph.qq.com/user/get_user_info?access_token={$access_token}&oauth_consumer_key=XXXXXXXXX&openid={$openid}"; dump(file_get_contents($url)); // 1.qq_member表写入数据,id,openid,nickname,gender,login_num,mid // 2.写session // 3. 跳转到首页 }
2023年12月15日
30 阅读
0 评论
0 点赞
2023-12-15
PHP实现无限级分类
function getTree($data) { $items = []; foreach ($data as $v){ $items[$v['id']] = $v; // $items[1] = } $tree = array(); //格式化好的树 foreach ($items as $item) if (isset($items[$item['pid']])) $items[$item['pid']]['son'][] = &$items[$item['id']]; else $tree[] = &$items[$item['id']]; return $tree; }
2023年12月15日
14 阅读
0 评论
0 点赞
2023-12-14
PHP使用PHPmailer类和smtp发送邮件
1.开启邮件smtp服务2.设置授权码3.引入phpmailer类,smtp类本地下载 https://github.com/PHPMailer/PHPMailer4.示例代码//下载PHPMailer并开启php_openssl、php_socket扩展 include_once 'PHPMailer.php'; include_once 'SMTP.php'; $mail = new PHPMailer(); //实例化 $mail->IsSMTP(); // 启用SMTP $mail->Host = "smtp.yeah.net"; //SMTP服务器 以163邮箱为例子 $mail->Port = 25; //邮件发送端口 $mail->SMTPAuth = true; //启用SMTP认证 $mail->CharSet = "UTF-8"; //字符集 $mail->Encoding = "base64"; //编码方式 $mail->Username = "phpmaster@yeah.net"; //你的邮箱 $mail->Password = "EFWWFULFELKCUMQY"; //网易邮箱客户端授权码 $mail->From = "phpmaster@yeah.net"; //发件人地址(也就是你的邮箱) $mail->FromName = "张某某"; //发件人姓名 $address = "137647337@qq.com";//收件人email $mail->AddAddress($address, "亲");//添加收件人(地址,昵称) //附件 /*$mail->AddAttachment("logo.jpg"); $mail->AddAttachment("1.zip"); $mail->AddAttachment('1.xls','我的附件.xls'); // 添加附件,并指定名称*/ $mail->IsHTML(true); //支持html格式内容 //$mail->AddEmbeddedImage("logo.jpg", "my-attach", "logo.jpg"); //设置邮件中的图片 $mail->Subject = "你好"; //邮件标题 $mail->Body = '这是HTML邮件正文粗体,<a href="http://www.zhangxuhui.com">激活</a>'; //邮件主体内容 //发送 if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "success";5.场景:邮箱发送验证码类在php7.3+环境中报错:**filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is deprecated原因:查资料得知,php7.3+弃用了FILTER_FLAG_SCHEME_REQUIRED函数** 解决方式:PHPMailer.php 3599行 if (filter_var('http://' . $host, FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED)) { //Is it a syntactically valid hostname? return true; } 更改为: if (preg_match('/http:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is','http://' . $host)) { //Is it a syntactically valid hostname? return true; } 其实就是url地址地址的正则验证。
2023年12月14日
21 阅读
0 评论
0 点赞
1
2
3
4