PHP上传文件 $_FILES解决方案
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{ }
相关说明:
1、VIP会员无限制任意下载,免积分。立即前往开通>>
2、下载积分可通过日常 签到、绑定邮箱 以及 积分兑换 等途径获得!
3、本站资源大多存储在云盘,如出现链接失效请评论反馈,如有密码,均为:www.ipipn.com。
4、所有站内资源仅供学习交流使用。未经原版权作者许可,禁止用于任何商业环境,否则后果自负。为尊重作者版权,请购买正版作品。
5、站内资源来源于网络公开发表文件或网友分享,如侵犯您的权益,请联系管理员处理。
6、本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!
7、源码、模板等资源会随着技术、坏境的升级而存在部分问题,还请慎重选择。
PS.源码均收集自网络,如有侵犯阁下权益,请发信件至: [email protected] .
源站网 » PHP上传文件 $_FILES解决方案