php || 上传图片,pdf等文件到本地/upload;再实现保存本地路径到数据库

html代码(上传图片,文件):

<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <title>上传页面</title>
    </head>
    <body>
         <script language="javascript">
             function Juge(theForm){
    
    
                 if(theForm.form_data.value == ""){
    
    
                     alert("请选择一张图片上传!");
                     theForm.upfile.focus();
                 }
                 if(theForm.form_description.value == ""){
    
    
                     alert("请填好图片说明!");
                     theForm.content,focus();
                 }
                 if(theForm.form_description.value.length>30){
    
    
                     alert("图片说明必须少于30字。");
                     theForm,content,focus();
                 }
             }
        </script>
        <div id="maxdiv">


  <div id="left">
             <form class="form" enctype="multipart/form-data" action="pdf.php" method="post">
                 <table align="center" border="1">
                     <tr>
                         <td>选择图片:</td>
                         <td><input name="file" type="file" size="40" class="xuanze"></td>
                     </tr>
                     <tr>
                         <td>输入说明:</td>
                         <td><input name="form_description" type="text" size='30'>(*>限30字)</td>
                     </tr>
                     <tr>
                         <td colspan="2">
                             <center>
                                 <input type="submit" name="submit" value="提交" class="tijiao">
                                 <input type="reset" name="reset" value="重置" class="chongzhi">
                             </center>
                         </td>
                    </tr>
                 </table>
             </form>
             <div id="button">
                <form >
        </div>
</body>
</html>

php代码(获取文件信息,保存到/upload文件夹,并把保存的路径保存到数据库中):

<?php
//数据库连接文件

if (($_FILES["file"]["type"] == "image/gif" || $_FILES["file"]["type"] == "image/jpeg" || $_FILES["file"]["type"] == "image/png" || $_FILES["file"]["type"] == "image/jpg"  || $_FILES["file"]["type"] == "application/pdf"       || $_FILES["file"]["type"] == "image/pjpeg") && $_FILES["file"]["size"] < 2 * 1024 * 1024) {
    //限制上传文件的大小,单位B 。这里表示2M
    if ($_FILES["file"]["error"] > 0) {
        // error为0表示上传成功
        echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
        //上传失败返回错误代码
    } else {

        $name = $_FILES["file"]["name"];

        $type = $_FILES["file"]["type"];
        $type = explode('/', $type);
        $type = $type[1];


        $path_dir = 'upload/';
        mkdirs($path_dir);     //判断是否有该文件夹,没有就创建

        //日期+随机数命名图片并转移保存
        // $filename = date("YmdHis") . rand() . '.png';
        $filename = date("YmdHis") . rand() . '.' . $type;
        move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $filename);
     
        $title = $filename;
        $path = 'upload/' . $filename;
        //注意:insert语句后 values后的格式 ('".$变量名."')

  		 //名字和路径 存入数据库
        //连接数据库
        $dsn = 'mysql:dbname=test; host=localhost';
        $pdo = new PDO($dsn, 'root', 'root');
        $pdo->query("SET NAMES utf8");
        $result = $pdo->query("INSERT INTO pdf (name,pdf)
        VALUES ('$name','$path')");
        if ($result) {
            echo "<script>alert('图片上传成功!');window.location.href='pdf.html?id=" . $table . "'</script>";
        } else {
            echo "<script>alert('图片上传失败,请重新上传!');window.location.href='pdf.html?id=" . $table . "'</script>";
        }
    }
} else {
    echo "请上传pdf或者图片";
}

// 判断是否存在文件夹
// mkdir()  只能在已经存在的目录中创建创建文件夹(即父级必须有才行)。
// mkdirs()  可以在不存在的目录中创建文件夹。诸如:a\b,既可以创建多级目录。
// dirname()  是返回路径中的目录部分。
// is_dir()  用于判断给出的文件名是否是一个有效的目录
function  mkdirs($dir,  $mode  = 0777)
{
    if (is_dir($dir) || @mkdir($dir,  $mode))  return  TRUE;
    if (!mkdirs(dirname($dir),  $mode))  return  FALSE;

    /return  @mkdir($dir,  $mode);
}

数据库:
在这里插入图片描述
页面:
在这里插入图片描述
保存的位置:
在这里插入图片描述

Guess you like

Origin blog.csdn.net/weixin_45703155/article/details/121249799