php上传文件,以图片威力
首先,静态页面的表单的代码如下
<span style="font-family:KaiTi_GB2312;"><form action="sql_teacher_image.php" method="post" enctype="multipart/form-data" >
<div class = "select_image">
<label for="file" class = "col-xs-4 upload_name" style="display: inline;">上传照片</label>
<input type="file" class = "col-xs-8 upload_file" name="teacher_header_image" id="file" style="display: inline;" ><br>
</div>
<div class = "submit">
<button type="submit" name = "submit" class = "btn btn-default submit_button" >提交</button>
</div>
</form></span>
表单中要注意这几个
- <input>标签的name属性,等会要使用它来寻找提交的文件
- action = "**.php" 表示点击提交按钮之后浏览器要跳转的页面
- enctype 规定了提交表单时候需要哪种内容类型
然后介绍php中对上传文件的处理
<span style="font-family:KaiTi_GB2312;">if (( $_FILES['teacher_header_image']['type'] == "image/gif" || $_FILES['teacher_header_image']['type'] == "image/jpeg" ||
$_FILES['teacher_header_image']['type'] == "image/jpg" || $_FILES['teacher_header_image']['type'] == "image/png" )
&& in_array($extension, $allowExts)/** 搜索指定的值 */
&& $_FILES['teacher_header_image']['size'] < 20480
){
if ($_FILES['teacher_header_image']['error'] > 0 )
{
///文件上传错误
}
else
{
if ( file_exists("../teacher_image/".$_FILES['teacher_header_image']['name']))
{
unlink("../teacher_image/".$_FILES['teacher_header_image']['name']);
@move_uploaded_file($_FILES['teacher_header_image']['tmp_name'],
"../teacher_image/".$_FILES['teacher_header_image']['name']);
}
else
{
@move_uploaded_file($_FILES['teacher_header_image']['tmp_name'],
"../teacher_image/".$_FILES['teacher_header_image']['name']);
}
}
}else{
///文件类型错误
}</span>
对于处理文件注意一下几个方面:
- 关于$_FILES['**']['**'] 其中第一个参数是input 标签的name 属性 第二个参数可以是 'name' , 'type', 'tmp_name' 'error' ‘size’ 属性
- $_FILES['**']['type'] 表示上传文件的类型 ,一般是浏览器指定, 图片的一般是 image/png,image/jpg等
- $_FILES['**']['name']表示上传文件的名称
- $_FILES['**']['tmp_name']表示存储在服务器端的名称
- $_FILES['**']['size'] 表示上传文件的大小,一般用字节表示
- $_FILES['**']['error'] 表示上传文件的错误
2. 关于函数
<span style="font-family:KaiTi_GB2312;">move_uploaded_file($_FILES['teacher_header_image']['tmp_name'],"../teacher_image/".$_FILES['teacher_header_image']['name']);</span>
其中 第一个函数为服务器端存储的文件,第二个是文件的存放路径和文件名。