李白写过那么多诗,他自己会背么?

像李白那么不羁的人,估计写完就忘了,放不下的是我们俗人自己。。。

----  网易云热评

一、上传文件

1、新建一个html网页,上传文件

enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"

<!DOCTYPE html>  <!-- 有助于浏览器中正确显示网页 -->

<html> <!-- html页面开始标签 -->

<head>

<meta charset="UTF-8"> <!-- UTF-8编码 -->

<title>周杰伦</title> <!-- 标签页显示的内容 -->

</head>

<body style="text-align:center;">

<img src="1.jpg"> <!-- 插入一张图片 -->

<hr> <!-- 水平线 -->

<h1>上传文件</h1>

<form action="../php/sc.php" method="post" enctype="multipart/form-data">

选择上传文件:<input type="file" name="file" id="file" /><br>

<input type="submit" name="submit" value="上传" />

</body>

</html> <!-- html页面结束标签 -->

运行结果:

从建站打拿站 -- PHP(文件上传)_PHP

2、设置PHPstudy环境中临时文件的上传路径,从php配置文件设置

;;;;;;;;;;;;;;;;

; File Uploads ;

;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.

; http://php.net/file-uploads

file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not

; specified).

; http://php.net/upload-tmp-dir

upload_tmp_dir =c:\test

; Maximum allowed size for uploaded files.

; http://php.net/upload-max-filesize

upload_max_filesize = 2M

; Maximum number of files that can be uploaded via a single request

max_file_uploads = 20

3、编写上传文件的sc.php

move_uploaded_file:将临时的文件移动到其他地方,就相当于保存文件了

__DIR__;获取该脚本的当前目录

<meta charset="utf-8">

<?php

echo "<pre>";

if(isset($_POST['submit'])){

//var_dump($_FILES);

$tmp=$_FILES['file']['tmp_name'];//获取上传文件的临时目录名称

$path=__DIR__."\\".$_FILES['file']['name'];//设置文件上传到的位置

if(move_uploaded_file($tmp,$path)){

echo "上传成功";

}else{

echo "上传失败";

}

}

?>

4、为上传的文件增加验证,比如至允许上传图片,且大小不超过20000字节

<meta charset="utf-8">

<?php

if(isset($_POST['submit'])){

$tmp=$_FILES['file']['tmp_name'];//获取上传文件的临时目录名称

$path=__DIR__."\\".$_FILES['file']['name'];//设置文件上传到的位置

//echo $tmp;

//echo $path;

if ((($_FILES["file"]["type"] == "image/png") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)){

if(move_uploaded_file($tmp,$path)){

echo "上传成功";

}else{

echo "上传失败";

}

}else{

echo "上传文件类型有误";

}

}else{

echo "请通过表单提交";

}

?>

禁止非法,后果自负

欢迎关注公众号:web安全工具库

从建站打拿站 -- PHP(文件上传)_渗透测试_02