用PHP如何判断一个文件的编码?
整理自:http://bbs.phpchina.com/viewthread.php?tid=18006
文件a.txt,用PHP如何判断它的编码是GBK还是UTF-8呢?
1,重新认识一下此问题,当时版主回复的时候我就觉得mb函数里一定有这样的功能,但今日研究了mb库,并没有这样的功能。用mb_detect_encoding总是不准确。
echo mb_detect_encoding(file_get_contents('a.txt'));
2,我在PHP的在线文档中找了一个方法,可以解决你的问题,需要自己编写一个函数来实现。
具体代码如下:
function isUTF8($str)
{
if ($str === mb_convert_encoding(mb_convert_encoding($str, "UTF-32", "UTF-8"), "UTF-8", "UTF-32"))
{
return true;
}
else
{
return false;
}
}
$content = file_get_contents("a.txt");
echo isUTF8($content);
3,经测试,在编码种类不多的情况下,2方法成功率还是挺高的。
function ChickC($str)
{
$array = array('ASCII','GBK','UTF-8');
foreach ($array as $value)
{
if ($str === mb_convert_encoding(mb_convert_encoding($str, "UTF-32", $value), $value, "UTF-32"))
return $value;
}
return false;
}
相关文档:
PHP核心开发者Andrei Zmievski在最近举行的2009 Zend/PHP会议的主题发言中提出:“在接下来的PHP6重要升级中,将通过支持Unicode来帮助开发者们写出能够部署到多个不同语言市场的应用程序。”
商业开发中如果只是开发为特语言市场的应用程序,就会失去其他地方的商业机会。早在2006年4月,Andrei Zmievs ......
生成6 ~ 16位的用户名若干个,主要是文本操作,但是前提是要有一个字符串包。主要包含三个程序。
程序一:负责从字典中随机提取数据,写入一个新文件。(1.php)
<?php
/* 从字典文件中提取随机值 */
$file1 = "./Words.dic";
$file2 = "./common_pass_mini.dic";
$file3 = "./Sys_Month_Date.Dic";
$rfile = "./ ......
我们常常在网站上看到某篇文章发表于“3天前”,“5个月前”,“4年前”。下面这个函数就提供了计算这个时间差的功能。
<?php
/**
* 时间差计算
*
* @param Timestamp $time
* @return String Time Elapsed
* @author Shelley Shyan
* @copyright http://phparch.cn (Professiona ......
配置还是非常简单的,充分体现了nginx的强大与配置的简单^^下面是大致的服务器结构图:
应用的最前端是一台nginx服务器,所有静态的内容都由nginx来处理,而将所有php的请求都分摊到下游的若干台运行php fastcgi守护进程的服务器中,这样可以以一种廉价的方案来实现对系统负载的分摊,扩展系统的负载能力。
三台php fastc ......