加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2023-06-08 13:00:21 所属栏目:PHP教程 来源:
导读:$_FILES与move_uploaded_file就可以在php代码中实现文件或图片上传了,这个比起很多编程语言来讲php上传功能是最简单最好用的了,下面来看个上传图片工作代码,代码如下:<?php session_start(); ?> <html xmlns="htt

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

<?php 

 session_start(); 

 ?> 

 <html xmlns="http://www.Cuoxin.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> 

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!