PHP初学笔记-文件上传基本操作

0x01 文件的上传:

首先,写一个HTML 的表单,用于上传文件,命名为form.html。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>cnm</title>
</head>
<body>
<form method="post" action="saonima.php" enctype="multipart/form-data">
    <input type="hidden" name="MaxFileSize" value="1000000">
    文件:<input type="file" name="file"/>
    <input type="submit" value="submit"/>
</form>
</body>
</html>
*<form>标签中的 enctype = "multipart/form-data" 这个代码的作用是不对字符编码。在使用包含文件上传表单的控件中必须使用该值。

*form标签下的第一个input标签type为hidden,是隐藏域,写在上传文件的表单之前用于控制上传文件的大小。

0x02 超级全局变量$_FILES

返回一个数组,列表如下:

$_FILES['file']['tem_name'] 文件在服务器存放的临时地址。

 $_FILES['file']['name'] 文件名。

$_FILES['file']['size'] 文件的大小,单位是B。

$_FILES['file']['type'] 上传文件的类型

$_FILES['file']['error'] 错误的类型,0:表示没有发生错误。

1:表示上载文件的大小超出了约定值。

2:表示上载文件大小超出了 HTML 表单的 MAX_FILE_SIZE 元素所指定的最大值。

3:表示文件只上传了一半。

4:表示没有上传任何文件。


0x03 文件的接收

is_uploaded_file()判断文件是否是通过 HTTP POST 上传的,里面的参数是文件名用超级全局变量$_FILES来获取。返回值类型为bool型。

<?php
	if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
		echo '上传成功';
	} 
	else {
		echo '上传失败';
	}

0x04 上传文件后的移动

move_uploaded_file(),返回值为bool型。

bool move_uploaded_file ( string $filename , string $destination )
第一个参数是上传的合法文件地址,第二个参数是要存放的地址。


<?php
	if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
		echo'上传成功,移动完毕';
		move_uploaded_file($_FILES['file']['tmp_name'],$_FILES['file']['name']);
	}
	else {
		echo '上传失败';
	}

如例,默认的保存目录是php文件的根目录,可以在该文件下再创建文件夹保存。




如果想将文件保存到当前目录下的upload文件夹(手动新建一个就行)可以修改move_uploaded_files()中第二个参数,如下所示:

'upload/'.$_FILES['file']['name']





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值