php实现文件上传的代码

来源:互联网 发布:网络协议的三要素定义 编辑:程序博客网 时间:2024/05/16 09:43

<form method="post" action="upload.php" enctype="multipart/form-data">
      <
table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
       <
tr>
         <
td width=55 height=20 align="center"><input type="hidden" name="MAX_FILE_SIZE" value="2000000">文件: </TD>
         <
td height="16">
         <
input name="file" type="file"  value="浏览" >
         <
input type="submit" value="上传" name="B1">
         </
td>
       </
tr>
      </
table>
      </
form>
     
表单提交upload.php

<?php

    $uploaddir
= "./files/";//设置文件保存目录 注意包含/    
   
$type=array("jpg","gif","bmp","jpeg","png");//设置允许上传文件的类型
   
$patch="http://127.0.0.1/test/files";//程序所在路径
   
    //获取文件后缀名函数
      
function fileext($filename)
     {
         return
substr(strrchr($filename, '.'), 1);
     }
   
//生成随机文件名函数    
    
function random($length)
     {
        
$hash = 'CR-';
        
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
        
$max = strlen($chars) - 1;
        
mt_srand((double)microtime() * 1000000);
             for(
$i = 0; $i < $length; $i++)
             {
                
$hash .= $chars[mt_rand(0, $max)];
             }
         return
$hash;
     }

   
$a=strtolower(fileext($_FILES['file']['name']));
   
//判断文件类型
   
if(!in_array(strtolower(fileext($_FILES['file']['name'])),$type))
      {
        
$text=implode(",",$type);
         echo
"您只能上传以下类型文件: ",$text,"<br>";
      }
   
//生成目标文件的文件名    
   
else{
    
$filename=explode(".",$_FILES['file']['name']);
         do
         {
            
$filename[0]=random(10); //设置随机数长度
            
$name=implode(".",$filename);
            
//$name1=$name.".Mcncc";
            
$uploadfile=$uploaddir.$name;
         }

    while(
file_exists($uploadfile));

         if (
move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile)){
            
             if(
is_uploaded_file($_FILES['file']['tmp_name'])){
                
//输出图片预览
                
echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>";
                 echo
"<br><center><a href='javascript:history.go(-1)'>继续上传</a></center>";
               }
               else{
                 echo
"上传失败!";
               }
         }
    }

?>

原创粉丝点击