php如何上传图片到数据库
内容导读
收集整理的这篇技术教程文章主要介绍了php如何上传图片到数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3003字,纯文字阅读大概需要5分钟。
内容图文
一般我们上传图片采用的传统方式是将图片保存在服务器本机文件夹里。这里我就简单介绍一下将图片直接存储到数据库里的方法实现。
mysql数据库提供了Blob类型用于存储大量数据,BLOB有四种类型,能容纳不同大小的数据。
TinyBlob 最大 255B
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G
需要注意的是:php配置文件本身有对post 表单数据限制大小,也有对file提交的文件限制大小。故需去php.ini 修改一下
upload_max_filesize=10M(file提交文件大小限制)
post_max_size=10M(表单数据大小限制)
我用php做一个简单的注册示例。
mysql表的设计(字段命名有点不规范,实际项目中需要注意一下字段命名规范)
数据库连接文件 conn.php
$conn = @mysql_connect('localhost' , 'userName' , 'passWord') or die(mysql_error()); //连接数据库mysql_query('set names utf8' , $conn); //设置连接字符集@mysql_select_db('user' , $conn) or die(mysql_error()); //连接数据表
注册表单的实现 register.html (选取关键部分)
<form action="register.php" method="post" enctype="multipart/form-data"> <dl class="admin_login"> <dd class="pic"> <img src="img/5.png" alt="" id="preview"/> <a href="javascript:;" class="a-upload"> <input type="file" name="photo" id="" οnchange="imgPreview(this)">上传头像 </a> </dd> <dd class="email_icon"> <input type="text" placeholder="请输入注册邮箱" name="email" class="login_txtbx"> </dd> <dd class="name_icon"> <input type="text" placeholder="请输入帐号昵称" name="name" class="login_txtbx"> </dd> <dd class="phone_icon"> <input type="tel" placeholder="请输入联系号码" name="phone" class="login_txtbx"> </dd> <dd class="school_icon"> <select name="school"> <option value="0">请选择报研学校</option> <option value="1">中南大学</option> <option value="2">电子科技大学</option> <option value="3">上海交通大学</option> <option value="4">华南理工大学</option> </select> </dd> <dd class="pwd_icon"> <input type="password" placeholder="请输入您的密码" name="password" class="login_txtbx"> </dd> <dd class="rpwd_icon"> <input type="password" placeholder="请确认您的密码" class="login_txtbx"> </dd> <dd> <input type="submit" value="立即注册" class="submit_btn"> </dd> </dl></form>
上传图片及注册页面 register.php
<?php require('conn.php'); if(empty($_POST)){ require('register.html'); }else{ $image = mysql_real_escape_string(file_get_contents($_FILES['photo']['tmp_name'])); //获取图片 $image_type = $_FILES['photo']['type']; //获取图片格式 $user_name = $_POST['name']; $user_email = $_POST['email']; $user_phone = $_POST['phone']; $user_school = $_POST['school']; $password = $_POST['password']; $sqlstr = "insert into user(uname,email,phone,password,school,photo,type) values('".$user_name."','".$user_email."','".$user_phone."','".$password."','".$user_school."','".$image."','".$image_type."')"; @mysql_query($sqlstr) or die(mysql_error()); //执行sql语句,若执行成功,继续下面跳转页面。若执行失败,提示错误信息 header('location:login.php'); //跳转页面 exit(); }?>
需要注意的:
1) php配置文件大小的限制
2) 用form上传文件时,一定要加上属性内容enctype="multipart/form-data",否则用$_FILES[ 'photo' ] [ ' tmp_name' ] 获取文件信息时会报异常
推荐教程:PHP视频教程
以上就是php如何上传图片到数据库的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php如何上传图片到数据库全部内容,希望文章能够帮你解决php如何上传图片到数据库所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。