Welcome 微信登录

首页 / 网页编程 / PHP

php上传图片存入数据库示例分享

php上传图片存入数据库示例分享

大部分人的图片上传都是保存一个路径到数据库,这样在插入时确实快,也符合web的特点,但是在删除时就很麻烦,需要找到文件并删除,该代码能够把代码直接存入数据库,删除时一并删除。请注意:这样的话数据库大小会激增,请酌情使用表结构 复制代码 代码如下:CREATE TABLE `upload` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `type` varchar(20) NOT NULL, `data` ...
php实现快速排序的三种方法分享

php实现快速排序的三种方法分享

写了三种php快速排示例,第一种效率低但最简单最容易理解,第二个是算法导论上提供的单向一次遍历找中值方法,第三种是双向遍历找中值经典快排算法。三组算法实现和比较如下:方法一:该方法比较直观,但损失了大量的空间为代价,使用了效率较低的merge函数。在三种方法中效率最低。最坏情况下算法退化为(O(n*n))复制代码 代码如下:function quick_sort($array) {if(count($array) <= 1) return $arra...
php截取字符串之截取utf8或gbk编码的中英文字符串示例

php截取字符串之截取utf8或gbk编码的中英文字符串示例

微博的发言有字数限制,其计数方式是,中文算2个,英文算1个,全角字符算2个,半角字符算1个。php中自带strlen是返回的字节数,对于utf8编码的中文返回时3个,不满足需求。mb_strlen 可以根据字符集计算长度,比如utf8的中文计数为1,但这不符合微博字数限制需求,中文必须计算为2才可以。google了下,找到一个discuz中截取各种编码字符的类,改造了下,已经测试通过.其中参数$charset 只支持gbk与utf-8。复制代码 代码如下:...
php使用websocket示例详解

php使用websocket示例详解

下面我画了一个图演示 client 和 server 之间建立 websocket 连接时握手部分,这个部分在 node 中可以十分轻松的完成,因为 node 提供的 net 模块已经对 socket 套接字做了封装处理,开发者使用的时候只需要考虑数据的交互而不用处理连接的建立。而 php 没有,从 socket 的连接、建立、绑定、监听等,这些都需要我们自己去操作,所以有必要拿出来再说一说。① 和 ② 实际上就是一个 HTTP 的请求和响应,只不过我们在...
PHP中4个加速、缓存扩展的区别和选用建议

PHP中4个加速、缓存扩展的区别和选用建议

折腾VPS的朋友,在安装好LNMP等Web运行环境后都会选择一些缓存扩展安装以提高PHP运行速度,常被人介绍的有eAccelerator、memcached、xcache、Alternative PHP Cache这几个缓存扩展,它们之间有什么区别?分别的作用又是什么?我们如何选择?这是本文给于大家的答案。1、eAcceleratoreAccelerator是一个自由开放源码PHP加速器,优化和动态内容缓存,提高了PHP脚本的缓存性能,使得PHP脚本在编译...
PHP的变量类型和作用域详解

PHP的变量类型和作用域详解

PHP中变量的作用域可以分为:超全局(全局变量的特殊类型,在局部范围里可直接使用),全局,局部,静态(是局部变量的特殊类型)在PHP中,全局变量实际上是静态全局变量,如果不用unset显式的释放,那么等脚本运行结束全局变量才会被释放掉局部静态变量细分可以是 局部静态函数变量(函数中声明的static变量),局部静态成员变量(类中声明的 static 属性,被所有类实例共享)局部静态变量只有脚本运行结束才会被自动释放超全局变量:在一个脚本的任何作用域里都可以...
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)

支持中文和其他编码的php截取字符串函数分享(截取中文字符串)

简单的字符串截取方法,支持中文和其他编码,传入相对应的参数直接调用就可以了复制代码 代码如下:/*** 字符串截取,支持中文和其他编码* @static* @access public* @param string $str 需要转换的字符串* @param string $start 开始位置* @param string $length 截取长度* @param string $charset 编码格式* @param string $suffix 截...
php统计时间和内存使用情况示例分享

php统计时间和内存使用情况示例分享

复制代码 代码如下:/*** 记录和统计时间(微秒)和内存使用情况* 使用方法:* <code>* G("begin"); // 记录开始标记位* // ... 区间运行代码* G("end"); // 记录结束标签位* echo G("begin","end",6); // 统计区间运行时间 精确到小数后6位* echo G("begin","end","m"); // 统计区间内存使用情况* 如果end标记位没有定义,则会自动以当前作为标记...
<< 371 372 373 374 375 376 377 378 379 380 >>