将图片存入数据库:如何将图片储存在数据库里来源: 发布时间:星期四, 2009年2月12日 浏览:337次 评论:0
2进制数据 + MySQL + PHP Or: 怎样在Mysql中直接储存图片 作者: Florian Dittmer 翻译:netmad 如果你想把 2进制 ![]() ![]() ![]() ![]() 我将告诉你怎样通过HTML表单来储存这些文件 ![]() ![]() 本文概述: 在mysql中建立 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 在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));\" (不能断行) 如果没有意外 ![]() ![]() ![]() ![]() ![]() ![]() store.php3 <?php // store.php3 - by Florian Dittmer <[email protected]> ?> <HTML> <HEAD><TITLE>Store binary data ![]() <BODY> <?php // 如果提交了表单 ![]() ![]() // 连接到数据库 // (你可能需要调整主机名 ![]() 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 ![]() pr ![]() MYSQL_CLOSE ![]() } ![]() // 否则显示储存新数据 ![]() ?> <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> 如果你执行了这个 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 当文件上传至web服务器的后 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 你可以通过这个 ![]() ![]() <?php // getdata.php3 - by Florian Dittmer <[email protected]> // ![]() ![]() // 你可能需要调整主机名 ![]() @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; }; ?> ![]() ![]() ![]() ![]() 例如: ![]() ![]() ![]() getdata.php3?id=2如果你将图片储存在数据库里, 你可以向 ![]() ![]() ![]() ![]() Example: ![]() ![]() ![]() <img src=\"getdata.php3?id=3\"> 怎样储存大于1MB ![]() 如果你想储存大于1MB ![]() ![]() ![]() ![]() ![]() ![]() 下面几条也许可以帮助你储存小于24MB ![]() 修改 store.php3 ![]() ![]() ![]() 修改你 ![]() ![]() ![]() ![]() ![]() ![]() [1][2]下 ![]() 0
相关文章读者评论发表评论 |
|