ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

PHP上传与mysql返回处理

2019-09-23 11:00:47  阅读:244  来源: 互联网

标签:FILES name extension upload echo file mysql PHP 上传


这段时间忙于做学校老师带的一个PHP项目,现在有空把一些知识点总结归纳一下。

1.环境介绍

WAMPSERVER 3.1.9 64bit
Wampserver集成了apache、php、mysql等。
项目使用Apche 2.4.39
Php 7.2.18
Mysql 5.7.29
在这里插入图片描述
数据库管理使用Navicat

2.文件上传与下载

upload_max_filesize设置最大上传文件大小

下载文件通过Get拼接下载链接

<a href = "./upload_check.php?f=<?php echo $row['BookName']?>">

upload_check.php内容:

$file_name=$_GET['f'];//需要下载的文件
echo $file_name;
$temp = explode(".", $file_name);
$extension = end($temp);
//$file_name=iconv("utf-8","gb2312","$file_name");
$fp=fopen("../upload/$extension/".$file_name,"r+");//下载文件必须先要将文件打开,写入内存
if(!file_exists("../upload/$extension/".$file_name)){//判断文件是否存在
    echo "文件不存在";
    exit();
}
$file_size=filesize("../upload/$extension/".$file_name);//判断文件大小
//返回的文件
header("content-type: application/octet-stream");
//按照字节格式返回
header("accept-ranges: bytes");
//返回文件大小
header("accept-length: ".$file_size);
//弹出客户端对话框,对应的文件名
header("content-disposition: attachment; filename=".$file_name);
//防止服务器瞬时压力增大,分段读取
$buffer=1024;
while(!feof($fp)){
    $file_data=fread($fp,$buffer);
    echo $file_data;
}
//关闭文件
fclose($fp);

上传文件:
表单增加:

enctype="multipart/form-data"
//td内容
<td><label for="file">文件名:</label><input type="file" name="file" id="file"></td>

上传验证:

$allowedExts = array("pdf","pptx");//允许的后缀名
        $temp = explode(".", $_FILES["file"]["name"]);
//echo "name:".$_FILES["file"]["name"];
//echo "<br/>";
//echo "type:".$_FILES["file"]["type"];
//echo "<br/>";
//echo "size:".$_FILES["file"]["size"];
//echo "<br/>";
//echo "tmp_name:".$_FILES["file"]["tmp_name"];
//echo "<br/>";
    $extension = end($temp);      //获取文件后缀名
    echo $extension;
    if (
    //&& ($_FILES["file"]["size"] < 204800)    //小于 200 kb
    in_array($extension, $allowedExts))
    {
        if ($_FILES["file"]["error"] > 0)
        {
            //echo "错误:" . $_FILES["file"]["error"] . "<br>";
        }
        else
        {
            //echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
            //echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
            //echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
            //echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"] . "<br>";
        
         //判断上一级目录下的 upload 目录是否存在该文件
         //如果没有 upload 目录,你需要创建它,upload 目录权限为 777
            if (file_exists("../upload/$extension/" . $_FILES["file"]["name"]))
            {
                echo $_FILES["file"]["name"] . " 文件已经存在。 ";
            }
            else
            {
             //如果 upload 目录不存在该文件则将文件上传到 upload 目录下
             
                move_uploaded_file($_FILES["file"]["tmp_name"], "../upload/$extension/" . $_FILES["file"]["name"]);
                echo "文件存储在: " . "../upload/$extension/" . $_FILES["file"]["name"];
            }
        }
    }
    else
    {
        echo "非法的文件格式";
    }
        
            if($result3){
                echo "<script>alert('增加成功!')</script>";
            }
            else{
                echo "<script>alert('系统繁忙,请稍后再试!')</script>";
            }

3.数据库操作

$conn=new mysqli("IP","账号","密码","数据库名");
mysqli_set_charset($conn,"utf8");
$sql="select Student_Name,Student_Pwd from tb_Student where Student_Name='$username' and Student_Pwd='$password'";
$result=$conn->query($sql);//返回结果
$result->num_rows//结果集行数
while ($row =$query->fetch_array() )//循环遍历结果集,$row['列名']
$conn->close();//关闭连接

标签:FILES,name,extension,upload,echo,file,mysql,PHP,上传
来源: https://blog.csdn.net/qq_40386321/article/details/101195859

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有