PHP上传文件 $_FILES详解

雅爱博客3个月前教程164

PHP $_FILES 是一个预定义的数组,用来获取通过 POST 方法上传文件的相关信息。如果为单个文件上传,那么 $_FILES 为二维数组;如果为多个文件上传,那么 $_FILES 为三维数组。

建立一个 file.html 演示上传文件,其中的代码如下:

<html>
<head></head>
<body></body>
<form enctype="multipart/form-data" action="upload.php" method="POST">
    选择文件: <input name="userfile" type="file" />
    <input type="submit" value="开始上传" />
</form>
</html>

新建一个用于接收文件信息的 PHP 文件 upload.php,代码如下:

<?php
echo "<pre>";
print_r($_FILES);
?>

在 file.html 页面选择文件后,单击 开始上传 按钮,将会在页面输出以下信息:

Array
(
    [userfile] => Array
        (
            [name] => 20200713.jpeg
            [type] => image/jpeg
            [tmp_name] => C:\Windows\php8B0C.tmp  
            [error] => 0
            [size] => 69329
        )

)

上面的

name:表示文件名

tmp_name:表示上传到的临时目录(缓存文件目录)

size:表示文件大小

所以一个简单的PHP上传代码如下:

<?php
header("Content-Type:text/html;charset=UTF-8");
error_reporting(E_ERROR | E_WARNING | E_PARSE);
date_default_timezone_set('Asia/Shanghai'); //设置中国时区
set_time_limit(120);

if(is_uploaded_file($_FILES['userfile']['tmp_name'])){ //判断文件是否存在
	//unlink($_FILES['userfile']['tmp_name']);    
	//将缓存文件移动到指定位置(即上传文件)
	$mulu='./cha/xls/'.$_FILES['userfile']['name'];
	move_uploaded_file($_FILES['userfile']['tmp_name'], $mulu);
}

echo '{"code":"1","msg":"上传成功","data":{"src":"'.$mulu.'","a":"上传成功"}}';



?>

附:如果要获取文件大小或者文件类型

	//获取文件大小
	$size=$_FILES['userfile']['size'] / 1024 ;
	if($size>1025){
		$size=$size/1024;
		$size=round($size,2).' M';
	}else{
		$size=round($size,2).' KB';
	}

	//定义一个数组,判断图片
	$arr = array(
		'image/gif',
		'image/jpeg',
		'image/jpg',
		'image/png',
		'image/tiff',
		'image/tif',
		'image/bmp',
		'image/svg',
		'image/webp',
	);
	if(in_array($_FILES["userfile"]["type"],$arr)){
		//显示图片
	}else{
	}


相关文章

Edge浏览器安装插件路径

Edge浏览器安装插件路径

新版Edge浏览器安装插件路径,类似谷歌浏览器的查找方法可以找到安装路径,具体是C:\Users\你的用户名\AppData\Local\Microsoft\Edge\User Data\D...

易语言获取文件名和后缀名

易语言获取文件名和后缀名.版本 2 .支持库 spec .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .局部变量 ...

去除edge/谷歌浏览器提示“请停用以开发者模式运行的扩展程序”

大家都知道,国内谷歌商店无法访问,也就无法在线安装插件,那就只能以开发者模式安装离线版插件,新版本的谷歌浏览器如果再采用开发者模式运行插件会弹出“请停用以开发者模式运行的扩展程序”窗口。下面就分享一款...

跳过手机验证 注册QQ号

跳过手机验证 注册QQ号,有需要的可以试一试。打开QQ——点击设置——账号管理——添加或注册账号——右下角新用户注册——输入自己的手机号——输入验证码——会提示你手机注册过QQ号要求你绑定(选择不绑定...

Tampermonkey油猴用户脚本API文档

用户脚本 Header@name    脚本名称@namesapce    脚本命名空间@include &n...

脚本抢东西教程,脚本教程

脚本抢东西教程,脚本教程

最近在抢“阿里云马克杯”没有脚本抢不到,现在有很多活动,数量有限需要抢,凭手动去抢很难抢到。有能力的大佬用脚本抢——快、准、狠 以前没有接触过这样的脚本,现在记录下来学习一下。要自己写脚本必...