php-文件上传

表单上传文件index.php

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>文件上传</title>
</head>
<body>
//enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制
//数据时,比如文件内容,请使用 "multipart/form-data"。
	<form action="test.php" method="post" enctype="multipart/form-data">
		<p>第一张图片</p>
		<input type="file" name="file" if="file">
		<input type="submit">
	</form>
</body>
</html>

文件上传控制test.php

<?php 
header("content-type:text/html;charset=utf8");
//控制上传的文件
//允许上传图片
$allowed=array("png","jpg","gif","jpeg");
//将文件名后后缀分开
$tmp=explode(".",$_FILES["file"]["name"]);
//获取文件名后缀
$ext=end($tmp);
//var_dump($ext);
//判断是否为所限制的类型
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 500000)   // 控制大小
&& in_array($ext, $allowed)){
	//获取文件上传的信息
	if($_FILES["file"]["error"]>0){
		echo "错误:".$_FILES["file"]["error"];
	}
	else{
		echo "上传文件名:".$_FILES["file"]["name"]."</br>";
		echo "文件类型:".$_FILES["file"]["type"]."</br>";
		echo "文件大小:".$_FILES["file"]["size"]."</br>";
		echo "文件存储位置:".$_FILES["file"]["tmp_name"]."</br>";
	}
	// 判断当期目录下的 upload 目录是否存在该文件
	// 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
	if(is_dir("upload")){
		move();
	}else{
		mkdir ( "upload", 0777, true);
		move();
	}
}else{
	echo "非法的文件格式";
}
//移动文件
//在服务器的 PHP 临时文件夹中创建了一个被上传文件的临时副本。
//这个临时的副本文件会在脚本结束时消失。要保存被上传的文件,我们需要
//把/它拷贝到另外的位置
function move(){
	if(file_exists("upload/".$_FILES["file"]["name"])){
		echo "文件已存在!";
	}
	else{
		move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]);
		echo "文件上传成功";
	}
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注