PHP接收上传文件
来源:互联网 发布:克拉默法则 知乎 编辑:程序博客网 时间:2024/05/23 13:25
前言
这星期一直再搞php,涉及到文件上传的部分有些遗忘,这里记录一下
HTML的form表单
用html的表单模拟一个文件上传的post请求,代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>File Upload</title></head><body><form enctype="multipart/form-data" action="test.php" method="POST"><input type="hidden" name="MAX_FILE_SIZE" value="30000" />Send this File:<input name="userfile" type="file"/><input type="submit" value="Send File" /></form></body></html>
注意:
要确保文件上传表单的属性是 enctype="multipart/form-data",否则文件上传不了
PHP
首先,需要解释一下PHP的全局变量$_FILES,此数组包含了所有上传的文件信息
$_FILE['userfile']['name'] : 客户端机器文件的原名称
$_FILE['userfile']['type'] : 文件的MIME类型
$_FILE['userfile']['size'] : 已上传的文件大小
$_FILE['userfile']['tmpname'] : 文件被上传后在服务器存储的临时文件名
$_FILE['userfile']['error'] : 和该文件上传的错误代码
思路
1、生成40位的随机字符串作为文件名
2、根据文件是图片还是语音转存到不同的文件位置
3、暂时不做文件大小和文件类型的校验
function processFile($files, $type) { $uploadName = null; foreach ($files as $name => $value) { $originalName = $value['name']; $arr = explode(".", $originalName); $postfix = $arr[count($arr) - 1]; $tmpPath = $value['tmp_name']; $tmpType = $value['type']; $tmpSize = $value['size']; } $newname = EhlStaticFunction::generateRandomStr(40).".".$postfix; switch ($type) { case 1 : // 处理声音文件 $destination = VIDEOUPLOADDIR.$newname; break; case 2 : // 处理图像文件 $destination = IMAGEUPLOADDIR.$newname; break; } move_uploaded_file($tmpPath, $destination);}
0 0
- PHP接收上传文件
- php接收上传文件
- android上传文件php服务器接收代码
- PHP接收多个上传文件
- Android Http上传文件 PHP接收
- Android上传文件到Web服务器,PHP接收文件
- Android上传文件到Web服务器,PHP接收文件
- 关于php接收客户端上传文件的转载
- php curl编码类型设置、文件上传与接收数据
- 文件上传服务器接收
- nodeJs 接收上传文件
- 文件上传接收方法
- 接收上传文件
- php 接收图片文件
- angularjs上传文件+jfinal接收上传文件
- FileReference 上传文件,java接收
- java 接收ios文件上传
- Android上传文件到Web服务器,PHP接收文件(一)
- paip.点击每个网页链接都提示下载的解决。
- VARCHAR2字段关联
- USB设备描述符完全解析
- 7E3 Banding
- 安桌开发 学习备忘1
- PHP接收上传文件
- /dev/random和/dev/urandom
- STL中的list容器的一点总结
- SQL Server 2012 文件表
- STM32 USB-HID通信移植步骤
- 排序(1)c#参照排序
- 读取USB设备的描述符
- Jena 解析本体 实体,属性,属性值
- Hello World:)