代码如下 | 复制代码 |
<?php if(is_uploaded_file($_FILES['file']['tmp_name'])){ //iconv函数解决上传文件中文名乱码的问题,但是不提倡文件名是中文的,特别是unix/linux环境下 ,当你要输出的时候,又要给变回来,iconv('gb2312',UTF-8',$upload) if(!move_uploaded_file($_FILES['file']['tmp_name'],iconv('UTF-8','gb2312',$upload))){ echo 'failed'; }else{ } } } /******关于iconv函数的应用:string iconv ( string in_charset, string out_charset, string str ) * out_charset:输出的文件的格式 * str:文件路径 *****/ |
问题:echo date('o-m-j H:i');
代码如下 | 复制代码 |
〈?php |
输出当前时间:2008-10-12 02:32:17
怪了,实际时间是:2008-10-12 10:32:17
输出结果与本地时间相差8小时。
原因:时区未正确设置。
两种解决方法:
1.加入date_default_timezone_set('Asia/Shanghai');
2. 修改php.ini
[Date]
; Defines the default timezone used by the date functions
date.timezone = PRC 注:PRC为中化人民共和国
如果没有修改php.ini的权限,那么应该在调用date()方法之前加上
代码如下 | 复制代码 |
date_default_timezone_set(‘PRC’); |
最简的就是利用
例子 1
代码如下 | 复制代码 |
<?php world! 例子 2 |
英文的话没有问题,但是中文就出问题了,下面我们使用mb_substr函数处理。
/**
*—————————————————————————————————————–
*PHP有一个mbstring扩展库可以用(有朋友面试PHP的时候还被问到过这个问题哦),但是 *
一般的服务器都没打开php_mbstring.dll,需要在
*php.ini里把php_mbstring.dll打开,如果没有权限的话就只有联系你的ISP了。
*因为mb_string的效率高一些,所以我们先检查一下mb_string是否可以用:
*—————————————————————————————————————–
*/
代码如下 | 复制代码 |
if(function_exists(‘mb_string’)) |
首先定义自己的函数
代码如下 | 复制代码 |
<?php
|
还有一个问题要注意,使用这种方法的时候,你的<head>标签对里的charset只有设成中文的编码才可以,如GBK,GB2312。
下面自己常用的一个中英文字符截取函数
自定义截取中文字符串函数,基本上就是仿照mb_substr写个函数,直接调用罢了,以下为我找到的代码,其实很简单
代码如下 | 复制代码 |
<?php |
例
preg_match_all正则匹配字符串所有连接地址
代码如下 | 复制代码 |
$str ='<a href="http://www.a.com/2010/11-15/5.html">4</a> $ymd=date("y")."/".date("m-d"); |
但是用preg_match正则提取目标内容,死活有问题,
代码测得死去活来。
后来发现“pcre.backtrack_limit ”的值默认只设了100000。
解决办法:
代码如下 | 复制代码 |
|
注:这个参数在php 5.2.0版本之后可用。
另外说说关于:pcre.recursion_limit
pcre.recursion_limit是PCRE的递归限制,这个项如果设很大的值,会消耗所有进程的可用堆栈,最后导致PHP崩溃。
也可以通过修改配置来限制
代码如下 | 复制代码 |
ini_set(‘pcre.recursion_limit’, 99999); |
实际项目应用中,最好也对内存进行限定设置:
代码如下 | 复制代码 |
ini_set(‘memory_limit’, ’64M’); |
有数据库服务器管理权限
找到php.ini 配置文件中的以下三个地方,upload_max_filesize, memory_limit 和post_max_size 修改大小即可。
利用命令来解决步骤如下:
第一,打开 CMD。开始 -> 运行 -> CMD。
第二,进入 mysql 目录。
代码如下 | 复制代码 |
d: |
第三,启动 mysql,输入用户名及密码。
代码如下 | 复制代码 |
mysql -u wper -p |
第四,选择对应的数据库名。
mysql> use wp
第五,设置 utf8 编码。
代码如下 | 复制代码 |
mysql> set names utf8; |
第六,选择 sql 数据库文件路径并导入。
代码如下 | 复制代码 |
mysql>source d:wangeim.sql |
方法三,利用一些专用的数据备份软件,这样他们可以设置导出数据的大小这样就可以解决这个问题了。