如果是文件形式的编码检查,还可以直接check utf-8的BOM信息。话不多说,直接上函数,这个函数是用来对字符串进行检查和转码的。
<?php
function safeEncoding($string,$outEncoding ='UTF-8')
{
$encoding = "UTF-8";
for($i=0;$i<strlen($string);$i++)
{
if(ord($string{$i})<128)
continue;
if((ord($string{$i})&224)==224)
{
//第一个字节判断通过
$char = $string{++$i};
if((ord($char)&128)==128)
{
//第二个字节判断通过
$char = $string{++$i};
if((ord($char)&128)==128)
{
$encoding = "UTF-8";
break;
}
}
}
if((ord($string{$i})&192)==192)
{
//第一个字节判断通过
$char = $string{++$i};
if((ord($char)&128)==128)
{
// 第二个字节判断通过
$encoding = "GB2312";
break;
}
}
}
if(strtoupper($encoding) == strtoupper($outEncoding))
return $string;
else
return iconv($encoding,$outEncoding,$string);
}
?>
修改 apache2.2/httpd.conf 配置文件,让apache能够解析php文件
#修改监听端口
Listen 8011
#在LoadModule的最后一段后面添加下面一句话
LoadModule php5_module "E:/LAMP/php5.4/php5apache2_2.dll"
#修改服务器网站目录为 E:/LAMP/www
DocumentRoot "E:/LAMP/www"
#同时还有一个地方要改
<Directory "E:/LAMP/www">
#在<IfModule dir_module>里面的index.html前面添加index.php,即默认先打开index.php,如果没有才再打开index.html
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
#添加可执行的文件在 AddType application/x-gzip .gz .tgz 后面添加下面两句话
AddType application/x-httpd-php .php .phtml
PHPIniDir "E:/LAMP/php5.4"
修改 php5.4/php.ini-production 配置文件
先将php.ini-production文件重命名为php.ini
;设置php的扩展库路径,找到 ; extension_dir = "ext",在下面添加以下一句话
extension_dir = "E:/LAMP/php5.4/ext"
;开启php扩展库
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;将上面四句话前面的分号去掉
;设置session临时保存路径,找到;session.save_path = "/tmp",在下面添加以下一句话(路径可以自由设置)
session.save_path = "E:/LAMP/php5.4/session_temp"
;同样cookie临时保存路径
session.cookie_path = "E:/LAMP/php5.4/session_temp"
配置完之后,再将 E:LAMPphp5.4ext 目录下的
php_mysql.dll 和 php_mysqli.dll
两个文件复制粘贴到“C:WindowsSystem32”目录中,
如果你的操作系统是win7x64位的,则复制粘贴到“C:WindowsSysWOW64”目录中。
ok,现在重启一下你的apache,看看是不是能用了。
测试运行一下phpmyadmin,看看能不能运行。如果能正常运行,则大功告成了。
注意:这里没有提供mysql的安装方法。之前没有安装mysql的话,自己另外百度去吧。
<?php
$link = mysql_connect("mysql_host" , "mysql_user" , "mysql_password" )or die("Could not connect : " . mysql_error());
mysql_query("set names utf8");
mysql_select_db("my_database") or die("Could not select database");
?>
php 批量生成html
<?php
require_once(“conn.php”);
$query = "SELECT id,title,introduce FROM my_table";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
/* 生成 HTML 结果 */
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$id=$row['id'];
$title=$row['title'];
$introduce=$row['introduce'];
$path="html/$id.html";
$fp=fopen("template.html","r"); //只读打开模板
$str=fread($fp,filesize("template.html"));//读取模板中内容
$str=str_replace("{title}",$title,$str);
$str=str_replace("{introduce}",$introduce,$str);//替换内容
fclose($fp);
$handle=fopen($path,"w"); //写入方式打开新闻路径
fwrite($handle,strip_tags($introduce)); //把刚才替换的内容写进生成的HTML文件
fclose($handle);
//echo "<a href=/blog_article/html/$id.html>生成成功</a>/index.html"."<br>";
}
/* 释放资源 */
mysql_free_result($result);
mysql_close($link);
?>
template.html文件内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{title}</title>
</head>
<body>
{introduce}
</body>
</html>
php 批量生成txt
<?php
require_once(“conn.php”);
$query = "SELECT kid,title,introduce FROM pro_courses";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
/* 生成 txt 结果 */
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$id=$row['id'];
$title=$row['title'];
$introduce=$row['introduce'];
$path="html/$id.txt";
$handle=fopen($path,"w"); //写入方式打开新闻路径
fwrite($handle,strip_tags($introduce)); //把刚才替换的内容写进生成的txt文件
fclose($handle);
}
/* 释放资源 */
mysql_free_result($result);
mysql_close($link);
?>