大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 数据库 -> MySQL -> 怎样在Mysql中直接储存图片

怎样在Mysql中直接储存图片

时间: 2021-08-13 作者:daque

即使你想把二进制的数据,比方说图片文献和html文献,径直生存在你的mysql数据库,那么这篇作品即是为你而写的!我将报告你还好吗经过html表单来积聚那些文献,还好吗考察和运用那些文献。 正文概括:  在mysql中创造一个新的数据库  一个还好吗积聚文献的例子步调  一个还好吗考察文献的例子步调  在mysql中创造一个新的database    开始,你必需在你的mysql中创造一个新的数据库,咱们将会把那些二进制文献积聚在这个数据库里。在例子中我会运用下列构造,为了创造数据库,你必需做下列办法:  加入mysql遏制器  输出吩咐"create database binary_data;"  输出吩咐"use binary_data;"  输出吩咐"create table binary_data ( id int(4) not null auto_increment primary key, description char(50), bin_data longblob, filename char(50), filesize char(50), filetype char(50));" (不许断行)  即使没有不料,数据库 和 表 该当创造好了。  一个还好吗积聚文献的例子步调 用这个例子你不妨经过html表单将文献传输到数据库中。. store.php3 <?php // store.php3 - by florian dittmer <dittmer@gmx.net> ?> <html> <head><title>store binary data into sql database</title></head> <body> <?php // 即使提交了表单,代码将被实行: if ($submit) {      // 贯穿到数据库      // (你大概须要安排长机名,用户名和暗号)     mysql_connect( "localhost", "root", "password");     mysql_select_db( "binary_data");     $data = addslashes(fread(fopen($form_data,  "r"), filesize($form_data)));     $result=mysql_query( "insert into binary_data (description,bin_data,filename,filesize,filetype) ".          "values (’$form_description’,’$data’,’$form_data_name’,’$form_data_size’,’$form_data_type’)");     $id= mysql_insert_id();     print  "<p>this file has the following database id: <b>$id</b>";     mysql_close(); } else {      // 要不表露积聚新数据的表单 ?>     <form method="post" action=" <?php echo $php_self; ?>" enctype="multipart/form-data">     file description:<br>     <input type="text" name="form_description"  size="40">     <input type="hidden" name="max_file_size" value="1000000">     <br>file to upload/store in database:<br>     <input type="file" name="form_data"  size="40">     <p><input type="submit" name="submit" value="submit">     </form> <?php } ?> </body> </html> 即使你实行了这个步调,你将会瞥见一个大略的html表单,单击“欣赏”采用一个文献,而后单击提交。 当文献上传至web效劳器之后,步调将会报告你方才上传的文献的id,记取这个id,待会要用的。 一个还好吗考察文献的例子步调 你不妨经过这个步调考察你方才积聚的文献 <?php // getdata.php3 - by florian dittmer <dittmer@gmx.net> // 挪用本领: getdata.php3?id=<id> if($id) {      // 你大概须要安排长机名,用户名和暗号:     @mysql_connect( "localhost", "root", "password");     @mysql_select_db( "binary_data");     $query =  "select bin_data,filetype from binary_data where id=$id";     $result = @mysql_query($query);     $data = @mysql_result($result,0, "bin_data");     $type = @mysql_result($result,0, "filetype");     header(  "content-type: $type");     echo $data; }; ?> 步调必应知道要考察谁人文献, 你必需将id动作一个参数。 比方: 一个文献在数据库中的id为2. 你不妨如许挪用它:                     getdata.php3?id=2即使你将图片积聚在数据库里, 你不妨向挪用图片一律挪用它。 example: 一个图片文献在数据库中的id为3. 你不妨如许挪用它:                     <img src="getdata.php3?id=3"> 还好吗积聚大于1mb的文献: 即使你想积聚大于1mb的文献,你必需对你的步调、php树立、sql树立举行很多窜改,。 底下几条大概不妨扶助你积聚小于24mb的文献: 窜改 store.php3 ,将 max_file_size 的值改成 24000000。  窜改你的php树立,在普遍情景下,php只承诺小于2mb的文献,你必需将max_filesize(在php.ini中)的值改成24000000 去掉mysql的数据包巨细控制,在普遍情景下 mysql 小于1 mb的数据包.  你必需用以次参数重启你的mysql /usr/local/bin/safe_mysqld -o key_buffer=16m -o table_cache=128 -o sort_buffer=4m -o record_buffer=1m -o max_allowed_packet=24m 

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.