技术饭
PHP文件上传实现上传到另一台服务器
本文讲的是PHP文件上传实现上传到另一台服务器, ftp_connect() 函数建立一个新的 FTP 连接。 若成功,则返回一个连接标识,否则返回 false。 语法 host 必需。规定要连接的 FTP 服务器。可以是域名或 IP 地址。 后面不应以斜线结尾,前面也不需要用。
阅读全文 » 2268天前2018年10月07日
Mysql-Proxy代理配置
Mysql-Proxy是一个处于你的client端和Mysql Server端之间的一个简单程序,它可以监测、分析和改变他们的通信。它使用灵活没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。
阅读全文 » 2269天前2018年10月06日
MySQL 8.0主从(Master-Slave)配置
MySQL 主从复制的方式有多种,本文主要演示基于基于日志(binlog)的主从复制方式。MySQL 主从复制(也称 A/B 复制) 的原理:Master将数据改变记录到二进制日志(binary log)中,也就是配置文件log-bin指定的文件, 这些记录叫做二进制日志事件(binary log events);Slave 通过 I/O 线程读取 Master 中的 binary log events 并写入到它的中继日志(relay log);Slave 重做中继日志中的事件, 把中继日志中的事件信息一条一条的在本地执行一次,完成数据在本地的存储, 从而实现将改变反映到它自己的数据(数据重放)。
阅读全文 » 2270天前2018年10月05日
MySQL创建自定义函数(Functions)
MySQL创建自定义函数(Functions),查看函数功能是否开启:show variables like '%func%';开启:SET GLOBAL log_bin_trust_function_creators=1;关闭:SET GLOBAL log_bin_trust_function_creators=0;
阅读全文 » 2270天前2018年10月05日
mysql触发器trigger 实例详解
触发器是由事件来触发某个操作,这些事件包括insert语句、update语句和delete语句。当数据库系统执行这些事件时,会激活触发器执行相应操作。MySQL从5.0.2开始支持触发器。使用触发器可以保证某些操作之间的一致性。
阅读全文 » 2270天前2018年10月05日
mysql的event(事件)用法详解
mysql5.1版本开始引进event概念。event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。
阅读全文 » 2270天前2018年10月04日
Mysql中的存储过程
简单的说Mysql中的存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用。
阅读全文 » 2271天前2018年10月04日
mysql数据库分表及实现
项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。当出现这种情况时,我们可以考虑分表,即将单个数据库表进行拆分,拆分成多个数据表,然后用户访问的时候,根据一定的算法,让用户访问不同的表,这样数据分散到多个数据表中,减少了单个数据表的访问压力。提升了数据库访问性能。
阅读全文 » 2271天前2018年10月04日
MySQL主键和外键使用及说明
MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作。
阅读全文 » 2272天前2018年10月03日
MySQL8.0修改用户密码语句
MySQL8.0修改用户密码语句,mysql8 与以前版本还是有点区别的,首先登陆mysql,mysql -u root -p '密码',use mysql,ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'
阅读全文 » 2272天前2018年10月03日
MySQL特殊一些函数
MySQL特殊一些函数,EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等,CONCAT_WS() 是CONCAT()的特殊形式,第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间,GROUP_CONCAT([DISTINCT] 要连接的字段,[Order BY ASC/DESC 排序字段] [Separator '分隔符']),REPEAT()函数,用来复制字符串,LOCATE()函数表示某个字符出现的位置。
阅读全文 » 2272天前2018年10月03日
MySql数据统计使用 WITH ROLLUP 统计总和
MySql数据统计使用 WITH ROLLUP 统计总和,ITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。例如我们将以上的数据表按名字进行分组,再统计每个人登录的次数。
阅读全文 » 2272天前2018年10月03日
php利用array_search与array_column实现二维数组查找
在看php手册数组函数时,看到了一个高赞的用户回答传送门,利用array_search与array_column实现二维数组查找,不用自己写个循环,减少工作量。
阅读全文 » 2276天前2018年09月28日
PHP-中文转换成拼音
encode方法中传进两个参数,$utf8Data, $sRetFormat,第一个参数为传入的中文,字符编码为utf-8,如果不是这个编码要转换成utf-8,第二个参数head:首字母|all:全拼音,返回值为转换后的拼音
阅读全文 » 2280天前2018年09月25日
mysql 替换某个字段中的某个字符
mysql 替换某个字段中的某个字符,需求:修改字段中的 /uploads/2018/ 为 /uploads/2018/09/ ,解决方法:使用sql的 replace() 方法:update 表名 set 字段名 = REPLACE (字段名, '原来的值', '要修改的值');
阅读全文 » 2286天前2018年09月19日
PHP抓取远程图片到本地保存
最近在工作中需要开发了一个用户素材功能,里面需要将网上的各种图片素材进行本地化存储。于是在网上找了一些相关资料,并根据自身开发需要,整理了一下主要的逻辑代码。
阅读全文 » 2288天前2018年09月17日
linux的chown命令
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。
阅读全文 » 2289天前2018年09月16日
Linux用户与用户组详解
在linux中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。在linux系统中,所创建的用户帐号和其相关信息(密码除外)均是存放在/etc/passwd配置文件中。由于所有用户对passwd文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了/etc/shadow的配置文件中。
阅读全文 » 2289天前2018年09月16日
PHP7.2安装之后图片验证码验证失败,php.ini文件设置session.save_path失败的解决办法
PHP7.2安装之后图片验证码验证失败,php.ini文件设置session.save_path失败的解决办法,php5.3.3以前php-fpm还没有被php收录,配置php基本都在php.ini里面,php5.3.3及以后,除了在php.ini配置以外,还可以在php-fpm.conf里面配置。
阅读全文 » 2290天前2018年09月15日
php7+mysql8下出现网页无法访问问题解决方案
php7+mysql8下出现网页无法访问问题解决方案,最近因为剁手买了Centos7,在上面搭建Ningx1.14.0+PHP7.2+Mysql8.0环境。数据库mysql从5.7跳到8,性能快了一倍,lnmp基本都弄好了,但是到用php连接Mysql这一步出了问题,一直无法加载网页,可是使用客户端、shell命令都可以进入mysql,多方查询才找到答案!
阅读全文 » 2290天前2018年09月15日
报错:1130-host ... is not allowed to connect to this MySql server
报错:1130-host ... is not allowed to connect to this MySql server
阅读全文 » 2291天前2018年09月14日
Nginx Linux详细安装部署教程
Nginx Linux详细安装部署教程,nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。
阅读全文 » 2291天前2018年09月14日
yum命令,yum源,yum简介
在windows上安装一个软件,我们可以通过360管家。因为360管家提供了软件的安装,卸载,并且解决了软件之间的依赖等相关问题,使得我们能够一键安装。在linux上有一个提供了和360管家类似功能的工具,叫做yum。使用yum我们就可以做到一个命令安装软件,并且不同的发行linux有不同工具,例如红帽(read hat)linux就使用的rpm全称就是read hat package manager 红帽软件包管理工具。yum源是什么呢?我们安装软件的时候需要下载软件,将很多软件放在一起就是源。软件安装包的来源。所以yum源就是软件安装包来源。如果我们是在线的,他会在网上给你下载安装包,如果是离线的没有网络。那么就只能配置本地的yum源了。
阅读全文 » 2291天前2018年09月14日
Redis 密码设置和查看密码
Redis 密码设置和查看密码,redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。
阅读全文 » 2291天前2018年09月14日
Mysql客户端登录问题:mysql Client does not support authentication protocol requested by server; consider upgrading MySQL
Mysql客户端登录问题:mysql Client does not support authentication protocol requested by server; consider upgrading MySQL
阅读全文 » 2291天前2018年09月14日
Html中的click事件被触发两次的解决方案
在做项目的时候遇到了Html中的click事件被触发两次,甚至更多次,简单来说,就是因为点击label的时候,事件冒泡一次,同时会触发关联的input的click事件,导致事再次触发事件。
阅读全文 » 2292天前2018年09月13日
webuploader + cropper实现图片裁剪后上传
介绍两个插件cropper和webuploader。cropper是一款使用简单且功能强大的图片剪裁jQuery插件。该图片剪裁插件支持图片放大缩小,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用。而WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。如果你的H5项目是基于zepto.js,你就可以使用webuploader这个插件;如果你的H5项目是基于jquery,你就可以使用cropper这个插件。webuploader是兼容zepto和jquery的,而cropper只能基于jquery。
阅读全文 » 2293天前2018年09月12日
PHP高并发的解决思路
当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。这种方式我们称之为并发(Concurrent)。
阅读全文 » 2302天前2018年09月02日
【转】MySQL性能优化的最佳21条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。
阅读全文 » 2432天前2018年04月26日
Laravel框架重要知识整理
Laravel框架重要知识整理,Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。
阅读全文 » 2449天前2018年04月09日
PHPStorm的基础常用配置
PHPStorm的基础常用配置,PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。
阅读全文 » 2454天前2018年04月04日
Sublime Text 3安装及常用插件安装
Sublime Text 3安装及常用插件安装,Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。
阅读全文 » 2454天前2018年04月04日
Laravel框架基础入门,Composer的基础使用
Laravel框架基础入门,Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。
阅读全文 » 2455天前2018年04月03日
jsonp请求接口php设置返回头部以及js格式化数字
jsonp请求接口php设置返回头部以及js格式化数字,文章主要整理了jsonp请求的php接口的流程并且给出了一些js函数代码,方便处理数据。
阅读全文 » 2470天前2018年03月19日
MySQL批量删除指定前缀表
MySQL批量删除指定前缀表,Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'hp_%';"hp"为要删除的表前缀,执行此SQL语句后会生成一串SQL语句,必须再执行生成的这些SQL语句才能真正执行删除操作。
阅读全文 » 2474天前2018年03月15日
Nginx配置多个虚拟主机,多级域名不能无法配置问题
Nginx配置多个虚拟主机,多级域名不能无法配置问题,could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32,保存服务器名字的hash表是由指令 server_names_hash_max_size 和 server_names_hash_bucket_size所控制的。
阅读全文 » 2476天前2018年03月13日