最近的文章列表

php解决base64编码后解码乱码的问题

在用PHP做东西的时候发现了一个问题,可以简单的归结为乱码的问题,但是这个问题不是函数本身造成的。来看看罪魁祸首是谁。

嫌疑人:base64_encode 和 base64_decode

罪行:我写了一个跳转和提示函数,接收提示信息后跳转到指定的页面,但是跳转提示时汉字乱码。

跳转模版代码如下:

代码如下:
 <!DOCTYPE html><html><head><meta charset="utf-8">
2014/7/16 Comments:
解决php抢购秒杀抽奖等大流量并发入库导致的库存负数的问题(非/阻塞模式)

我们知道数据库处理sql是一条条处理的,假设购买商品的流程是这样的:

sql1:查询商品库存

if(库存数量 > 0)
{
//生成订单...
sql2:库存-1
}

当没有并发时,上面的流程看起来是如此完美,

2014/7/16 Comments:
php截取包含html标签的字符串的函数

这个方法的作用是:php截取含有html标签的字符串,如果标签未闭合就闭合标签,防止未闭合的标签破坏原网页布局。截取完之后将多余的内容替换为...或者其他任意字符,支持锚点指定替换到指定位置。

/*
* ============================== 截取含有 html标签的字符串 =========================
* @param (string) $str 待截取字符串
* @param (int) $lenth 截取长度
* @param (string) $repalce 超出的内容用$repalce替换之(该参数可以为带有html标签的字符串)
* @par
2014/7/15 Comments:
PHP中分析strlen()和mb_strlen()的区别

在php中常见的计算字符串长度的函数有:strlen和mb_strlen.当字符全是英文字符的时候,两者是一样。这里主要比较一下,中英文混排的时候,两个计算结果。

先来看一个例子:

代码如下:
 <?php  
//测试时文件的编码方式要是UTF8 
$str='中文a字1符'; 
2014/7/15 Comments:
PHP判断文件是否被修改,通过获取文件的MD5值的PHP例子

由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法。

代码如下:
 if(isset($_FILES['multimedia']) && $_FILES['multimedia']['error']==0)
{
2014/7/15 Comments:
解决PHP mkdir()无写权限的问题方法

使用mkdir创建文件夹时,发现这个函数有两个参数,第二个参数是为新创建的文件夹指定权限。

但是如果直接用mkdir('文件地址', 0777);时 发现新文件夹的权限并不是777,一般情况下会是022。

因为mkdir在给文件夹制定权限时,会跟当前登录操作系统用户的umask(用户缺省权限属 性)值进行位“与”,得到的值才是最终权限值。

umask 是什么?

我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢?

当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是 umask 干的事情。

umask 设置了用户创建

2014/7/15 Comments:
缩略图生成基于GD库的PHP代码(支持jpg,gif,png格式)

代码说明一切,直接上吧:

<?php
/**
* 缩略图生成类,使用示例:
*/
$newimage=new ImageResize();
$newimage->resize("tu.jpg","tu_lit.jpg",1000,1000);
echo $newimage->GetLastError();
2014/7/14 Comments:
Snoopy(PHP采集类)抓取图片实例

用了两天php的Snoopy这个类,发现很好用。获取请求网页里面的所有链接,直接使用fetchlinks就可以,获取所有文本信息使用fetchtext(其内部还是使用正则表达式在进行处理),还有其它较多的功能,如模拟提交表单等。


使用方法:

先下载Snoopy类,下载地址:http://sourceforge.net/projects/snoopy/
先实例化一个对象,然后调用相应的方法即可获取抓取的网页信息

2014/7/14 Comments:
Snoopy(php采集类)详细介绍(snoopy使用教程)

Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单,可以用来开发一些采集程序和小偷程序,本文章详细介绍snoopy的使用教程。

Snoopy的一些特点:
抓取网页的内容 fetch
抓取网页的文本内容 (去除HTML标签) fetchtext
抓取网页的链接,表单 fetchlinks fetchform
支持代理主机
支持基本的用户名/密码验证
支持设置 user_agent, referer(来路), cookies 和 header content(头文件)
支持浏览器重定向,并能控制重定向深度

2014/7/14 Comments:
使用百度ping服务php代码实例

代码实例:

<?php

function postUrl($url, $postvar)
{
$ch = curl_init();
$headers = array(
"POST".$url."HTTP/1.0",
"Content-type: text/xml; charset=\"gb2312\"",
2014/7/14 Comments: