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