看到很多国外网站上开始有了语音验证码功能,觉得挺好玩,而且也方便一些视力不好的人士,所以自己也尝试做了一个玩玩,是用的PHP+FLASH完成的,主要代码如下:

PHP文件
[PHP+FLASH]语音验证码(voice verification code)<?PHP
[PHP+FLASH]语音验证码(voice verification code)
/* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */
[PHP+FLASH]语音验证码(voice verification code)
/**
[PHP+FLASH]语音验证码(voice verification code) * @Name        voice_code.php
[PHP+FLASH]语音验证码(voice verification code) * @Note        语音验证码
[PHP+FLASH]语音验证码(voice verification code) * @Author      arcow@21xp.com
[PHP+FLASH]语音验证码(voice verification code) * @Created     2007/4/26
[PHP+FLASH]语音验证码(voice verification code) * @Version     1.0
[PHP+FLASH]语音验证码(voice verification code) *
[PHP+FLASH]语音验证码(voice verification code)
*/
[PHP+FLASH]语音验证码(voice verification code)
[PHP+FLASH]语音验证码(voice verification code)
header('Content-type: audio/mpeg');
[PHP+FLASH]语音验证码(voice verification code)
[PHP+FLASH]语音验证码(voice verification code)
//随机种子
[PHP+FLASH]语音验证码(voice verification code)
list($usec, $sec) = explode(' ', microtime());
[PHP+FLASH]语音验证码(voice verification code)
$randtime =   (float) $sec + ((float) $usec * 100000);
[PHP+FLASH]语音验证码(voice verification code)
srand($randtime);
[PHP+FLASH]语音验证码(voice verification code)
//随机验证码
[PHP+FLASH]语音验证码(voice verification code)
$authnum = '';
[PHP+FLASH]语音验证码(voice verification code)
//$str = 'abcdefghijkmnpqrstuvwxyz1234567890';
[PHP+FLASH]语音验证码(voice verification code)
$str = '1234567890';
[PHP+FLASH]语音验证码(voice verification code)
$l = strlen($str);
[PHP+FLASH]语音验证码(voice verification code)
for($i=1;$i<=4;$i++)
[PHP+FLASH]语音验证码(voice verification code){
[PHP+FLASH]语音验证码(voice verification code)    
$num=rand(0,$l);
[PHP+FLASH]语音验证码(voice verification code)    
$authnum.= $str[$num];
[PHP+FLASH]语音验证码(voice verification code)}
[PHP+FLASH]语音验证码(voice verification code)
//把随机验证码记录到session
[PHP+FLASH]语音验证码(voice verification code)
$_SESSION['auth_code'] = $authnum;
[PHP+FLASH]语音验证码(voice verification code)
//转成字符串,方便用数组调用
[PHP+FLASH]语音验证码(voice verification code)
$code = strval($authnum);
[PHP+FLASH]语音验证码(voice verification code)
[PHP+FLASH]语音验证码(voice verification code)
readfile("sound/begin.mp3");
[PHP+FLASH]语音验证码(voice verification code)
for($i=0;$i<strlen($code);$i++)
[PHP+FLASH]语音验证码(voice verification code){
[PHP+FLASH]语音验证码(voice verification code)    
$soundNum = $code[$i];
[PHP+FLASH]语音验证码(voice verification code)    
readfile("sound/$soundNum.mp3");
[PHP+FLASH]语音验证码(voice verification code)}
[PHP+FLASH]语音验证码(voice verification code)
readfile("sound/end.mp3");
[PHP+FLASH]语音验证码(voice verification code)
?>
[PHP+FLASH]语音验证码(voice verification code)

Html文件
[PHP+FLASH]语音验证码(voice verification code)<html>
[PHP+FLASH]语音验证码(voice verification code)
<head>
[PHP+FLASH]语音验证码(voice verification code)
<title>语音验证码示例文件(voice verification code Sample) by arcow@21xp.com</title>
[PHP+FLASH]语音验证码(voice verification code)[PHP+FLASH]语音验证码(voice verification code)
<script language="javascript">...
[PHP+FLASH]语音验证码(voice verification code)
var myimages=new Array();
[PHP+FLASH]语音验证码(voice verification code)
function preloadimages()
[PHP+FLASH]语音验证码(voice verification code)[PHP+FLASH]语音验证码(voice verification code)
...{
[PHP+FLASH]语音验证码(voice verification code)    
for (i=0;i<preloadimages.arguments.length;i++)
[PHP+FLASH]语音验证码(voice verification code)[PHP+FLASH]语音验证码(voice verification code)    
...{
[PHP+FLASH]语音验证码(voice verification code)         myimages[i]
=new Image();
[PHP+FLASH]语音验证码(voice verification code)         myimages[i].src
=preloadimages.arguments[i]
[PHP+FLASH]语音验证码(voice verification code)     }

[PHP+FLASH]语音验证码(voice verification code)}

[PHP+FLASH]语音验证码(voice verification code)preloadimages(
"sound/audio.jpg");
[PHP+FLASH]语音验证码(voice verification code)
</script>
[PHP+FLASH]语音验证码(voice verification code)
</head>
[PHP+FLASH]语音验证码(voice verification code)
<body>
[PHP+FLASH]语音验证码(voice verification code)
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="0" height="0" id="code_play" align="middle">
[PHP+FLASH]语音验证码(voice verification code)
<param name="allowScriptAccess" value="always" />
[PHP+FLASH]语音验证码(voice verification code)
<param name="FlashVars" value="url=voice_code.php" />
[PHP+FLASH]语音验证码(voice verification code)
<param name="movie" value="code_play.swf"/>
[PHP+FLASH]语音验证码(voice verification code)
<param name="quality" value="high" />
[PHP+FLASH]语音验证码(voice verification code)
<param name="bgcolor" value="#ffffff" />
[PHP+FLASH]语音验证码(voice verification code)
<embed id="code_play" name="code_play" src="code_play.swf"   FlashVars="url=voice_code.php" quality="high" bgcolor="#ffffff" width="0" height="0" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
[PHP+FLASH]语音验证码(voice verification code)
</object>
[PHP+FLASH]语音验证码(voice verification code)[PHP+FLASH]语音验证码(voice verification code)
<script language="javascript">...
[PHP+FLASH]语音验证码(voice verification code)
function readVoiceCode()
[PHP+FLASH]语音验证码(voice verification code)[PHP+FLASH]语音验证码(voice verification code)
...{
[PHP+FLASH]语音验证码(voice verification code)     document.getElementById(
'code_img').src = "sound/audio.jpg";
[PHP+FLASH]语音验证码(voice verification code)     document.getElementById(
'againListen').style.display='';
[PHP+FLASH]语音验证码(voice verification code)     document.getElementById(
'readVoiceBtn').style.display='none';
[PHP+FLASH]语音验证码(voice verification code)     window.document.code_play.SetVariable(
"isPlay", "1");
[PHP+FLASH]语音验证码(voice verification code)}

[PHP+FLASH]语音验证码(voice verification code)
</script>
[PHP+FLASH]语音验证码(voice verification code)
<a href="javascript:void(0);" onclick="javascript:readVoiceCode();" id="readVoiceBtn">读语音验证码</a>
[PHP+FLASH]语音验证码(voice verification code)
<a href="javascript:void(0);" onclick="javascript:readVoiceCode();" id="againListen" style="display:none;">没听清?再听一次</a>
[PHP+FLASH]语音验证码(voice verification code)
<img src='sound/default.jpg' id="code_img">
[PHP+FLASH]语音验证码(voice verification code)
</body>
[PHP+FLASH]语音验证码(voice verification code)
</html>
[PHP+FLASH]语音验证码(voice verification code)

全部源码包(PHP,FLASH,声音文件等源文件)下载地址为:http://bbs.chinaunix.net/viewthread.php?tid=928953&extra=page%3D1
最早发于:2007-04-26 15:07:00

相关文章:

  • 2021-11-29
  • 2021-12-25
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-16
  • 2021-12-14
  • 2022-12-23
  • 2021-12-04
  • 2021-08-03
  • 2021-11-27
  • 2021-09-02
相关资源
相似解决方案