当前位置:  编程技术>php
本页文章导读:
    ▪用于批量生成随机用户名的php程序      本程序用于生成6 ~ 16位的用户名,主要是对文本的一些操作,事先要准备好一个字符串包。 主要由三个主要程序构成,欢迎大家测试使用。 1、从字典中随机提取数据,写入新文件。   代.........
    ▪人民币金额数字转中文大写的php函数      PHP写的人民币金额数字转中文大写的函数,即将数字转换成中文大写。 使用这个函数随便输个数字,即将打印汉字表示的大写数字,真是奇妙无穷啊。   代码如下: <? /**   人民币金额.........
    ▪解决php导出csv文件乱码的问题(图文)      CSV文件 Comma Separator Value(逗号分隔值)。 常用来数据转换的中间文件存在,比如:从Mysql中导出数据到CSV,导入CSV到SqlServer中。 linux环境下php从Mysql数据库中将表的数据按照条件导出成csv,使用.........

[1]用于批量生成随机用户名的php程序
    来源: 互联网  发布时间: 2013-12-24

本程序用于生成6 ~ 16位的用户名,主要是对文本的一些操作,事先要准备好一个字符串包。
主要由三个主要程序构成,欢迎大家测试使用。

1、从字典中随机提取数据,写入新文件。
 

代码如下:

<?php
/* 从字典文件中提取随机值 */
$file1 = "./Words.dic";
$file2 = "./common_pass_mini.dic";
$file3 = "./Sys_Month_Date.Dic";
$rfile = "./5.dic";
$n = 2000;

//提取字典
$basef = file($file1);
$extf = file($file2);
$extf2 = file($file3);
$bf_sum = (count($basef)-1);
$ef_sum = (count($extf)-1);
$ef2_sum =(count($extf2)-1);

//获取随机用户名
for ($i=0; $i<$n; $i++)
{
$bn = crand(0, $bf_sum);
$en = crand(0, $ef_sum);
$en2 = crand(0, $ef2_sum);
$name = $basef[$bn]."_".$extf[$en];
$name = str_replace()("/r/n", "", $name);
$all_name[] = $name;
}

//写入文件
$result = implode("/r/n", $all_name);
$fp = fopen($rfile, "a+") or die('Open $rfile failed');
if (fwrite($fp, $result)) {
echo 'Write user succeed!';
} else {
echo 'Write user failed';
}

//生成随机数字函数
function crand($start, $end)
{
return mt_rand($start, $end);
}
?>

2、合并以上生成的数个文件结果
 

代码如下:

<?php
/* 合并所有生成结果 */

$result_file = "./result.dic";

$fp = fopen($result_file, "a+") or die("Open $result_file failed");

//合并 1.dic ~ 5.dic
for ($i=1; $i<=5; $i++)
{
$cur_file = file_get_contents($i.".dic");
fwrite($fp, $cur_file);
}

//合并 10.dic ~ 11.dic
for ($i=10; $i<=11; $i++)
{
$cur_file = file_get_contents($i.".dic");
fwrite($fp, $cur_file);
}
fclose($fp);
echo 'Write Succeed';
?>

3、过滤重复值和不属于 6~16 之间的值,并生成最终可用数据
 

代码如下:

<?php
/* 生成最终结果 */

$file = "./result.dic";
$target = "./target.dic";

//去掉重复值
$files = file($file);
$files = array_unique($files);

//判断值是不是大于6位小于16位
$sum = count($files);
for ($i=0; $i<$sum; $i++)
{
if (strlen($files[$i])>=6 && strlen($files[$i])<=16) {
$rs[] = $files[$i];
} else {
continue;
}
}

//写入目标文件
$result = implode("", $rs);
$fp = fopen($target, "a+") or die("Open $target failed");
fwrite($fp, $result);
echo 'Write succeed';
?>


    
[2]人民币金额数字转中文大写的php函数
    来源: 互联网  发布时间: 2013-12-24

PHP写的人民币金额数字转中文大写的函数,即将数字转换成中文大写。
使用这个函数随便输个数字,即将打印汉字表示的大写数字,真是奇妙无穷啊。
 

代码如下:

<?
/**
  人民币金额数字转中文大写
  link:www.
  date:2013-2-28
*/
function cny($ns) {
static $cnums=array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"),
$cnyunits=array("圆","角","分"),
$grees=array("拾","佰","仟","万","拾","佰","仟","亿");
list($ns1,$ns2)=explode()(".",$ns,2);
$ns2=array_filter(array($ns2[1],$ns2[0]));
$ret=array_merge($ns2,array(implode("",_cny_map_unit(str_split($ns1),$grees)),""));
$ret=implode("",array_reverse(_cny_map_unit($ret,$cnyunits)));
return str_replace()(array_keys()($cnums),$cnums,$ret);
}

function _cny_map_unit($list,$units) {
$ul=count($units);
$xs=array();
foreach (array_reverse($list) as $x) {
$l=count($xs);
if ($x!="0" || !($l%4)) $n=($x=='0'?'':$x).($units[($l-1)%$ul]);
else $n=is_numeric($xs[0][0])?$x:'';
array_unshift($xs,$n);
}
return $xs;
}
?>

使用方法:直接传递数字参数

以下实例打印出大写的数字,输出结果:壹万贰仟壹佰贰拾壹圆
 

代码如下:
<?php
echo cny('12121');
?>

    
[3]解决php导出csv文件乱码的问题(图文)
    来源: 互联网  发布时间: 2013-12-24

CSV文件
Comma Separator Value(逗号分隔值)。
常用来数据转换的中间文件存在,比如:从Mysql中导出数据到CSV,导入CSV到SqlServer中。

linux环境下php从Mysql数据库中将表的数据按照条件导出成csv,使用utf-8编码导出CSV文件,打开后中文成了乱码 (Windows下CSV文件默认与Microsoft Excel关联),用Notepad++或者Word打开正常,不过排版很乱。
原因在于:BOM。

什么是BOM?
Byte Order Mark(比特序标记)。

为了识别 Unicode 文件,Microsoft 建议所有的 Unicode 文件应该以 ZERO WIDTH NOBREAK SPACE字符开头。这作为一个”特征符”或”字节顺序标记(byte-order mark,BOM)”来识别文件中使用的编码和字节顺序(big-endian或little-endian),具体的对应关系见下表。

 
类Unix系统中并没有使用 BOM,因为它会破坏现有的 ASCII 文件的语法约定。

代码:

注:
在写csv文件时确保php源码是utf-8,并且无BOM,并且没有输出任何内容。
网页(*.html)有BOM,在IE6.x下打开会出现一神奇的空行,Firefox中没有这种怪现象。


    
最新技术文章:
▪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