php 文件上传(无数据库版)

本文介绍了一个简单的HTML表单实现文件上传的功能,并通过PHP脚本进行文件类型的验证、大小检查及重命名,最后将文件移动到指定目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

html:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<!-- enctype 将表单数据转换成二进制上传 -->
	<form action="php/upload.php" method="post" enctype="multipart/form-data">
		<input type="file" name="mypic">
		<input type="submit" value="提交">
	</form>
</body>
</html>


php:

<?php 
	/*php有一个数组,该数据用于保存上传文件所有信息:$_FILES
	var_dump($_FILES); 二维数组
	array(1) { ["mypic"]=> array(5) { ["name"]=> string(5) "1.JPG" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(24) "C:\xampp\tmp\php2BD2.tmp" ["error"]=> int(0) ["size"]=> int(32593) } } 
	size:字节 byte b=8bit
	 */
	$picname=$_FILES['mypic']['name'];
	$picsize=$_FILES['mypic']['size'];
	//限制大小:512kb
	if($picsize>(512*1024)){
		//echo json_encode(['code'=>1,'msg'=>'上传文件过大']);
		echo '{"code":-1,"msg":"上传文件过大"}';
		exit;
	}
	/*文件类型
		jpg png gif jpeg mp4 flv pdf doc docx
	*/
	$type=strtolower(strstr($picname,"."));//不算太健壮,如果文件名中有两个点,就gg
	//echo $type;
	if($type!=".jpg"&&$type!=".gif"&&$type!=".png"){
		echo '{"code":-2,"msg":"上传 文件类型错误"}';
		exit;
	}
	//文件重名:重新起一个文件名
	$pics=time().rand(1,9999).$type;
	//将临时文件(如果上传的文件大,则会分为几部分上传)移动到上传目录
	$src=$_FILES["mypic"]["tmp_name"];
	$des="../uploads/".$pics;
	move_uploaded_file($src,$des);
	echo '{"code":1,"msg":"上传成功"}';
?>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值