好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP上传图片程序代码工作笔记 - php上传下载

PHP上传图片程序代码工作笔记

$_FILES与move_uploaded_file就可以在php代码中实现文件或图片上传了,这个比起很多编程语言来讲php上传功能是最简单最好用的了,下面来看个上传图片工作代码,代码如下:

<?php   session_start();   ?>   <html xmlns= "http://www.phpfensi.com/ 1999/xhtml" >   <head>   <meta http-equiv= "Content-Type"  content= "text/html; charset=utf-8"  />   <title>PHP上传文件</title>   <style>   * {margin:0; padding:0; list-style:none;}   .content {width:400px; height:200px; margin:0 auto; margin-top:60px;  background:#ffd3b6; border:dashed 1px #f90}   .content h1 { width:400px; height: 30px; line-height:30px; text-align:  center; font-family: "微软雅黑" ; font-size:14px; color:#000}   .content .error {width:300px; height:30px; line-height:30px;  text-align:center; margin:0 auto; color:#f00}   .content .con {width:340px; height:auto; margin:0 auto; font-size:12px;}   .content #file { width:280px; height:20px; border:solid 1px #ccc;  background:#fff; margin:10px 0px 6px 0; font-size:12px;}   .content #send { width:60px; height:22px; border:solid 1px #ccc;  background:#fff; font-size:12px; margin-top:10px;}   </style>   </head>  <body>   <div>   <h1>文件上传</h1>   <div>   <div>   <?php    if  ( $_GET [ 'up' ]==up) {    if  ( $_SESSION [ 'file' ]== $_GET [ 'irand' ]) {    $_size =20000;                     //设置限制文件大小     $_dir = 'phone/' ;                    //文件保存目录     function  size( $_size ) {    //判断文件大小是否大于1024bit 如果大于,则将大小取值为KB     if  ( $_size >1024*1024) {    return   round ( $_size /1024/1024,2). ' MB' ;   } else   if  ( $_size >1024) {    $_size = $_size /1024;    return   ceil ( $_size ). 'KB' ;   } else  {    return   $_size . ' bit' ;   }   }    //设置上传图片的类型,设置图片上传大小     $_upfiles  =  array ( 'image/jpeg' , 'image/pjpeg' , 'image/png' , 'image/x-png' , 'image/gif' );    if  ( is_array ( $_upfiles )) {    if  (!in_array( $_FILES [ 'userfile' ][ 'type' ], $_upfiles )) {    exit ( '请上传格式为:jpg,png,gif的文件<br /><a href="upload.php">返回</a>' );   }   }    if  ( $_FILES [ 'userfile' ][ 'size' ]> $_size ) {    exit ( '上传文件不能超过:' .size( $_size ));   }    if  ( $_FILES [ 'userfile' ][ 'error' ]>0) {    switch  ( $_FILES [ 'userfile' ][ 'error' ]) {    case  1:  echo   '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值' ;    break ;    case  2:  echo   '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值' ;    break ;    case  3:  echo   '文件只有部分被上传' ;    break ;    case  4:  echo   '没有文件被上传' ;    break ;    case  6:  echo   '找不到临时文件夹' ;    break ;    case  7:  echo   '文件写入失败' ;    break ;   }    exit ;   }    //获取文件扩展名     if  (! is_dir ( $_dir )) {    mkdir ( $_dir ,0700);   }    $_rand =mt_rand(0,100000);    $_n = explode ( '.' , $_FILES [ 'userfile' ][ 'name' ]);   //将文件名分割     $_file_len = count ( $_n );          //返回数组长度     $_name = $_dir .time(). '_' . $_rand . '.' . $_n [ $_file_len -1];  if  ( is_uploaded_file ( $_FILES [ 'userfile' ][ 'tmp_name' ])) {    if  (!@move_uploaded_file( $_FILES [ 'userfile' ][ 'tmp_name' ], $_name )) {    exit ( '文件移动失败' );   } else  {    echo   '文件上传成功<br />' ;    echo   '文件路径:' . $_name . '<br />' ;    echo   '文件大小:' .size( filesize ( $_name ));    echo   '<br /><a href="upload.php">返回继续上传</a>' ;   }   } else  {    exit ( '上传的临时文件不存在,无法将文件移动到指定文件夹' );   }    //销毁session变量,有几种方法     //第一种,销毁所有session变量:session_destroy();     //第二种:销毁单个如:$_SESSION['file']=''    session_destroy();    exit ;   } else  {    exit ( '您已经提交过了,不能重复提交<br /><a href="upload.php">返回</a>' );   }   }   ?>   </div>   <?php  $_irand =mt_rand(0,1000000);  $_SESSION [ 'file' ]= $_irand ; ?>   <form action= "?up=up&irand=<?php echo $_irand; ?>"  method= "post"  enctype= "multipart/form-data" >   <input type= "hidden"  name= "MAX_FILE_SIZE"  value= "1000000"  />   <input type= "file"  name= "userfile"  id= "file" /><br />   <input type= "submit"  name= "send"  value= " 点击上传 "  id= "send" />   </form>   </div>   </div>   </body>   </html> 

查看更多关于PHP上传图片程序代码工作笔记 - php上传下载的详细内容...

  阅读:70次