php 图片上传
基础原理:
通过使用php的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的 input name,第二个下标可以是 "name"、"type"、"size"、 "tmp_name" 或 "error"。 如下所示:
$_FILES["file"]["name"] - 上传文件的名称
$_FILES["file"]["type"] - 上传文件的类型
$_FILES["file"]["size"] - 上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码
功能代码如下:
input_file.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>input_file</title>
</head>
<body>
<form action="./upload.php" method='post' enctype="multipart/form-data">
<input type="file" name="file">
<p><input type="submit"></p>
</form>
</body>
</html>
upload.php
<?php
header("Content-type: text/html; charset=utf-8");
// 接收到的参数
$file = $_FILES['file']; //传输的数据
$name = $file['name']; //文件名
$type = strtolower(substr($name, strrpos($name, '.')+1)); //得到文件类型,并且都转成小写
$allow_type = array('jpg', 'jpeg', 'gif', 'png'); //允许上传的文件类型
if( !in_array($type, $allow_type) ) {
// 不是允许的文件类型
return;
}
//判断是否是通过HTTP POST上传的
if(!is_uploaded_file($file['tmp_name'])){
//如果不是通过HTTP POST上传的
return ;
}
$upload_path = "./img/"; //上传文件的存放路径
//开始移动文件到相应的文件夹
if(move_uploaded_file($file['tmp_name'],$upload_path.$file['name'])){
echo "Successfully!";
}else{
echo "Failed!";
}
?>
来源:https://www.cnblogs.com/wangyihong/p/7692852.html