汉字转化为拼音(php版)

 更新时间:2016年11月25日 17:36  点击:2068
很多服务器对于中文文件名支持不是很好,有没有好的办法来解决呢???现在的解决方法一般是产生一个ID,将这个ID做文件名;网页上如果url带汉字也经常出错;现在的解决方法一般用urlencode编码
现在用了这个转化,就好多了
原理:利用多维数组
1.添加索引
2.遍历数组
<?
$d=array(
array("a",-20319),
array("ai",-20317),
array("an",-20304),
array("ang",-20295),
array("ao",-20292),
array("ba",-20283),
array("bai",-20265),
array("ban",-20257),
array("bang",-20242),
array("bao",-20230),
array("bei",-20051),
array("ben",-20036),
array("beng",-20032),
array("bi",-20026),
array("bian",-20002),
array("biao",-19990),
array("bie",-19986),
array("bin",-19982),
array("bing",-19976),
array("bo",-19805),
array("bu",-19784),
array("ca",-19775),
array("cai",-19774),
array("can",-19763),
array("cang",-19756),
array("cao",-19751),
array("ce",-19746),
array("ceng",-19741),
array("cha",-19739),
array("chai",-19728),
array("chan",-19725),
array("chang",-19715),
array("chao",-19540),
array("che",-19531),
array("chen",-19525),
array("cheng",-19515),
array("chi",-19500),
array("chong",-19484),
array("chou",-19479),
array("chu",-19467),
array("chuai",-19289),
array("chuan",-19288),
array("chuang",-19281),
array("chui",-19275),
array("chun",-19270),
array("chuo",-19263),
不用说,还得找PHP配置文件php.ini的麻烦:)
打开php.ini,首先找到
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
区域,有影响文件上传的以下几个参数:
file_uploads    =    on    ;是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir    ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize    =    8m    ;望文生意,即允许上传文件大小的最大值。默认为2M


;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
区域,还有一项:
post_max_size    =    8m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M

一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。


但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得关心关心下面的参数:
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time    =    600 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit    =    8m    ;每个PHP页面所吃掉的最大内存,默认8M

把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了。
好了,设置好现在就可以一试。点击一200大M的文件上传一下
在你听歌、想MM或上厕所回来过程中,程序会告诉你上传成功啦~
在本机上测试上传200M的文件成功。
Luck~~

多文件上载系统程序
<?php
//多文件上载系统完整版
include("../include/common.inc");
$title = "多个文件的上载程序";
include("../include/header.inc");

//定义允许上载文件的数目

define("UPLOAD_NO", 10);

echo("<p align='center'><font size='4' color='#000080'>欢迎您!<br>一次可以最多上载".UPLOAD_NO."个文件<br><HR>n");
if($REQUEST_METHOD!="POST"){
echo("<form enctype="multipart/form-data" method=post>n");
echo("<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="3000000">n");

for($i=1;$i<=UPLOAD_NO;$i++){
echo("<input type=file name=infile$i> ");

if($i%2==0)
echo("<br>n");
}

echo("<br><br><input type="checkbox" name="overload" value="ON"></font> <font color='#ff0000'>是否覆盖已经存在的文件?</font>");
echo("<br><br><input type=submit value=上载></form>n");
}
else{
//处理上载
$noinput = true;
for($i=1;$noinput&&($i<=UPLOAD_NO);$i++){
if(${"infile".$i}!="none") $noinput = false;
}
if($noinput){
echo("<font size='4' color='#000080'>没有选定的文件,返回重试</font>");
exit();
}
echo("<p align='center'><font size='4' color='#000080'>您选中的文件已经成功地上载到服务器的临时目录!</font><br>");
echo("<table border='1' width='84%' height='52' bordercolorlight='#008080' bordercolordark='#008080'>
<tr>
<td width='14%' bgcolor='#008000' height='21'><font color='#FFFFFF'>文件号</font></td>
相信大家对QQ已经非常熟悉,但是你试过用QQ发送超大汉字吗?用上这一招,一定会让你的Q友对你刮目相看的。
  首先要确定你的QQ版本是0630以上的,也就是可以改变文字大小的那个版本。在文字栏里面输入下面的代码:
  {tf1ansiansicpg1252deff0{fonttbl{f0fnilfprq2fcharset2 Wingdings;}}
  {colortbl ;ed255green0lue255;}
  viewkind4uc1pardcf1lang1033kerning2f0fs100 Acf0fs52
  par}
  按下发送之后对方会收到什么?是一只小手(如图1)。原来这段代码就是QQ内部的测试码,你可以通过这个来发一些稀奇古怪的符号。注意一下代码第4行当中的“fs100 A”,将其中的“A”改变一下,就可以得到其他的标识。需要说明的是“A”位置的字符区分大小写,输入大写和小写得到的效果不一样,而其中的“100”表示字符的大小,也可以随意改变。代码中的“{colortbl ;ed255green0lue255;}”是对标识颜色的调节。其中分为红、绿、蓝,每一个后面都有一个数字,范围是0~255,不同的组合可以得到不同的颜色。

<!--上传照片示例 upimage.php
功能:上传照片,显示上传人、上传时间、图片名称、图片大小、图片说明。
说明:1.有一些主页空间可能不支持上传后的临时文件操作,那只能换一个试试啦。
2.程序可以自动新建文档photo.txt和目录image,若不能正常运行,请自己新建一个文档photo.txt(和upimage.php在同一个目录下)和目录image.
3.可以到我的主页上测试一下 http://medonline.51.net/upload/upimage.php
-->
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>上传照片</TITLE>
<style type="text/css">
<!--
.white12 { font-size: 12pt; color: #FFFFFF; text-decoration: none}
.blue10 { font-size: 10pt; color: #99CCFF; text-decoration: none}
.black10 { font-size: 10pt; text-decoration: none}
-->
</style>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?php
if ($upload){ //如果点击"上传",则执行此php代码部分
if ($picurl=="none"){
echo "你没有上传任何文件.";
exit; //如果没有上传文件,则退出程序
}
$v=opendir("image");
if ($v==0)
{ mkdir("image"); //若目录不存在,则新建一个
$v=opendir("image"); //取得目录handle
}
$up=copy("$picurl","image/$picurl_name"); //关键一步,将临时文件复制到image目录下
if($up==1)
{
//文件操作
$fp=fopen("photo.txt","a");//打开文件,以添加方式写入留言
//初始化写入内容
$mydate=date("Y年m月d日 h:i A");
$photonote=nl2br($photonote);//将换行字元转成 <br>。
$text="照片名:<a href='image/$picurl_name' target='_blank'>$picurl_name</a> <br>照片大小:$picurl_size byte<br> 照片说明:<BR><span class='blue10'>$photonote</span><br> <div align='right'>上传人: $user($mydate)</div><hr>";
[!--infotagslink--]

相关文章

  • .Net(c#)汉字和Unicode编码互相转换实例

    下面小编就为大家带来一篇.Net(c#)汉字和Unicode编码互相转换实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C#实现String字符串转化为SQL语句中的In后接的参数详解

    在本篇文章中小编给大家分享的是一篇关于C#实现String字符串转化为SQL语句中的In后接的实例内容和代码,需要的朋友们参考下。...2020-06-25
  • 提高网站转化率

    在线预订系统即便存在一点点小错误,也可以导致有价值客户的流失。Jones在其主题为“别让我想,也别让我等”的演讲中,强调客户满意度必然可以换来客户忠诚度。...2016-10-10
  • C++ 数据类型强制转化的实现

    这篇文章主要介绍了C++ 数据类型强制转化的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • C# 汉字转拼音(全拼和首字母)实例

    这篇文章介绍了C# 汉字转拼音(全拼和首字母)实例代码,有需要的朋友可以参考一下...2020-06-25
  • C# 汉字转拼音实例(支持GB2312字符集中所有汉字)

    本篇文章主要介绍了C# 汉字转拼音实例(支持GB2312字符集中所有汉字) ,非常具有实用价值,需要的朋友可以参考下。...2020-06-25
  • C#实现汉字转拼音或转拼音首字母的方法

    这篇文章主要介绍了C#实现汉字转拼音或转拼音首字母的方法,涉及C#操作数组、遍历及正则匹配的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • 取得拼音字头的存储过程

    -- ============================================= -- Create scalar function (NWGetPYFirst) -- ============================================= IF EXISTS (SELE...2016-11-25
  • C#实现将汉字转化为2位大写的16进制Unicode的方法

    这篇文章主要介绍了C#实现将汉字转化为2位大写的16进制Unicode的方法,分析了转换的技巧并以实例形式给出了具体的转换方法,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • 如何用QQ发超大汉字

    相信大家对QQ已经非常熟悉,但是你试过用QQ发送超大汉字吗?用上这一招,一定会让你的Q友对你刮目相看的。   首先要确定你的QQ版本是0630以上的,也就是可以改变文字大小的...2016-11-25
  • 谈汉字转换类型及解决方案

    ●简繁转换有四种情况   汉字转换,分为内码转换和简繁转换。   内码转换属于简繁转换,但是他主要是在GB码和BIG5码之间转换。   另外一种简繁转换是在GB码内部的转换。GB码...2016-11-25
  • .net 随机生成汉字

    在c#中可以使用system.text来处理所有语言编码,其中encodiong类是比较重要的汉字编码类,接下来我们就围绕c#随机生成汉字代码讲起,有需要的朋友可以参考下...2020-06-25
  • C# 汉字转化拼音的简单实例代码

    C# 汉字转化拼音的简单实例代码,需要的朋友可以参考一下...2020-06-25
  • 拼音码表的生成

    <?php /** 拼音码表的生成: 启动输入法生成器在逆转换选项卡中装入window的拼音输入法并将其保存为文 本文件(winpy.txt)备用。 下面的代码将拼音码表文件(文本)装入到...2016-11-25
  • C#获取汉字字符串拼音首字母的方法

    这篇文章主要介绍了C#获取汉字字符串拼音首字母的方法,实例分析了C#操作汉字及字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C#实现把科学计数法(E)转化为正常数字值

    这篇文章主要介绍了C#实现把科学计数法(E)转化为正常数字值,本文直接给出代码实例,需要的朋友可以参考下...2020-06-25
  • C#实现将浮点数表示的货币数量以汉字大写形式输出的方法

    这篇文章主要介绍了C#实现将浮点数表示的货币数量以汉字大写形式输出的方法,涉及C#针对浮点数的遍历与字符替换操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • .NET截取指定长度汉字超出部分以"..."代替 实例分享

    .NET截取指定长度汉字超出部分以"..."代替 实例分享,需要的朋友可以参考一下...2021-09-22
  • php中截取汉字,避免半个字节的问题

    1. $In 要截取的字符串, $num要截取的长度, 返回截取的字符串 public function substrGB($in,$num) { //$num=16; $pos=0; $byteNum...2016-11-25
  • 汉字转拼音缩写示例代码(Silverlight和.NET 将汉字转换成为拼音)

    本篇文章主要介绍了汉字转拼音缩写示例代码(Silverlight和.NET 将汉字转换成为拼音) 需要的朋友可以过来参考下,希望对大家有所帮助...2020-06-25