php实现接收客户端上传的图⽚
inputtypefile不上传文件今天,遇到⼀个服务端接收客户端上传图⽚的需求,经过学习。我写了个简单的demo
以备下次学习。
⾸先服务器接收的发送图⽚的请求⼀定要是post请求,⽽且请求⼀定要加上 enctype="multipart/form-data" 缺⼀不可下⾯是例⼦,写个简单的浏览器端的:
<html>
<head>
<title> Upload file example. </title>
</head>
<body>
<form method="post" action="recpic.php" enctype="multipart/form-data">
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
<tr>
<td width=55 height=20 align="center"><input type="hidden" name="MAX_FILE_SIZE" value="2000000">⽂件:</TD>
<td height="16">
<input name="file" type="file"/>
<!--这⾥指定了上传后所在临时数组的名称-->
<input type="submit" name="submit" value="Submit"/>
</td>
</tr>
</table>
</form>
</body>
</html>
<?php
/**
* 接收上传的图⽚
*
* ------------
* 200 ok
* 401 Error method
* 500 Internal error
* ------------
*/
require_once("../inc/connect_db.php");
require_once("../response.php");
header('Access-Control-Allow-Origin: *');  // 解决前段javascript跨域请求
//print_r($_FILES);
$filename = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];
//将服务器上的临时⽂件移动到指定⽬录下
//使⽤该⽅法move_uploaded_file($tmp_name , $destination)
move_uploaded_file($tmp_name , "../files/".$filename);
echo$filename;
exit();
上⽂有注释不赘述,这⾥还搜集了⼀些关于上传⽂件$_FILES()的重要⽅法:
$_FILES['myFile']['name'] 显⽰客户端⽂件的原名称。
$_FILES['myFile']['type'] ⽂件的 MIME 类型,例如"image/gif"。
$_FILES['myFile']['size'] 已上传⽂件的⼤⼩,单位为字节。
$_FILES['myFile']['tmp_name'] 储存的临时⽂件名,⼀般是系统默认。
$_FILES['myFile']['error'] 该⽂件上传相关的错误代码。以下为不同代码代表的意思:
0; ⽂件上传成功。
1; 超过了⽂件⼤⼩php.ini中即系统设定的⼤⼩。
2; 超过了⽂件⼤⼩MAX_FILE_SIZE 选项指定的值。
3; ⽂件只有部分被上传。
4; 没有⽂件被上传。
5; 上传⽂件⼤⼩为0。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。