广东蜡笔小新 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 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题