PHP源码分析

 1 <html>
 2     <head>
 3          <?php
 4
 5 /*****************************************
 6
 7   Title :文件上传详解
 8   Author:WEB-zhenggb(郑桂斌)
 9   Finish Date  :2009-4-15
11  *****************************************/
12
13   $uploaddir = "./files/";//设置文件保存目录 注意包含/    
14   $type=array("jpg","gif","bmp","jpeg","png");//设置允许上传文件的类型 
15   $patch="http://127.0.0.1/cr_downloadphp/upload/files/";//程序所在路径
16   
17   //获取文件后缀名函数
18      function fileext($filename)
19    {
20        return substr(strrchr($filename, '.'), 1);
21    }
22   //生成随机文件名函数    
23    function random($length)
24    {
25        $hash = 'CR-';
26        $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
27        $max = strlen($chars- 1;
28        mt_srand((double)microtime() * 1000000);
29            for($i = 0$i < $length$i++)
30            {
31                $hash .= $chars[mt_rand(0, $max)];
32            }
33        return $hash;
34    }
35
36   $a=strtolower(fileext($_FILES['file']['name']));
37   //判断文件类型
38   if(!in_array(strtolower(fileext($_FILES['file']['name'])),$type))
39     {
40        $text=implode(",",$type);
41        echo "您只能上传以下类型文件: ",$text,"<br>";
42     }
43   //生成目标文件的文件名    
44   else{
45    $filename=explode(".",$_FILES['file']['name']);
46        do
47        {
48            $filename[0]=random(10); //设置随机数长度
49            $name=implode(".",$filename);
50            //$name1=$name.".Mcncc";
51            $uploadfile=$uploaddir.$name;
52        }
53
54   while(file_exists($uploadfile));
55
56        if (move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile)){
57            
58            if(is_uploaded_file($_FILES['file']['tmp_name'])){
59                //输出图片预览
60                echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>";
61                echo"<br><center><a href='javascript:history.go(-1)'>继续上传</a></center>";
62              }
63              else{
64                echo "上传失败!";
65              }
66        }
67   } 
68
69?>
70
71         </head>
72         <body>
73 <form method="post" action="upload.php" enctype="multipart/form-data">
74    <table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
75     <tr> 
76      <td width=55 height=20 align="center"><input type="hidden" name="MAX_FILE_SIZE" value="2000000">文件: </TD>
77      <td height="16"> 
78      <input name="file" type="file"  value="浏览" >
79      <input type="submit" value="上传" name="B1">
80      </td>
81      </tr>
82      </table>
83     </form>
84    </body>
85 </html>
86

posted on 2009-04-16 10:06 郑桂斌 阅读(451) 评论(0)  编辑 收藏 引用 网摘 所属分类: PHP


只有注册用户登录后才能发表评论。
网站导航:
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

最新随笔

搜索

最新随笔

最新评论

阅读排行榜

评论排行榜