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

简介: 从建站打拿站 -- PHP(文件上传)

一、上传文件

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页面结束标签 -->

运行结果:


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 "请通过表单提交";    
    }
?>

禁止非法,后果自负

目录
相关文章
|
2月前
|
前端开发 PHP
从建站到拿站 -- PHP基础
从建站到拿站 -- PHP基础
21 0
|
2月前
|
安全 PHP
从建站到拿站 -- PHP(Cookie设置)
从建站到拿站 -- PHP(Cookie设置)
20 0
|
2月前
|
安全 PHP 数据库
从建站打拿站 -- PHP(登录和注册)
从建站打拿站 -- PHP(登录和注册)
13 1
|
2月前
|
PHP
从建站到拿站 -- PHP判断循环及函数
从建站到拿站 -- PHP判断循环及函数
12 0
|
2月前
|
安全 PHP 数据库
从建站打拿站 -- PHP(GET和POST)
从建站打拿站 -- PHP(GET和POST)
11 0
原生php实现大案例(特色:不登录不能使用功能 注册 登录 文件上传 发帖 列表页 详情页 )提供sql
原生php实现大案例(特色:不登录不能使用功能 注册 登录 文件上传 发帖 列表页 详情页 )提供sql
|
7月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
81 0
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP 原生连接 Mysql
PHP 原生连接 Mysql
107 0