10 2018 档案
摘要:base64是一种编码,用6个二进位来表示一个字节。 图片可通过base64编码转换成一组字符串。直接解码该字符串即可获取图片。 base64编码后的图片写入网页可以减少一个http请求,但是不能缓存图片。而且编码后比原来图片体积大三分之一左右。 所以只适用于icon这类10K以内的图片。 html
阅读全文
摘要:curl_setopt所有设置项: http://php.net/manual/zh/function.curl-setopt.php 封装好的CURL操作类: https://github.com/wenpeng/curl CURL发送get/post请求示例 https://github.com
阅读全文
摘要:1、判断是否登录(check_login.php) 所有后台操作都要加上,用于权限控制 <?php header("Content-type: text/html; charset=utf-8"); session_start(); if($_SESSION['username']==""){ ec
阅读全文
摘要:数组转XML publicfunction arrayToXml($arr) { $xml ="<xml>"; foreach($arr as $key => $val){ if(is_numeric($val)){ $xml .="<". $key .">". $val ."</". $key .
阅读全文
摘要:不同的奖品具有不同的中奖概率。 /* * 奖项数组 * 奖品id,名称,v表示中奖概率 */ $proArr = array( array('id'=>1,'name'=>'特等奖','v'=>1), array('id'=>2,'name'=>'一等奖','v'=>5), array('id'=>
阅读全文
摘要:图片上传 创建一个文件上传html表单 <html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <inp
阅读全文
摘要:主要应用领域:无限极分类的菜单栏、对评论进行无限次追评 ... 1、数据库设计要求:每一条记录都需要存在id(主键)和pid(父用户id)字段。 2、查询数据库获取所有的记录组成的数组。 3、递归组合成新的数组 //封装成类里面的方法 //$data表示所有的记录组成的数组。&寻址增加查询效率。 p
阅读全文
摘要:动态多文件上传并将路径存储在数据库 1、上传页面index.html <!DOCTYPE html > <html> <head> <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/> <title>多图片上传</tit
阅读全文
摘要:计算两个已知经纬度之间的距离 <?php /** * 求两个已知经纬度之间的距离,单位为km * @param lat1,lat2 纬度 * @param lng1,lng2 经度 * @return float 距离,单位为km **/ function getDistance($lat1, $l
阅读全文
摘要:1、枚举两个日期中间的所有日期 <?php function prDates($start, $end) { $dt_start = strtotime($start); $dt_end = strtotime($end); $temp = []; while ($dt_start <= $dt_e
阅读全文
摘要:1、生成3位随机字符串 <?php $str = randStr(3); echo $str; function randStr($i) { $str = "abcdefghijklmnopqrstuvwxyz0123456789"; $finalStr = ""; for ($j = 0; $j
阅读全文
摘要:数据库导出excel <?php $filename = "info.xls"; //先定义一个excel文件 header("Pragma: public"); header("Expires: 0"); header("Cache-Control:must-revalidate, post-ch
阅读全文
摘要:1、PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: (int)、(integer):转换成整形 (float)、(double)、(real):转换成浮点型 (string):转换成字符串 (bool)、(boolean):转换成布尔类型 (array):转换成数组 (object)
阅读全文
摘要:1、纯数字验证码 1、新建一个captcha.php <?php //设置session,必须处于脚本最顶部 session_start(); $image = imagecreatetruecolor(100, 30); //1>设置验证码图片大小的函数 //设置验证码颜色 imagecolora
阅读全文
摘要:随机红包分配算法 1、数值波动大 header("Content-Type: text/html;charset=utf-8");//输出不乱码,你懂的 $total=10;//红包总额 $num=8;// 分成8个红包,支持8人随机领取 $min=0.01;//每个人最少能收到0.01元 for(
阅读全文
摘要:判断目录是否存在,不存在则循环创建 $path_complete ="qrcodes/online/complete/"; if(!file_exists($path_complete)){ //file_exists检测目录或文件是否存在 mkdir($path_complete,0777,tru
阅读全文
摘要:1、下载PHP Memcache 扩展,并通过命令安装。 2、在php.ini 当中填上这句话:extension="php_memcache.dll" 3、在phpinfo()下查看,是否引用了memcache扩展 1、下载PHP Memcache 扩展,并通过命令安装。 2、在php.ini 当
阅读全文
摘要:Memcache时一个简洁的key-value存储(内存、缓存)数据库。 安装: linux:http://www.runoob.com/memcached/memcached-install.html windows:http://www.runoob.com/memcached/window-i
阅读全文
摘要:redis和memecache的不同在于 1 、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 memcache只支持k/v类型的数据。 2 、Redis支持数据的备份,即master-slave模式的数据备份。memcache不支持。
阅读全文
摘要:1、Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases。 Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为
阅读全文
摘要:应用场景: 例如秒杀。瞬时大量写入订单到数据库,导致数据库无法及时响应。此时可以采用Redis做消息队列,把所有需要写入的数据先写入Redis消息队列中,然后同时在服务器开启php-cli进程循环读取队列中的数据,异步写入数据库。使用redis做消息队列可能会出现消息丢失的情况,因为没有消息接收的确
阅读全文
摘要:windows windows 1、redis扩展库下载地址:https://pecl.php.net/package/redis 。选择版本后需要选择线程安全版本和非线程安全版本。 查看phpinfo。Architecture 选项显示PHP是x86还是x64的版本。Thread Safety 显
阅读全文
摘要:说明:Redis数据是保存在内存中的,重启计算机数据就会丢失。Redis数据持久化表示把内存中的数据保存到磁盘,重启时再次加载数据以保证数据不丢失。 两种解决方案: RDB :持久化可以在指定的时间间隔内生成数据集的时间点快照。 AOF :持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过
阅读全文
摘要:Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value(内存、缓存)数据库(非关系型数据库)。支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。服务端启动redis(进入redis目录):
阅读全文
摘要:1、连接到 redis 服务 <?php //连接本地的 Redis 服务 $redis =newRedis(); $redis->connect('127.0.0.1',6379); echo "Connection to server sucessfully";//设置 redis 字符串数据
阅读全文
摘要:索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。同时建议,一个表中不超过六个索引。 1、普通索引(常用) 第一种方法:直接创建索引 建索引的原则:需要查询的SQL语
阅读全文
摘要:mysql分表和分区有什么联系呢? 1.都能提高mysql的性高,在高并发状态下都有一个良好的表现。 2.对于那些大访问量,并且数据比较多的表,分表和分区可以同时使用(MERGE分表引擎不支持分区)。 mysql分表和分区有什么联系呢? 1.都能提高mysql的性高,在高并发状态下都有一个良好的表现
阅读全文
摘要:当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于减小数据库的负担,缩短查询时间。分表是将一个大表按照一定的规则分解成独立的N个子表。读写数据库的时候根据事先定义好的规则得到对应的子表名,然后去操作它。 1、mysql集群 它并不是分表,但
阅读全文
摘要:在程序中,70%的业务是对数据库的查询操作。高并发数据量大的情况下,通过采用多台服务器,对数据库的读写分离架构可以优化对数据库的操作。 要求: 1、读库和写库的数据一致。数据库版本一致。 2、写数据必须写到写库(或者主库),读数据必须到读库(从库)。 方案: 应用层解决(推荐):代码正则匹配判断SQ
阅读全文
摘要:视图是数据库中的一个虚拟表(本身不存储数据,而是按照指定的方式进行查询)。同真实的表一样,视图包含一系列带有名称的列和行数据。通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。注意:视图不接受参数、只能进行查询,返回一个二维
阅读全文
摘要:一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(
阅读全文
摘要:7.1、MySQL函数参考手册 函数描述 mysqli_affected_rows() 返回前一次 MySQL 操作所影响的记录行数。 mysqli_autocommit() 打开或关闭自动提交数据库修改。 mysqli_change_user() 更改指定数据库连接的用户。 mysqli_char
阅读全文
摘要:6.Delete From删除语句 DELETE FROM 语句用于从数据库表中删除记录。 DELETE FROM table_name WHERE column_name = some_value 为了让 PHP 执行上面的语句,我们必须使用 mysql_query( 函数。该函数用于向 SQL
阅读全文
摘要:5.Update修改语句 UPDATE 语句用于在数据库表中修改数据。 UPDATE table_name SET column_name = new_value,column_name2 = new_value2 WHERE column_name = some_value 为了让 PHP 执行上
阅读全文
摘要:4.Select查询语句 4.1、select语句 上面这个例子在 $sql 变量中存放由 mysqli_query() 函数返回的数据。接下来,我们使用 mysqli_fetch_array() 函数以数组的形式从记录集返回第一行。每个随后对 mysqli_fetch_array() 函数的调用都
阅读全文
摘要:3. Insert Into增加语句 3. Insert Into增加语句 INSERT INTO 语句用于向数据库表添加新记录。 INSERT INTO 语句用于向数据库表添加新记录。 INSERT INTO table_name VALUES (value1, value2,....) 您还可以
阅读全文
摘要:2.MySQL 创建数据库和表 2.1、创建数据库 CREATE DATABASE 语句用于在 MySQL 中创建数据库。 CREATE DATABASE database_name 为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数(用于向 MySQL 连接发送查询或命
阅读全文
摘要:1.MySQL 连接数据库 PHP5.3开始支持用mysqli方法操作MySQL数据库,PHP7.0开始正式废弃旧版的php mysql方法操作数据库。PHP mysqli方法是PHP mysql方法的升级版本。使用上面只存在细微差异。 1.1、连接数据库 在您能够访问并处理数据库中的数据之前,您必
阅读全文

浙公网安备 33010602011771号