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

原创
2016-06-08 17:21:54 732浏览

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

代码如下 复制代码


session_start();
?>



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的文件
返回');
}
}
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 '文件上传成功
';
echo '文件路径:'.$_name.'
';
echo '文件大小:'.size(filesize($_name));
echo '
返回继续上传';
}
}else {
exit('上传的临时文件不存在,无法将文件移动到指定文件夹');
}
//销毁session变量,有几种方法
//第一种,销毁所有session变量:session_destroy();
//第二种:销毁单个如:$_SESSION['file']=''
session_destroy();
exit;
}else {
exit('您已经提交过了,不能重复提交
返回');
}
}
?>












声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。