广东蜡笔小新 2022-05-27 18:20 采纳率: 66.7%
浏览 55
已结题

如何利用PHP获取HTML上传的文件内容,并保存在mysql数据库中

如何利用PHP获取HTML上传的文件内容,并保存在mysql数据库中(请详细解答)
  • 写回答

1条回答 默认 最新

  • 程序员江河 2022-05-28 08:57
    关注

    mysql数据库本身不适合存放文件数据。

    <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
    <?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);
    }
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月5日
  • 已采纳回答 5月28日
  • 创建了问题 5月27日

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊