文件上传

文件用表单提交后,自动发送到服务器上,形成一个临时文件,需要移到指定的存储位置,临时文件的地址存放在$_FILES全局数组中,这个全局数组还保存着临时名称,大小等信息

1,文件上传必须用post提交数据

2,必须声明enctype选项,写在form标签中,enctype='multipart/form-data';

3,移动临时文件用move_uploaded_file()函数

4,接收页面执行完毕,临时文件消失

提交表单

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
   <form action='file.php' method='post' enctype='multipart/form-data'>
		用户名:<input type='text' name='name'><br/>
		图片:<input type='file' name='pic' ><br/>
		<input type='submit' value='提交'>
   </form>
</body>
</html>

 接收页面

<?php
print_r($_POST);
print_r($_FILES);
/*
Array
(
    [pic] => Array
        (
            [name] => 设计图.png
            [type] => image/png
            [tmp_name] => D:wamp	mpphpD0F7.tmp
            [error] => 0
            [size] => 18085
        )

)
*/
function mk_dir(){
	$dir=date('md/i',time());
	if(is_dir('./'.$dir)){
		return $dir;
	}else{
		mkdir('./'.$dir,0777,true);
		return $dir;
	}
}

function getExt($file){
	$tmp=explode('.',$file);
	return end($tmp);
}

function randName(){
	$str='abcdefghijklmnopqrstuvwxyz0123654789';
	return substr(str_shuffle($str),0,6);
}
if($_FILES['pic']['error']!=0){
	echo '上传失败';
	exit;
}
$pic=$_FILES['pic'];
//拼接文件路径
$path='./'.mk_dir().'/'.randName().'.'.getExt($pic['name']);

//移动
if(move_uploaded_file($pic['tmp_name'],$path)){
	echo '上传成功';
}else{
	echo '失败';
}
?>
原文地址:https://www.cnblogs.com/lzzhuany/p/4780614.html