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