【PHP】PHP上传文件,上传图片
来源:互联网 发布:通达信软件官网 编辑:程序博客网 时间:2024/05/22 14:24
目的:上传一个文件到自定义的文件夹upload中。
步骤:
1.在html文件中引入input文件标签。
2.在form中指定enctype = "multipart/form-data属性,提交方式必须是post。
文件提交后不会立即存到该文件夹中,会先存储到一个临时文件夹中
3.在upload.php中创建upload文件夹后,将临时文件复制过去。上传即完成。
upload.html
<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><!--1.复选框的name后面必须加[],提交到后台才能存到数组中 --> <div id="box"><form action="upload.php" method="post" enctype = "multipart/form-data"> <div><h2>文件类型</h2><!--隐藏文件--><input type="hidden" name="MAX_FILE_SIZE" value="10240000" id=""/><input type="file" name="myFile" id="myFile" value=""/></div> <input type="submit" value="确认提交"/></form></div></body></html>
后台通过$_FILES获取文件信息,$_FILES数组中的“myFile”数组中保存了所提交文件的信息。
(myFile是input标签的name)
upload.php
<?php //1.处理文件信息 $fileArr = $_FILES["myFile"];//input标签中的name //将文件信息保存在变量中 $name = $fileArr['name'];//文件名 $type = $fileArr["type"];//文件类型 $tmp_name = $fileArr["tmp_name"];//文件临时存储位置的文件名 $error = $fileArr["error"];//文件的错误信息 $size = $fileArr["size"];//文件的大小 //2.新建存储文件的目录 $filePath = "uploads"; function createDir($filePath){ if(!file_exists($filePath)){ $res = mkdir($filePath); if($res){ echo "创建成功"; }} } createDir($filePath);//因为要上传的文件为图片,所以此时设置允许的后缀名如下,如果其他文件则修改为txt等后缀 $allowExt=["image/png","image/jpeg","image/gif"];//3.判断文件是否上传成功 if($error===UPLOAD_ERR_OK){//UPLOAD_ERR_OK==0,上传成功 if(!in_array($type,$allowExt)){//如果类型不在数组中 exit("非法类型文件"); } //判断后缀正确但不是图片的文件 if(!getimagesize($tmp_name)){ exit("不是真正的一张图片"); } $ext = pathinfo($name)["extension"];//获取文件后缀 $uniname = time().".".$ext;//生成一个唯一的文件名 $destination = $filePath."/".$uniname; //4.move_uploaded_file将上传的文件移动到新位置。 若成功,则返回 true,否则返回 false $res = move_uploaded_file($tmp_name,$destination); if($res){//上传成功 //把图片服务器连接传出去:拼接出一个图片的src $server = $_SERVER["HTTP_ORIGIN"]; $rootDir = pathinfo($_SERVER["REQUEST_URI"])["dirname"]; $imgPath = $server.$rootDir."/".$destination; //图片的src echo "<img src='{$imgPath}'>";//输出图片 } else{ echo "<hr>上传失败"; } } else{//上传失败,给出错误提示 switch ($error) { case UPLOAD_ERR_INI_SIZE://1 die("上传的文件超过了PHP配置中upload_max_file大小的最大值");//die();结束程序 break; case UPLOAD_ERR_FORM_SIZE://2 die("上传的文件超过了HTML表单中隐藏域MAX_FILE_SIZE中value选项指定的值"); break; case UPLOAD_ERR_NO_TMP_DIR://6 die("没有找不到临时文件夹"); break; case UPLOAD_ERR_CANT_WRITE://7 die("文件写入失败"); break; case UPLOAD_ERR_EXTENSION://8 die("php文件上传扩展没有打开"); break; case UPLOAD_ERR_PARTIAL://3 die("文件只有部分被上传"); break; default: break; } }?>
阅读全文
1 0
- PHP上传图片文件
- php 文件上传图片
- php上传文件图片
- 【PHP】PHP上传文件,上传图片
- PHP图片上传、文件上传函数
- php 远程上传文件 远程上传图片
- php 图片上传 文件上传 大小 限制
- php 关于图片文件上传
- PHP文件(图片)上传
- php 图片文件上传类
- PHP上传多文件,多图片程序代码
- php上传文件,图片前的准备
- 用php怎么上传图片文件呢?
- php图片文件上传详细分析
- php图片上传之文件安全
- PHP实现图片文件上传[转]
- PHP 远程上传图片以及文件
- php使用AjaxFileUpload上传图片文件实例
- exception对象
- access+asp 手注
- mysql语句优化总结
- GIT配置
- sublime 插件 for Markdown
- 【PHP】PHP上传文件,上传图片
- HDU-1568 Fibonacci【数学公式题】
- pat a 1103 integer factorization
- [ArcPy] ArcPy综合记录
- 数据库表及其字段变量命名神器之codeIf
- Leetcode之Reshape the Matrix 问题
- 问答机器人的Python分类
- FME常用函数
- python字符串