首页 / PHP / 用PHP和MySQL保存和输出图片
用PHP和MySQL保存和输出图片
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用PHP和MySQL保存和输出图片,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2924字,纯文字阅读大概需要5分钟。
内容图文
mysql可以直接保存二进制的数据,数据类型是blob。
通常在数据库中所使用的文本或整数类型的字段和需要用来保存图片的字段的不同之
处就在于两者所需要保存的数据量不同。MySQL数据库使用专门的字段来保存大容量的数据,数据
类型为BLOB。
MySQL数据库为BLOB做出的定义如下:BLOB数据类型是一种大型的二进制对象,可以保存可
变数量的数据。BLOB具有四种类型,分别是TINYBLOB,BLOB, MEDIUMBLOB
和LONGBLOB,区别在于各自所能够保存的最大数据长度不同
。
建立数据库
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)
)
接着是上传文件的页面,upload.php,code如下:
01
|
<
HTML
>
|
02
|
<
HEAD
><
TITLE
>Store binary data into SQL Database</
TITLE
></
HEAD
>
|
03
|
<
BODY
>
|
04
|
05
|
<?
php
|
06
|
07
|
08
|
if (isset($_POST[‘submit‘])) {
|
09
|
$form_description = $_POST[‘form_description‘];
|
10
|
$form_data_name = $_FILES[‘form_data‘][‘name‘];
|
11
|
$form_data_size = $_FILES[‘form_data‘][‘size‘];
|
12
|
$form_data_type = $_FILES[‘form_data‘][‘type‘];
|
13
|
$form_data = $_FILES[‘form_data‘][‘tmp_name‘];
|
14
|
|
15
|
$
connect = MYSQL_CONNECT ( "localhost", "root", "") or die("Unable to connect to MySQL server"); |
16
|
mysql_select_db( "test") or die("Unable to select database");
|
17
|
18
|
$
data = addslashes (fread(fopen($form_data, "r"), filesize($form_data))); |
19
|
20
|
//echo "mysqlPicture=".$data;
|
21
|
22
|
23
|
$
result
=
MYSQL_QUERY
( "INSERT INTO ccs_image (description,bin_data,filename,filesize,filetype) VALUES (‘$form_description‘,‘$data‘,‘$form_data_name‘,‘$form_data_size‘,‘$form_data_type‘)");
|
24
|
25
|
$
id
=
mysql_insert_id
();
|
26
|
print "<p>This file has the following Database ID: <
a href = ‘getdata.php?id=$id‘ >< b >$id</ b ></ a >"; |
27
|
28
|
29
|
MYSQL_CLOSE();
|
30
|
31
|
} else {
|
32
|
33
|
?>
|
34
|
<
center
>
|
35
|
<
form method = "post" action = "http://localhost/temp/1018/upload.php" enctype = "multipart/form-data" > |
36
|
File Description:
|
37
|
<
input type = "text" name = "form_description" size = "40" > |
38
|
<
INPUT TYPE = "hidden" name = "MAX_FILE_SIZE" value = "1000000" > < br > |
39
|
File to upload/store in database:
|
40
|
<
input type = "file" name = "form_data" size = "40" > |
41
|
<
p
><
input type = "submit" name = "submit" value = "submit" > |
42
|
</
form
>
|
43
|
</
center
>
|
44
|
45
|
<?
php
|
46
|
47
|
}
|
48
|
49
|
?>
|
50
|
</
BODY
>
|
51
|
</
HTML
>
|
上文中的
$_FILES[‘form_data‘][‘name‘];
等是获取刚上传来的文件的信息,php
manual中有提到
注: 要确保文件上传表单的属性是 enctype="multipart/form-data",否则文件上传不了。
全局变量 $_FILES 自 PHP 4.1.0 起存在(在更早的版本中用 $HTTP_POST_FILES 替代)。此数组包含有所有上传的文件信息。
以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称如上例所示,为 userfile。名称可随意命名。
- $_FILES[‘userfile‘][‘name‘]
-
客户端机器文件的原名称。
- $_FILES[‘userfile‘][‘type‘]
-
文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。
- $_FILES[‘userfile‘][‘size‘]
-
已上传文件的大小,单位为字节。
- $_FILES[‘userfile‘][‘tmp_name‘]
-
文件被上传后在服务端储存的临时文件名。
- $_FILES[‘userfile‘][‘error‘]
-
和该文件上传相关的 错误代码 。此项目是在 PHP 4.2.0 版本中增加的。
原文:http://www.cnblogs.com/---cc/p/3718998.html
内容总结
以上是互联网集市为您收集整理的用PHP和MySQL保存和输出图片全部内容,希望文章能够帮你解决用PHP和MySQL保存和输出图片所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。