- 博客(34)
- 资源 (2)
- 收藏
- 关注
原创 一张表读懂iptables
网络 | | 数据 转发 PREROUTING (raw->mangle->nat) POSTROUTING (mangle->nat) |- FORWARD (mangle->filter) -| 数据 处理 INPUT (mangle->filter) ...
2020-11-05 17:48:28
705
原创 开源网页图片打印服务
因为要做一个活动,需要用户上传照片,然后有服务器编辑后,在前端打印。这本是一个很简单的功能,但却卡在了最后一步,就是如何将照片输出到打印机。如果将照片下载然后用专业软件打印当然可以,但是考虑到活动现场的状况,太复杂的操作可能引起混乱。 首先想到的是直接使用浏览器自带的打印功能,使用print.js,打印局部页面。测试过各个浏览器后,发现问题远没想象的那么好。chrome及chromium核心的浏览器在打印时都会将彩色页面打印成黑白页面。这真的不可接受。firefox对局部页面的打...
2020-06-11 16:03:38
482
1
原创 php中常见的大坑,开发中应尽量避免
1、不同系统获取的路径,文件名编码不同2、32位和64位PHP最大值不同PHP_INT_SIZE,PHP_INT_MAX,intval3、filesize不能正确获取大于2G文件的大小4、filesize缓存的问题,需调用clearstatcache5、内部编码使用ansi6、保存文件使用utf-8必须删除bom签名7、jso
2017-05-18 17:01:56
3735
翻译 一张图彻底理解SQL中的各种join
1、所有的join都从cross join衍生而来2、所有join图示本文摘自https://blog.jooq.org/2016/07/05/say-no-to-venn-diagrams-when-explaining-joins/
2017-04-26 14:46:54
2653
原创 php转码中的iconv与mb_convert_encoding的理解
由于php内部未采用unicode编码,因此php在处理高阶字符。如中文,日文等时,均有乱码的情况。解决方案就是转码,php有两个主要的转码函数。iconv和mb_convert_encoding。iconv是c语言中的iconv的包装,但是其底层实现却不一样,linux下通常使用glibc方式实现转码,使用系统码表;window下通常使用libiconv的方式,自带码表。mb_conve
2017-04-19 17:03:43
13577
原创 centos下使用源码安装redis及php-redis
安装php-redishttps://github.com/phpredis/phpredis/archive/3.1.2.tar.gzcd phpredis-3.1.2/usr/bin/phpize # 生成配置文件/configure --with-php-co
2017-04-14 15:12:15
3004
原创 window下pyOpenSSL的编译安装
1、下载pyOpenSSL源码https://pypi.python.org/pypi/pyOpenSSL/0.15.12、下载openssl源码http://www.openssl.org/3、下载nasmhttp://www.nasm.us/pub/nasm/releasebuilds/2.11.08/4、编译openssl源码。perl Configure VC-
2017-04-13 15:18:39
4499
原创 php的位运算详解
$a $a >> $b Shift right(右移) 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。$a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。$a | $b Or(按位或) 将把 $a 或者 $b 中为 1 的位设为 1。相当于相加$a ^ $b Xor(按位异或) 将把 $a 和 $b 中不同的位设为 1。~ $
2017-04-13 15:17:32
2945
原创 MySQL中MyISAM与InnoDB区别及选择
InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和索引存放在表空间里面跨平台可直接拷贝使用InnoDB中必须包含AUTO_INCREMENT类型字段的索引表格很难被压缩MyISAM:不支持事务,回滚将造成不完全
2017-04-13 15:16:43
70261
1
原创 php处理多字节字符mbstring及编码转换iconv
由于php内部使用单字节形式存储数据。这使得php在处理多字节文字的时候先天欠缺。只要是对数据进行原样处理。不进行计数,截取等。一般问题也不大,不幸的是对中文等多字节字符的截取,计数是一个很常见的问题。为了避免有字符被截取一半的问题。因此引入了php库mbstring(Multibyte String)常用的有以下函数mb_substr ( string $str , int $start [
2017-04-11 16:57:35
1986
原创 php类文件的自动加载机制__autoload,spl
面向对象开发推荐一个类一个php文件,这样在调用时会出现要包括较多的文件。在复杂的项目中经常会出现重复包括等问题。其实php内置有几种方法来自动根据需要加载相应的类库。1、__autoload函数php5中引入__autoload函数,会在试图使用尚未被定义的类时自动调用。在__autoload加载指定的类function __autoload($class_nam
2017-04-11 16:56:24
604
原创 常见字符编码详解ANSI,UTF-8,UCS,GBK,GB2312,BIG5
ASCIIAmerican Standard Code for Information Interchange-美国信息交换标准代码,发表于1967年,到2007年12月,逐渐被Unicode取代。单字节字符编码,定义了128个字符ANSI使用多个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码,通常使用 0x80~0xFF 范围的2个字节来表示1个字符。在简体中文W
2017-04-07 16:46:37
2934
原创 常用静态数据js等免费CDN公共库加速服务
百度CDN特点 国内速度稳定,仅支持httphttp://developer.baidu.com/wiki/index.php?title=docs/cplat/libshttp://cdn.code.baidu.com/新浪CDN特点 国内速度稳定,仅支持httphttp://lib.sinaapp.com/360CDN特点 国内速度稳定,仅支持http,
2017-04-07 16:45:00
1674
原创 php5.0到5.6的新特性,开发时应注意版本的兼容性
php5.0使用了Zend 2 引擎。增加完善的面向对象模型增加了新关键字,包括this,try,catch,public,private,protected等改变strrpos() 和 strripos()使用整个字符串作为 needle。改变array_merge() 只接受数组改变非法使用字符串偏移量会导致 E_ERROR 而不是 E_WARNING改变get_c
2017-04-06 14:25:40
2266
原创 MYSQL性能查看(命中率,慢查询)
网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据服务器的”状态”进行优化。 mysql> show global status; 可以列出MySQL服务器运行各种状态值,另外,查询MySQL服务器配置信息语句:
2017-04-05 14:09:15
409
原创 删除已存在的SVN账户信息
当本地已保存svn用户信息,想更改用户的时候,我的tortoisesvn客户端没有直接图形化配置的地方。这时需要进入如下目录: (XP)C:\Documents and Settings\Administrator\Application Data\Subversion\auth\svn.simple (win7)C:\Users\Administrator\AppData\R
2017-04-05 14:07:54
3347
原创 收集一些指数网站
淘宝指数http://shu.taobao.com/百度指数http://index.baidu.com/搜狗指数http://top.sogou.com/新浪微博指数http://data.weibo.com/top搜狐视频指数http://index.tv.sohu.com/index.html编程语言指数http://www.tiobe.com/index.php/con
2017-04-05 14:04:17
688
原创 nodejs 的模块加载
路径查找根据路径的情况进行查找。/表示根目录, ../表示上级目录,./表示当前目录 循环node_modules查找 即从当前目录开始向父目录逐级查找。直至找到 如当前目录文件/home/ry/projects/foo.js 要载入模块bar.js。要查找的步骤是 1 /home/ry/projects/node_modules/bar.js
2017-04-05 13:56:22
694
原创 使用Atom与XDebug调试php程序
网上有介绍使用atom编辑器来调试php,可惜都是复制来拷贝去。看完还是云里雾里。其实atom来调试php相比phpstorm,pdt等工具是更加的简单。下面笔者将摸索的步骤分享给大家。1、下载atom,配置php及xdebug,请自行百度搜索2、安装php-debug插件,点击File->Settings,再点install搜索php-debug,找到后点击安装。由于众所周知的网
2017-03-31 16:00:26
6348
2
原创 php常见实现远程调用的几种方法-中间件
XML-RPCXML-RPC大致就是整个过程就是使用XML来进行通信。首先构造一个RPC 服务器端用来处理从RPC客户端传递过来的使用XML封装的请求,并且把处理结果通过XML的形式返回给RPC客户端,客户端就去分析XML获取自己需要的数据。XML-RPC的服务器端必须有现成的函数提供给客户端调用,并且客户端提交的请求中的函数和方法必须和服务器端的一致,否则将无法获取所需要的结果。
2017-03-31 09:10:35
4070
原创 php,apache文件说明,精简web服务器
php5ts.dll php的内核动态链接库文件,没有此文件则php解析器无法使用 php.exe是提供来在命令行执行PHP文件的工具,比如你在有文件ABC.PHP,那么你可以在CMD命令提示符下执行命令php.exe abc.php来运行这个PHP文件。 php-cgi.exe是提供来作为CGI使用的,区别是在文件输出所有内容之前,会自动输出一个下面的HTTP头:X-Power
2017-03-31 09:10:07
756
原创 xdebug,apc,eAccelerator,zend的配置说明
[Xdebug]zend_extension="x:\PHP\ext\php_xdebug-2.0.5-5.2.dll"xdebug.default_enable=on ;显示默认的错误信息xdebug.auto_trace=on ;自动打开“监测函数调用过程”的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。xdebug.c
2017-03-31 09:09:28
662
原创 php版本及配置
FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全) ISAPI的方式来运行PHP就必须用Thread Safe(线程安全) VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择VC9 版本是使用 Visual Studio 2008 编译
2017-03-31 09:08:13
513
原创 nginx配置说明
依赖zlib,pcre, ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ openssl http://www.openssl.org/source/ ./configure --prefix=/usr/local/nginx--with-openssl=/usr/include (启用ssl)--w
2017-03-31 09:07:07
1190
原创 linux常见服务
常用系统服务 acpi-support 高级电源管理支持 acpid acpi守护程序.这两个用于电源管理,非常重要 alsa 声音子系统 alsa-utils anacron cron的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行。 apmd acpi的扩展 atd 类似于cron
2017-03-31 09:05:05
3320
原创 linux配置文件说明
Linux下用字符表示的文件类型-:普通文件 d:目录文件 l:链接文件 b:块设备文件 c:字符设备文件 p:管道文件Linux文件系统配置文件/proc-----内核提供的一个接口,主要用来存储系统统计信息;/etc/mtab--------随着/proc/mount的变化而变化,文件系统的安装和卸载都会在这个文件中反映出来;/etc/fstab-------列出当前系
2017-03-31 09:04:24
508
原创 linux常用命令
系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lshw # 查看当前硬件信息# lspci
2017-03-30 09:06:04
233
原创 apache模块详解说明
根据特定的媒体类型或请求方法,激活特定的CGI脚本LoadModule actions_module modules/mod_actions.so提供从文件系统的不同部分到文档树的映射和URL重定向LoadModule alias_module modules/mod_alias.so发送自己包含HTTP头内容的文件LoadModule asis_module modules/
2017-03-29 13:49:01
2619
翻译 全球(海外)最流行的几个外包接活平台(全面)
<br />国外主要外包接活站点:<br /> <br /> <br /><br /> <br /> <br />No.1GAF (Get A Freelancer): 国外访问人数最多,更新速度最快的外包平台。详细介绍<br /> <br /> <br /><br /> <br /> <br />No.2Elance: 国外比较成熟的三大业务外包平台之一,外包项目类型以软件和网站为主。当年Digg站点的创始人就是通过这个站点找到开发人员的。该站点上大的项目不少,因此也就吸引了很多俄罗斯和印度的软件外包公司
2010-06-24 16:45:00
9976
原创 网上收集的php的一些代码
<br /><br />//遍历文件夹及子文件夹<br />//方法一<br />$arr=system("dir /a /b /s c://svn//*.*"); <br />function my_ls($path){ <br /> foreach (glob($path.DIRECTORY_SEPARATOR.'*') as $f) {<br /> echo is_dir($f) ? my_ls($f) : $f;<br /> }<br />}<br />//方法二<br />function ge
2010-06-24 16:37:00
378
原创 jquery常用的一些代码
//行高亮 $("tr").mouseover(function(){ $(this).addClass("over"); }).mouseout(function(){ $(this).removeClass("over"); }) //隔行变色 $(".tablesorter tbody tr:even").addClass("even"); $(".tablesorter tbody tr:odd").addClas
2010-06-23 17:52:00
701
原创 搜索引擎user-agent
<br />BAIDU "Baiduspider+(+http://www.baidu.com/search/spider.htm)"<br />GOOGLE "Googlebot/2.1+(+http://www.google.com/bot.html)"<br />GOOGLE "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"<br />SOSO "Sosospider+(+http://h
2010-06-14 18:13:00
704
原创 js时钟代码
适用于ie6,7,8.及firefox.这段代码主要难点在于取得当时秒。ie不支持getSeconds()function js_time(){ var now=new Date(); y=now.getFullYear(); m=now.getMonth()+1; d=now.getDate(); hh=now.getHours(); mm=now.getMinutes();
2010-05-27 11:54:00
693
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人