PHP如何实现表单提交时用户上传头像到数据库并读出显示
来源:互联网 发布:hive 数据倾斜 编辑:程序博客网 时间:2024/05/22 08:33
register.html(注册页面)
<!DOCTYPE html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>注册页面</title></head><body><form action="enteringDb.php" method="post" enctype="multipart/form-data"> <table border="1"> <tr><th colspan="2">注册页面</th></tr> <tr><td>用户名</td><td><input type="text" name="name" size="30" maxlength="10"/></td></tr> <tr><td>请上传用户头像</td><td><input type="file" name="file" id="file"/></td></tr> <tr><td> <input type="submit" name="submit" value="提交"/> <input type="reset" value="重置"/> </td></tr> </table></form></body></html>
enteringDb.php(读入到数据库)
<!DOCTYPE html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>读入数据库</title></head><body><?phpfunction connectDb(){ $link = mysqli_connect("localhost", "root", ""); if ($link) { //echo "数据库连接成功!".'<br/>'; mysqli_select_db($link, 'mydb');//选择要访问的数据库 mysqli_query($link, "SET NAMES 'utf8'");//在选择数据库表前,防止中文在浏览器中查看乱码 } else { echo mysqli_error($link); } return $link;}$link = connectDb();//上传头像处理//限制上传.gif 或 .jpeg 类型图片并小于 200 kbif ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 200000)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "F:\\xampp\htdocs\mydb02\image/" . $_FILES["file"]["name"]); $icon_tem = "image/" . $_FILES["file"]["name"]; $icon_arr = array("$icon_tem"); $icon = implode($icon_arr); $name = $_POST['name']; mysqli_query($link,"INSERT INTO users (icon,name) VALUES ('$icon','$name')"); }}?></body></html>
result.php(从数据库读出,显示页面)
<!DOCTYPE html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>从数据库读出</title></head><body><?phpfunction connectDb(){ $link = mysqli_connect("localhost", "root", ""); if ($link) { //echo "数据库连接成功!".'<br/>'; mysqli_select_db($link, 'mydb');//选择要访问的数据库 mysqli_query($link, "SET NAMES 'utf8'");//在选择数据库表前,防止中文在浏览器中查看乱码 } else { echo mysqli_error($link); } return $link;}$link = connectDb();$result = mysqli_query($link, "SELECT * FROM users");$dataCount = mysqli_num_rows($result);//返回指定数据库表中数据的行数echo "<table style=' text-align: center' border='2'> <tr><th>头像</th><th>用户名</th></tr>";for ($i = 0; $i < $dataCount; $i++) { $result_arr = mysqli_fetch_assoc($result);//返回表中每条数据的具体内容 $icon=$result_arr['icon']; $name = $result_arr['name']; echo "<tr>"?> <td><img src='<?php echo $icon ?>' height="60px" width="60px" border="1px solid red"></td> <?php echo "<td>$name</td></tr>";}echo "</table>";?></body></html>
效果图:
阅读全文