使用PHP批量生成随机用户名

 更新时间:2016年11月25日 16:15  点击:2075
生成6 ~ 16位的用户名若干个,主要是文本操作,同事前提是要有一个字符串包。主要包含三个程序。
程序一:负责从字典中随机提取数据,写入一个新文件。(1.php)
<?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(" ", "", $name);
 $all_name[] = $name;
}
//写入文件
$result = implode(" ", $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)
<?php
/* 合并所有生成结果 111cn.net*/
$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';
?>
程序三:负责过滤重复值和不属于 6~16 之间的值并且生成最终结果(3.php)
<?php
/* 生成最终结果 */
$file = "./result.dic";
$target = "./target.dic";
需要gd库支持.
Image 图像函数
参见http://php.liukang.com/manual/zh/ref.image.php
<?php
// BY PHP 国度 www.phphot.be
//关闭报错
error_reporting(0);
//图片宽度
$x_size=60;
//图片高度
$y_size=20;
//生成4个随机字符
$nmsg=num_rand(4);
//支持安全通连接吗?
$S=$_SERVER['SERVER_PORT']=='443' ? 1:0;
//使用cookie记录随机码
//expire=0 cookie将会在会话结束后(一般是浏览器关闭)失效。
 
setCookie('ck_num',md5($nmsg),0,'/','',$S);
//创建宽:60*20的图片(画布)
$aimg = imagecreate($x_size,$y_size);
//设置图片背景色
$back = imagecolorallocate($aimg, 255, 255, 255);
//设置字体颜色
$border = imagecolorallocate($aimg, 0, 0, 0);
//从0,0点填充59*19的白色矩形区域
imagefilledrectangle($aimg, 0, 0, $x_size - 1, $y_size - 1, $back);
//从0,0点绘制59*19的黑色矩形边框
imagerectangle($aimg, 0, 0, $x_size - 1, $y_size - 1, $border);
for ($i=0;$i<strlen($nmsg);$i++){
     //在图片上写字
     imageString($aimg,5,$i*$x_size/4+3,2, $nmsg[$i],$border);
}
header("Content-type: image/png");
imagepng($aimg);
imagedestroy($aimg);exit;
function num_rand($lenth){
     // 播下一个随机数发生器种子
     //php自4.2.0起,,此参数变为可选项,当该项为空时,会被设为随时数
     mt_srand((double)microtime() * 1000000);
     //产生有4个随机数字的字符串
     for($i=0;$i<$lenth;$i++){
        $randval.= mt_rand(0,9);
     }
     //对含有4个数字的字符串使用md5加密,长度是32位的
     //从3长度为32的字符中,自最小数起或最大数32-$lenth起,取长度为$lenth的字符串
     $randval=substr(md5($randval),mt_rand(0,32-$lenth),$lenth);
     return $randval;
}
?> 


PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助。
1.print_r()
打印关于变量的易于理解的信息,若为数组,则显示数组的结构信息.
例如:
<pre>
<?php
    $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
    print_r ($a);
?>
</pre>
axgle点评:查看任何数组的结构信息,是程序调试的必备工具。对于任何返回结果是数组的“函数”,只要print_r一下,一切底细一目了然!
2.var_export()
输出或返回一个变量的字符串表示
此函数返回关于传递给该函数的变量的结构信息,它和print_r() 类似,不同的是其返回的表示是合法的 PHP 代码。
 
您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。
例如:
<pre>
<?php
$a = array (1, 2, array ("a", "b", "c"));
var_export ($a);
echo "<hr>";
$v = var_export($a, TRUE);
echo $v;
?>
</pre>
axgle点评:上面例子中,$v = var_export($a, TRUE)返回的是php代码噢~~那么您就可以把它保存为php文件。
保存为php文件做什么?呵呵,这可以用作“缓存”,当需要的时候,可以直接include它。
3.file()
file() 将文件作为一个数组返回。数组中的每个元素都是文件中相应的一行,包括换行符在内。如果失败 file() 返回 FALSE。
 
<pre>
<?php
// 将一个文件读入数组。
$lines = file('test.txt');
//查看这个数组的结构
print_r($lines);
?>
</pre>
axgle点评:file()函数是我接触php的初期让我非常惊讶的的一个函数。相比以前我在c语言和vb里对
文件读写的无比麻烦的经历,使得当时的我感觉再也没有比file()函数更方便的文件读写方式了。
4.phpinfo()
打印与php有关的信息,例如PHP版本,功能支持,全局变量等.
例如:
<?php
phpinfo();
?>
axgle点评:简单的一个函数,让你时刻了解php的飞速发展---若您密切关注php的发展的话~~~~
5.file_get_contents() (注:PHP 4 >= 4.3.0, PHP 5)
将整个文件读入一个字符串.file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。
如果只是普通的文件下载,完全没有必要用到php,用个就可以,但是有的时候为让文件保密,只能给一部分人下载,显然不能够把链节告诉别人,如果是这样哪就起不到保密的效果。下面这个函数就是一个用php写的文件下载的函数,它是把文件一段一段地读出来,再传送给客户端.
function download($file_dir,$file_name)
//参数说明:
//file_dir:文件所在目录
//file_name:文件名
{
    $file_dir = chop($file_dir);//去掉路径中多余的空格
    //得出要下载的文件的路径
    if($file_dir != '')
    {
            $file_path = $file_dir;
            if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) != '/')
                  $file_path .= '/';
            $file_path .= $file_name;
    }                  
    else
            $file_path = $file_name;   
   
    //判断要下载的文件是否存在
    if(!file_exists($file_path))
    {
            echo '对不起,你要下载的文件不存在。';
            return false;
    }
    $file_size = filesize($file_path);
    header("Content-type: application/octet-stream");
    header("Accept-Ranges: bytes");
    header("Accept-Length: $file_size");
    header("Content-Disposition: attachment; filename=".$file_name);
   
    $fp = fopen($file_path,"r");
    $buffer_size = 1024;
    $cur_pos = 0;
请问,当我浏览某个网页时,我想在服务器的某个路径下生成对应的静态网页,以方便调用,该怎么处理比较好?
我的程序以前写的,没有这个功能.因此我想有没有比较好的在不大量改动到原程序的情况下实现该功能.

回复人:arcow(冲星) ( 五级(中级)) 信誉:100 2006-2-28 18:02:45
比如你的动态显示页面为
display.php?id=1
的话
你可以在diplay里判断一下是否在对应目录存在对应id的文件名(这里假设文件为id号 html即1.html,2.html,...)
你判断 $id."html"这个文件是否存在于服务器,如果存在就直接跳转到这个页面,要是不存在的话就创建(建义用一个函数来创建,这样对页面改动不大,比如createHTML($_GET['id']),至于这个函数怎么写,我想你应该知道)然后再跳转
-------------------------------------------------
回复人:ice_berg16(寻梦的稻草人) ( 三星(高级)) 信誉:125 2006-2-28 21:33:13
假设你显示文章的页面为
showNews.php?id=34
那么可以这么做
ob_start();
//你的正常程序代码
$html=ob_get_contents();
ob_end_clean();
$fp=fopen($_GET['id'].".htm", "w");
fwrite($fp, $html);
fclose($fp);
[!--infotagslink--]

相关文章

  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • php二维码生成

    本文介绍两种使用 php 生成二维码的方法。 (1)利用google生成二维码的开放接口,代码如下: /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param strin...2015-10-21
  • Java生成随机姓名、性别和年龄的实现示例

    这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
  • php根据用户语言跳转相应网页

    当来访者浏览器语言是中文就进入中文版面,国外的用户默认浏览器不是中文的就跳转英文页面。 <&#63;php $lan = substr(&#8194;$HTTP_ACCEPT_LANGUAGE,0,5); if ($lan == "zh-cn") print("<meta http-equiv='refresh' c...2015-11-08
  • C#生成随机数功能示例

    这篇文章主要介绍了C#生成随机数功能,涉及C#数学运算与字符串操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • js检测用户输入密码强度

    一个用Javascript检测用户输入密码强度的效果代码,以下代码主要是从以下四个方面检测用户输入的密码的强度的,有兴趣的朋友可以自己添加或修改成自己想要的形式! 1. 如果输入的密码位数少于5位,那么就判定为弱。 2. 如果...2015-10-23
  • php有效防止同一用户多次登录

    【问题描述】:同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢? 【解决方案】 (1) 每次登录,身份认证成功后,重新产生一个session_id。 s...2015-11-24
  • php生成唯一数字id的方法汇总

    关于生成唯一数字ID的问题,是不是需要使用rand生成一个随机数,然后去数据库查询是否有这个数呢?感觉这样的话有点费时间,有没有其他方法呢?当然不是,其实有两种方法可以解决。 1. 如果你只用php而不用数据库的话,那时间戳+随...2015-11-24
  • jQuery为动态生成的select元素添加事件的方法

    下面小编就为大家带来一篇jQuery为动态生成的select元素添加事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-09-01
  • PHP自动生成后台导航网址的最佳方法

    经常制作开发不同的网站的后台,写过很多种不同的后台导航写法。 最终积累了这种最写法,算是最好的吧...2013-09-29
  • php ajax注册验证用户名是否存在代码

    这是注册程序是一款当用户输入完用户名是,就会自动去数据库中查询用户要注册的用户名是否己经被注册了,如果是返回提示否则提示可以注册。 conn.php文件 代...2016-11-25
  • js生成随机数的方法实例

    js生成随机数主要用到了内置的Math对象的random()方法。用法如:Math.random()。它返回的是一个 0 ~ 1 之间的随机数。有了这么一个方法,那生成任意随机数就好理解了。比如实际中我们可能会有如下的需要: (1)生成一个 0 - 1...2015-10-21
  • PHP验证码生成与验证例子

    验证码是一个现在WEB2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网站没有验证码,但那是更高级的验证了,...2016-11-25
  • 微信小程序用户授权最佳实践指南

    这篇文章主要给大家介绍了关于微信小程序用户授权最佳实践的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-08
  • PHP生成不同颜色、不同大小的tag标签函数

    复制代码 代码如下:function getTagStyle(){ $minFontSize=8; //最小字体大小,可根据需要自行更改 $maxFontSize=18; //最大字体大小,可根据需要自行更改 return 'font-size:'.($minFontSize+lcg_value()*(abs($maxFo...2013-10-04
  • JS生成某个范围的随机数【四种情况详解】

    下面小编就为大家带来一篇JS生成某个范围的随机数【四种情况详解】。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧...2016-04-22
  • php中利用str_pad函数生成数字递增形式的产品编号

    解决办法:$str=”QB”.str_pad(($maxid[0]["max(id)"]+1),5,”0″,STR_PAD_LEFT ); 其中$maxid[0]["max(id)"]+1) 是利用max函数从数据库中找也ID最大的一个值, ID为主键,不会重复。 str_pad() 函数把字符串填充为指...2013-10-04
  • 简单php cookie用户登录实例

    cookie 的用途之一是存储用户在特定网站上的密码和 id。另外,也用于存储起始页的首选项。在提供个人化查看的网站上,将要求阁下的网络浏览器利用阁下计算机硬驱上的少量...2016-11-25
  • C#生成Word文档代码示例

    这篇文章主要介绍了C#生成Word文档代码示例,本文直接给出代码实例,需要的朋友可以参考下...2020-06-25