<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
<input name="myFile" type="file">
<input type="submit" value="上传文件">
</form>

然后upload.php中可以直接用
$_FILES
$_POST
$_GET
等函数获取表单内容。

下面针对$_FILES讲解
当客户端提交后,我们获得了一个$_FILES 数组

$_FILES数组内容如下:
$_FILES['myFile']['name']      客户端文件的原名称。
$_FILES['myFile']['type']       文件的MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['myFile']['size']        已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name']  文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但用 putenv() 函数设置是不起作用
$_FILES['myFile']['error']      和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)

错误码说明:
0 UPLOAD_ERR_OK             上传成功
1 UPLOAD_ERR_INI_SIZE         超过php.ini中upload_max_filesize限制
2 UPLOAD_ERR_FORM_SIZE       超过表单中max_file_size限制
3 UPLOAD_ERR_PARTIAL          只有部分文件被上传
4 UPLOAD_ERR_NO_FILE          没有文件被上传
5                             上传文件大小是0
6 UPLOAD_ERR_NO_TMP_DIR   找不到临时文件夹
7 UPLOAD_ERR_CANT_WRITE    文件写入失败

下面是官方错误码提示代码

<?php

class UploadException extends Exception
{
public function __construct($code) {
$message = $this->codeToMessage($code);
parent::__construct($message, $code);
} private function codeToMessage($code)
{
switch ($code) {
case UPLOAD_ERR_INI_SIZE:
$message = "The uploaded file exceeds the upload_max_filesize directive in php.ini";
break;
case UPLOAD_ERR_FORM_SIZE:
$message = "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form";
break;
case UPLOAD_ERR_PARTIAL:
$message = "The uploaded file was only partially uploaded";
break;
case UPLOAD_ERR_NO_FILE:
$message = "No file was uploaded";
break;
case UPLOAD_ERR_NO_TMP_DIR:
$message = "Missing a temporary folder";
break;
case UPLOAD_ERR_CANT_WRITE:
$message = "Failed to write file to disk";
break;
case UPLOAD_ERR_EXTENSION:
$message = "File upload stopped by extension";
break; default:
$message = "Unknown upload error";
break;
}
return $message;
}
} // Use
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
//uploading successfully done
} else {
throw new UploadException($_FILES['file']['error']);
}
?>

最新文章

  1. javascript中字符串的比较规则
  2. Windows bat脚本学习(1)
  3. Java-Android【2】-弹出对话框
  4. js数组与对象性能比较
  5. 升级openssl环境至openssl-1.1.0c
  6. PAT/查找元素习题集
  7. TestNG之Factory
  8. ZOJ 1202 Divide and Count
  9. 学习c的第6天2
  10. hdu1033
  11. TCP/IP笔记(五)IP协议相关技术
  12. dedecms列表页调用子栏目列表,织梦首页调用栏目的子栏目标签代码
  13. 【转】Header Only Library的介绍
  14. LeetCode 121. Best Time to Buy and Sell Stock (买卖股票的最好时机)
  15. MFC中List box的用法
  16. 最大熵模型和EM算法
  17. 《CSAPP》地址翻译
  18. virtualenv 模块
  19. Java之多线程 Atomic(原子的)
  20. BEGIN-4_蓝桥杯_Fibonacci数列

热门文章

  1. Java程序打开指定地址网页
  2. modprobe和insmod的区别
  3. WebForm 全局对象、commend
  4. 使用cordova开发app
  5. php类与构造函数解析
  6. Easy单例模式
  7. 纯js实现html转pdf
  8. JS验证电话号是否合法
  9. Xamarin+Prism开发详解八:自动化测试之NUnit实践
  10. Windows Opengl ES 环境搭建