
php学习笔记
idjl
PHP程序员
展开
-
php科学计数法转为字符串参与计算
首先看这段代码, PHP 数字超过一定长度时,会自动转换为科学计数法的形式$open = 1.248E-5; // 0.00001248$close = 1.228E-5; // 0.00001228echo bcsub($close, $open, 10); // 0.00000000echo $percent = bcdiv(bcsub($close, $open...原创 2020-04-27 14:37:00 · 16414 阅读 · 0 评论 -
docker搭建php环境mysql和nginx
搭建php-nginx-mysql环境使用mysql 5.7.29; php 7.2.29; nginx最新版docker pull php:7.2.29-fpm docker pull mysql:5.7.29 docker pull nginx/var/www/docker-long.com目录结构mysql # 保存mysql数据code ...原创 2020-04-16 22:47:17 · 11844 阅读 · 2 评论 -
win10系统phpstorm改用PowerShell终端
习惯了linux的命令行操作, windowns的cmd都不支持,现在好了win10的PowerShell支持了linux命令操作。文件--》设置--》工具--》Terminal将Shell path路径改为C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe保存后重启phpstorm,熟悉的linux命令就可以...原创 2019-11-10 16:33:22 · 11228 阅读 · 0 评论 -
phpmailer的使用方法
composer require phpmailer/phpmailer<?phpheader('content-type:text/html;charset=utf-8;');set_time_limit(3600);require "vendor/autoload.php";$send_res = sendEmail('主题', '内容', 'jianlong@123...转载 2019-10-31 16:03:02 · 9905 阅读 · 0 评论 -
Nginx服务器支持.htaccess的方法
编辑nginx.conf,在server块中引入.htaccess文件server { listen 80; server_name www.long2.com long2.com; root "D:\wamp\long2.com"; include "D:\wamp\long2.com\d\.htacces...原创 2019-01-03 13:18:22 · 18480 阅读 · 2 评论 -
阿里宝卡选取自己心仪的靓号
阿里宝卡申请地址:https://m.10010.com/scaffold-show/Alicard相比大王卡,多了1G流量和100分钟通话,具体各种互联网卡对比,感兴趣的小伙伴自己上网搜索,不是本文讨论范围。本文记录了通过联通的接口,来查找获取自己心仪的手机号。进入选号界面,打开开发者工具,选择network选择归属地,点击选择号码,看到右侧开发者工具出现联通的api接口。 ...原创 2018-10-29 18:33:15 · 14573 阅读 · 0 评论 -
ThinkPHP 开启xdebug后dump 多维数组显示不完整
在php.ini里的 xdebug 节点[XDebug]中,加入如下xdebug.var_display_max_children=10028 #子级节点最多显示的的字符数xdebug.var_display_max_data=100512 #最多显示的字符数量xdebug.var_display_max_depth=15 #最多显示的层级然后重启PHP服务即可。...转载 2018-10-30 14:46:45 · 7957 阅读 · 0 评论 -
生成随机密码,验证码
PHP写法://A-Z a-z 0-9 !#$%^&*$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%^&*";//生成随机字符function createPwd($str,$len){ $pwd = ''; $strlen = strlen($s...原创 2018-11-20 17:58:48 · 7060 阅读 · 0 评论 -
62进制转10进制,10进制转62进制函数。
百度出来的无法使用,只好自己写,有bug的地方欢迎留言,感谢function from62to10($str){ $dict = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $len = strlen($str); $dec = 0; for($i = 0;$i<$...原创 2018-12-20 11:26:17 · 6755 阅读 · 0 评论 -
微博图片作者识别功能,找到发图的人
原理:例如链接为 http://wx1.sinaimg.cn/mw690/9d0d09abgy1fj0wcs7aewj20ij0sn12y.jpg 的图提取文件名 9d0d09abgy1fj0wcs7aewj20ij0sn12y,前 8 位 9d0d09ab 用 16 进制转换下变为 2634877355,就是用户 uid如果是 http://wx1.sinaimg.cn/mw690/...转载 2018-01-31 01:04:39 · 138889 阅读 · 5 评论 -
PHP自带方法验证邮箱、URL、IP是否合法
以前用PHP验证邮箱、URL、IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带了验证邮箱、URL、IP是否合法的函数。主要使用的是filter_var函数。语法filter_var(variable, filter, options)参数 描述variable 必需。规定要过滤的变量。filter ...转载 2018-12-27 18:14:25 · 6349 阅读 · 0 评论 -
win下php7.2安装xdebug和php-redis
先通过phpinfo()查看自己的php信息确定我的版本为:7.2-nts-vc15-x861、安装xdebughttps://xdebug.org/download.php下载对应的版本dll文件将dll文件复制到php文件夹的ext文件夹内修改php.ini,添加zend_extension=php_xdebug-2.7.0beta1-7.2-vc15-nts....原创 2018-10-19 00:08:06 · 15318 阅读 · 2 评论 -
使用PHPWord生成word文档
phpoffice的github:https://github.com/PHPOffice安装我们使用Composer来安装PHPWord。composer require phpoffice/phpword如何使用自动加载安装好phpword后,新建一个php文档,引入autoload.php。require 'vendor/autoload.php';实例...转载 2018-10-09 13:06:46 · 13989 阅读 · 0 评论 -
短网址,网址缩短源代码
不用数据库的短网址一直没找到一个好用的网址缩短工具,所以自己写了一个前端为bootstrap自适应,后端利用php的数组保存短网址,array_search判断是否重复长网址key是短网址的id,value是长网址 使用说明需要urls.php文件修改为777权限修改index.php中的$siteTitle和$siteUrl即可,可以一级域名或放二级文件夹使用$...原创 2018-09-29 16:12:45 · 11426 阅读 · 0 评论 -
php获取应用宝app下载连接
app在应用宝上的下载速度很快,如果能点击直接下载,无需跳转到应用宝,岂不快哉。源代码如下:<?php/** * @Author: Ding Jianlong * @Date: 2018-10-12 13:57:11 * @Last Modified by: Ding Jianlong * @Last Modified time: 2018-10-12 14:59...原创 2018-10-12 15:03:28 · 11529 阅读 · 0 评论 -
jquery的ajax上传图片并且显示上传进度
jquery上传文件用的formdata,上传进度条需要添加xhr的onprogresshtml代码如下:<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible&qu原创 2018-10-11 18:13:24 · 21040 阅读 · 2 评论 -
php操作myslq自动生成数据字典
<?phpset_time_limit(600);//配置数据库$dbserver = "127.0.0.1";$dbusername = "root";$dbpassword = "密码";$database = "test";//其他配置$title = '数据字典';$pdo=new PDO("mysql:host=".$dbserver.";d转载 2018-09-13 17:53:13 · 9471 阅读 · 0 评论 -
ajax批量删除功能的实现源代码
效果展示:完整代码如下:<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">原创 2018-08-21 14:41:06 · 11461 阅读 · 0 评论 -
php快速无限遍历递归文件夹目录、子文件,支持绝对路径和相对路径,支持返回生成数组
支持无限极遍历子文件及文件夹,支持绝对路径和相对路径! 函数说明:array glob ( string $pattern [, int $flags ] )功能:寻找与模式匹配的文件路径,返回包含匹配文件(目录)的数组(注:被检查的文件必须是服务器系统的,不能用于远程文件)参数说明:第一个参数:匹配模式;第二个可选参数: GLOB_MARK - 在每个返回的项目中加一个斜线 ...转载 2018-08-31 13:15:53 · 10386 阅读 · 0 评论 -
Linux服务器下Nginx与Apache共存
解决思路:将nginx作为代理服务器和web服务器使用,nginx监听80端口,Apache监听除80以外的端口,我这暂时使用8080端口。nginx.conf 位置:/etc/nginx/nginx.conf在nginx.conf中 http {}内添加:server { listen 80; server_name www.one.ity...转载 2018-08-23 18:18:13 · 14028 阅读 · 0 评论 -
算法:如何实现大整数相加?
算法题:给你两个很大很大的整数(如100位整数),如何求出它们的和?思路:小学数学竖式拆分,各个击破。在程序中列出的 “竖式” 究竟是什么样子呢?我们以 426709752318 + 95481253129 为例,来看看大整数相加的详细步骤:第一步,把整数倒序存储,整数的个位存于数组0下标位置,最高位存于数组长度-1下标位置。之所以倒序存储,更加符合我们从左到右访问数组的习惯。...转载 2019-01-10 16:37:16 · 6750 阅读 · 0 评论 -
算法:如何实现大整数相乘?
高深莫测,不是一般的复杂,有时间在研究吧。漫画:如何实现大整数相乘?(上)https://mp.weixin.qq.com/s/GA02XbRvMq0l6MZYeH-W3w漫画:如何实现大整数相乘?(下)https://mp.weixin.qq.com/s/lhCm_oq3QFx_yoFSNLaXng...转载 2019-01-10 16:54:21 · 5683 阅读 · 0 评论 -
PHP中cookie,session的使用和用户自动登录的实现
cookie的使用//生成cookie//注释:setcookie() 函数必须位于 <html> 标签之前。//setcookie(name, value, expire, path, domain); //名称,值,过期时间,有效路径,有效域名//path,可选;如果路径设置为 "/",那么 cookie 将在整个域名内有效.如果路径设置为 "/test/",那么 ...原创 2019-01-11 16:06:06 · 10285 阅读 · 0 评论 -
curl抓取页面时遇到重定向的解决方法
curl抓别的网站数据时,返回301<?phpfunction curlGet($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt...转载 2019-07-05 12:30:50 · 8666 阅读 · 0 评论 -
bcmath相关函数使用
ubuntu 18.04安装bcmath插件sudo apt-get install php7.0-bcmath centos安装yum install php72w-bcmathwindows版本的php自带,无需另外安装函数的使用// bcscale — 设置所有bc数学函数的默认小数点保留位数bcscale(3); // 返回布尔型 true 不指定位数,下...原创 2019-07-08 20:36:15 · 9826 阅读 · 0 评论 -
linux安装最新版本composer
wget https://getcomposer.org/composer.pharmv composer.phar composerchmod +x composersudo mv composer /usr/bin/composer -V切换为中国源composer config -g repo.packagist composer https://packagist.ph...原创 2019-05-27 22:54:50 · 3845 阅读 · 0 评论 -
算法:约瑟夫环问题
问题描述:n个人围成一圈,从编号为k的人开始报数,报到m的人出圈,剩下的人继续从1开始报数,报到m的人出圈;如此往复,求最后一个出圈的人/* * arr array 值为range(1,总人数) * m int 报号到m的人出圈 * current int 从第current+1 个人开始喊1;值为k-1 * return 返回最后一个人的编号 * *///所有人从1到n编号...原创 2019-05-27 00:19:14 · 2896 阅读 · 0 评论 -
文件秒传的原理
比较两个文件是否相同,判断服务器上是否已经存在相同的文件。存在则无需上传,修改下数据库即可。文件的特征码 文件校验 md5 sha1 sha256 等文件秒传的实现原理: 每个文件md5值不同,前端获取md5值,后端比对相同文件实现秒传。全部后端处理生成md5的话,大量用户数 cpu压力大。百度云盘秒传的分析图在线工具:http://www.atool9.com/f...原创 2019-05-11 23:32:24 · 5947 阅读 · 0 评论 -
composer问题解决方案
composer require jaeger/querylist[Composer\Downloader\TransportException] The "https://packagist.phpcomposer.com/p/provider-2017%241fcb04ee223fce21d167c8a49f09025ba85c917aee976588a99ef82c3a a60...原创 2019-04-24 22:43:13 · 4271 阅读 · 0 评论 -
php获取多次跳转后真实的url
/* 获取多次跳转后真实的url @param str $url 查询 $return str 定向后的url的真实url */function getrealurl($url){ $header = @get_headers($url,1); //默认第二个参数0,可选1,返回关联数组 if(!$header){ exit('无法...转载 2019-04-19 00:08:52 · 4503 阅读 · 0 评论 -
token验证生成原理
<?php/** * @Author: Ding Jianlong * @Date: 2019-03-20 00:38:01 * @Last Modified by: Ding Jianlong * @Last Modified time: 2019-03-22 17:50:59 *///生成发送请求的验证 token//这里的key可以是包含用户信息的内容,...原创 2019-03-22 17:53:55 · 4385 阅读 · 0 评论 -
获取url地址中顶级域名
parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。有不足之处还请留言指正,谢谢。<?php/** * @Author: Ding Jianlong * @Date: 2019-03-07 16:14:04 * @Last Modified by: Ding Jianlong * @La...原创 2019-03-20 15:39:20 · 12276 阅读 · 2 评论 -
GD Warning imagettfbbox() Could not find/open font
在运行pChart的example的时候出现了这个问题,字体路径是没问题的,代码应该也无问题。网上找了一下,发现官网有相应的提示:http://php.net/manual/en/function.imagettftext.php。 fontfileThe path to the TrueType font you wish to use.Depending on which ver...转载 2019-02-23 20:14:30 · 6876 阅读 · 0 评论 -
阿里云短信发送验证码使用记录
官网:https://www.aliyun.com/product/sms0、首先需要注册阿里云账号,可以直接用支付宝登陆。1、登陆阿里云短信管理控制台,选择快速学习,使用测试短信发送2、测试手机可以接受到短信成功后,点击查看API Demo3、下载php sdk,引入sdk,注册子账户,开通短信权限,使用子账户的AccessKeyID和AccessKeySecret特...原创 2019-02-17 14:06:44 · 6227 阅读 · 0 评论 -
安装laravel-admin产生不了app\Admin文件问题
困扰很久的问题解决了,呼httpd.conf文件里我打开了这个,现在还不确定是否是这个问题 今天公司电脑安装,确定了,不是这行的问题,就是字段长度的问题LoadModule rewrite_module modules/mod_rewrite.so照样的,php7laravel5.5都下好了,开始安装laravel-admin先是:composer require encore/...转载 2019-01-30 15:25:54 · 6521 阅读 · 0 评论 -
php7.3报preg_match() JIT compilation failed no more memory解决办法
解决方案:修改php.ini:将;pcre.jit=1改为:pcre.jit=0保存,重启php服务即可。参考:https://stackoverflow.com/questions/53690624/errors-installing-composer-on-macos-jit-compilation-failed...转载 2019-02-21 17:31:20 · 5887 阅读 · 0 评论 -
小程序,微信支付:支付失败,商户号该产品权限未开通,请前往商户平台 产品中心检查后重试
小程序,微信支付:支付失败,商户号该产品权限未开通,请前往商户平台>产品中心检查后重试这个问题困扰了好几个小时,坑啊。解决方法:报这个错误提示,可以从以下两点来排查:1,在统一下单中,appid与mchid不匹配会报这个错误,请仔细检查,填写对应的appid或商户号。2,在统一下单中,“交易类型 trade_type ”这个参数填写错误,也会报这个错误。这个参数填写的规则...转载 2019-01-02 15:56:54 · 31065 阅读 · 0 评论 -
faker php测试数据库生成2
因内容太长,被csdn截断了,只好把另外的内容写到这里。//Biased// 在10到20之间得到一个随机数字,有更大的几率接近20echo $faker->biasedNumberBetween($min = 10, $max = 20, $function = 'sqrt'),'<br>';echo '<hr>';//HtmlLorem//生成...翻译 2018-08-07 18:25:53 · 11917 阅读 · 0 评论 -
faker php测试数据库生成
官方地址:https://github.com/fzaninotto/Faker使用方式:1、composer直接下载: composer require fzaninotto/faker2、将 "fzaninotto/faker": "^1.8" 加入composer.json,执行composer update3、github下载到本地引入项目和简单使用:require '...翻译 2018-08-07 18:17:06 · 13704 阅读 · 0 评论 -
curl_get和curl_post,伪造请求头,绕过防盗链下载文件
//curl-get function curl_get($url, $timeout = 10) { $ch = curl_init();//初始化 curl_setopt($ch, CURLOPT_URL, $url);//抓取指定网页 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE)...转载 2018-05-18 22:19:49 · 11199 阅读 · 0 评论