我是靠谱客的博主 忧伤棒棒糖,最近开发中收集的这篇文章主要介绍PHP 文件上传前后端代码(笔记),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本笔记中代码运行环境为Wampserver-3.2.9

前端上传文件代码

<html>
<head>
<meta charset="utf-8">
<title>文件上传</title>
</head>
<body>
<form action="fileUpload.php" method="post" enctype="multipart/form-data">
<label for="file">文件名:</label>
<input type="file" name="biddingDoc" id="file"><br>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>

如果需要保存大文件,需要在后端保存文件前,对php.ini配置文件进行修改 。

第一步、在wampserver文件bin目录中找到对应版本的apache目录

 

 第二步、在apache的bin目录中找到php.ini文件并打开

 

 第三步、查找并修改其中的memory_list、post_max_size、upload_max_filesize三项

首先在php.ini文件中查找file_uploads项,如果为off则设置为On。不开启此项无法进行文件上传。

找到upload_max_filesize项,然后根据需要传输的文件大小进行配置(默认为2M),如:需上传文件为200M,则设置200M或略高于200M.

找到post_max_size项并将大小设置为高于上一项的值。

最后找到memory_list设置大小高于前面两项。

以上三项配置的相关信息

upload_max_filesize ----上传文件的最大尺寸,设为0则代表无限制。

post_max_size ----通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。如果数据超出了设置的大小,那么$_FILES和$_POST都会为空,导致获取失败。设为0则代表无限制。

memory_list ----这个选项用来设置单个PHP脚本所能申请到的最大内存空间。设为-1则代表无限制。

在配置这三项时要始终保证memory_limit > post_max_size > upload_max_filesize,否则在文件上传时会出现问题。

在php.ini中的其他和文件上传的相关项

upload_tmp_dir ----为上传文件的临时存放位置,默认为空。在wampserver环境中默认为wampserver根目录中的tmp文件。upload_tmp_dir = "D:/file/temp" (注意在填写路径时使用的是斜杠"/")。

max_execution_time ----为每个PHP页面运行的最大时间值(单位秒),在我们需要上传大文件时,需要耗费更多时间。如果运行超过了该项设置的时间则会停止脚本运行导致上传文件失败,所以要考虑实际情况修改该项值,如果设为0则表示无时间限制。

后端PHP代码,PHP文件名为fileUpload.php 

<?php
//首先需要根据需要上传文件的大小,设置Apache中php.ini的参数。保证参数 memory_limit > post_max_size > upload_max_filesize

  function fileUpload(){
        if (isset($_FILES['biddingDoc'])) {
            $file = $_FILES['biddingDoc'];
            if (is_uploaded_file($file['tmp_name'])) { //判断是否已上传到临时路径中
                $docName = $_FILES['biddingDoc']['name']; //获取文件名
                $suffixName = explode('.', $docName)[1]; //获取文件后缀名
                if (in_array($suffixName, ['xlsx', 'xls', 'docx', 'doc']) === false) {   //判断是否为可上传文件类型
                    echo '文件类型不允许';
                } else {
                    if (move_uploaded_file($file['tmp_name'], 'E:/Wampserver/www/文件保存/' . $file['name'])) {
                        echo '文件保存成功!';
                    } else {
                        echo '文件保存失败!';
                    }
                }
            } else {
                echo '上传失败';
            }
        } 
    }
fileUpload();
?>

总结

以上就是这次笔记的全部内容,需要着重注意php.ini的设置,如果设置不正确会导致在文件上传过程中出现错误。

最后

以上就是忧伤棒棒糖为你收集整理的PHP 文件上传前后端代码(笔记)的全部内容,希望文章能够帮你解决PHP 文件上传前后端代码(笔记)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部