1、创建数据表
CREATE table ccs_image ( ID int(4) unsigned NOT NulL auto_increment, description varchar(250) default NulL, bin_data longblob, filename varchar(50) default NulL, filesize varchar(50) default NulL, filetype varchar(50) default NulL, PRIMARY KEY (ID))engine=myisam DEFAulT charset=utf8
2、用于上传图片到服务器的页面 upimage.HTML
<!DOCTYPE HTML><HTML><head> <Meta charset="UTF-8"> <Meta name="vIEwport" content="wIDth=device-wIDth, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <Meta http-equiv="X-UA-Compatible" content="IE=edge"> <style type="text/CSS"> *{margin: 1%} </style> <Title>document</Title></head><body><form method="post" action="upimage.PHP" enctype="multipart/form-data"> 描述: <input type="text" name="form_description" size="40"> <input type="hIDden" name="MAX_file_SIZE" value="1000000"> <br> 上传文件到数据库: <input type="file" name="form_data" size="40"><br> <input type="submit" name="submit" value="submit"></form></body></HTML>
3、处理图片上传的PHP upimage.PHP
<?PHPif (isset($_POST['submit'])) { $form_description = $_POST['form_description']; $form_data_name = $_fileS['form_data']['name']; $form_data_size = $_fileS['form_data']['size']; $form_data_type = $_fileS['form_data']['type']; $form_data = $_fileS['form_data']['tmp_name']; $dsn = 'MysqL:dbname=test;host=localhost'; $pdo = new PDO($dsn, 'root', 'root'); $data = addslashes(fread(fopen($form_data, "r"), filesize($form_data))); //echo "MysqLPicture=".$data; $result = $pdo->query("INSERT INTO ccs_image (description,bin_data,filename,filesize,filetype) VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')"); if ($result) { echo "图片已存储到数据库"; } else { echo "请求失败,请重试";
注:图片是以二进制blob形式存进数据库的,像这样
4、显示图片的PHP getimage.PHP
<?PHP $ID =2;// $_GET['ID']; 为简洁,直接将ID写上了,正常应该是通过用户填入的ID获取的 $dsn ='MysqL:dbname=test;host=localhost'; $pdo = new PDO($dsn,'root','root'); $query = "select bin_data,filetype from ccs_image where ID=2"; $result = $pdo->query($query); $result = $result->fetchAll(2);// var_dump($result); $data = $result[0]['bin_data']; $type = $result[0]['filetype']; header( "Content-type: $type"); echo $data;
5、到浏览器查看已经上传的图片,看是否可以显示
是没有问题的,证明图片已经以二进制的形式存储到数据库了
更多PHP相关知识,请访问PHP教程! 总结
以上是内存溢出为你收集整理的PHP上传图片到数据库并显示全部内容,希望文章能够帮你解决PHP上传图片到数据库并显示所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)