当前位置:  编程技术>php
本页文章导读:
    ▪关于PHP自动判断字符集并转码的详解       原理很简单,因为gb2312/gbk是中文两字节,这两个字节是有取值范围的,而utf-8中汉字是三字节,同样每个字节也有取值范围。而英文不 管在何种编码情况下,都是小于128,只占用一个字节.........
    ▪安装apache2.2.22配置php5.4(具体操作步骤)       修改 apache2.2/httpd.conf 配置文件,让apache能够解析php文件 #修改监听端口Listen 8011 #在LoadModule的最后一段后面添加下面一句话LoadModule php5_module "E:/LAMP/php5.4/php5apache2_2.dll" #修改服务器网站目录为.........
    ▪php 批量生成html,txt文件的实现代码       首先建立一个conn.php的文件用来链接数据库 代码如下:<?php    $link = mysql_connect("mysql_host" , "mysql_user" , "mysql_password" )or die("Could not connect : " . mysql_error());     mysql_query("set names utf8");     my.........

[1]关于PHP自动判断字符集并转码的详解
    来源: 互联网  发布时间: 2013-11-30
原理很简单,因为gb2312/gbk是中文两字节,这两个字节是有取值范围的,而utf-8中汉字是三字节,同样每个字节也有取值范围。而英文不 管在何种编码情况下,都是小于128,只占用一个字节(全角除外)。
如果是文件形式的编码检查,还可以直接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);   
}
?>


    
[2]安装apache2.2.22配置php5.4(具体操作步骤)
    来源: 互联网  发布时间: 2013-11-30

修改 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的话,自己另外百度去吧。


    
[3]php 批量生成html,txt文件的实现代码
    来源: 互联网  发布时间: 2013-11-30
首先建立一个conn.php的文件用来链接数据库
代码如下:

<?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);
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3