8(PHP表单交互、文件上传)

这篇博客详细介绍了PHP中的文件上传和表单交互。通过示例代码展示了如何使用$_FILES获取上传文件信息,包括文件名、类型、临时存储位置、错误代码等。还解释了如何判断文件是否通过HTTP POST上传,以及如何移动上传文件到目标位置。同时,文章涵盖了文件上传过程中可能出现的错误代码及其含义,并提供了完整的文件上传表单和处理代码。
摘要由CSDN通过智能技术生成

目录

表单交互

文件上传

文件上传$_FILES

上传文件错误代码

查看临时文件

判断文件是否是通过http post上传的

文件上传完整代码


表单交互

其相关的方式有:

$_GET

        以post方式提交的数据,就需要$_POST方式取得数据;post方式—后台传输数据

$_POST

        以get方式提交的数据,就需要$_GET方式取得数据;get方式—地址栏传输数据

$_REQUEST

        $_REQUEST可以接收到get,post方式提交的数据

例子:

html表单页面

后端php接收数据的代码:

文件上传

文件上传$_FILES

<form action=”file.php” method=”post” enctype=”multipart/form-data”>

        <input type=”file” name=”pic” accept=”image/gif,image/jpg,image/png”/>

</form>

enctype=”multipart/form-data”是设置表单的文件上传是二进制上传,不设置的话文件无法上传。

表单页面:

 

代码:

打印结果:--二维数组

    Name:上传的文件名

    Type:上传的文件类型

    Tmp_name:上传后临时文件的存储位置

    Error:上传失败的信息

    Size:上传文件的大小

上传文件错误代码

    0:没有错误发生,上传成功

    1:上传文件超过了php.ini中的upload_max_filesiz设置的文件大小

    2:上传文件超过了表单Html的上传限制、

    3:文件只有部分被上传

    4:没有文件被上传

    6:找不到临时文件

    7:文件写入失败

查看临时文件

临时文件再脚本执行完毕之后就自动消失了

通过修改php.ini中的upload_tmp_dir可以修改该临时文件的存储位置;

判断文件是否是通过http post上传的

描述:判断文件是否通过HTTP POST上传的

语法:bool  is_uploaded_file(string $filename);

参数:$filename是上传临时文件的文件名

注意:表单提交方式必须为post

表单:

<input type=”hidden” name=”” value=””/>

这是表单的隐藏域,通过设置隐藏域可以再代码中判断是否由表单提交的数据;

后台处理文件的代码:

将上传的文件移动到新的位置

语法:bool move_uploaded_file(string $filename,string $destination)

参数:

         $filename  临时文件

         $destination  目标文件,一般将目标文件复制到网站空间中

文件上传完整代码

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>文件上传</title>
</head>
<body>
	<form action="./文件上传.php" method="post" enctype="multipart/form-data">

		<input type="file" name="pic">

		<!-- 用于后台代码判断是否是这个页面提交的 -->
		<input type="hidden" name="ck" value="upload">
		
		<input type="submit" value="提交文件">

	</form>
</body>
</html>

 

<?php
header("content-type:text/html;charset=utf-8");

//判断是否由表单提交的
if (isset($_POST['ck']) && $_POST['ck'] == 'upload') {
	
	//判断是否由HTTP POST方式上传的文件
	if (is_uploaded_file($_FILES['pic']['tmp_name'])) {
		//移动临时文件到指定目录
		$srcFile = $_FILES['pic']['tmp_name'];
		$desFile = './sc_' . $_FILES['pic']['name'];
		if (move_uploaded_file($srcFile, $desFile)) {
			echo '上传成功';
		}else{
			echo '上传失败';
		}
	}else{
		echo '非法访问';
	}
	
}else{
	echo '非法文件';
}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值