php 把圖片以二進制形式保存到mysql數據庫
php教程 把圖片以二進制形式保存到mysql教程數據庫教程
$errmsg = "" ;
if (! @ mysql_connect ( "localhost" , "trainee" , "abc123" )) {
$errmsg = "Cannot connect to database" ;
}
@ mysql_select_db ( "wellho" );
// First run ONLY - need to create table by un commenting this
// Or with silent @ we can let it fail every subsequent time ;-)
$q = <<<CREATE
create table pix (
pid int primary key not null auto_increment,
title text,
imgdata longblob)
CREATE;
@ mysql_query ( $q );
// Insert any new image into database
if ( $_REQUEST [ completed ] == 1 ) {
// Need to add - check for large upload. Otherwise the code
// will just duplicate old file ;-)
// ALSO - note that latest.img must be public write and in a
// live application should be in another (safe!) directory.
move_uploaded_file ( $_FILES [ 'imagefile' ][ 'tmp_name' ], "latest.img" );
$instr = fopen ( "latest.img" , "rb" );
$image = mysql_real_escape_string ( fread ( $instr , filesize ( "latest.img" )));
if ( strlen ( $instr ) < 149000 ) {
mysql_query ( "insert into pix (title, imgdata) values ("" .
$_REQUEST [ whatsit ].
"", "" .
$image .
"")" );
} else {
$errmsg = "Too large!" ;
}
}
// Find out about latest image
$gotten = @ mysql_query ( "select * from pix order by pid desc limit 1" );
if ( $row = @ mysql_fetch_assoc ( $gotten )) {
$title = htmlspecialchars ( $row [ title ]);
$bytes = $row [ imgdata ];
} else {
$errmsg = "There is no image in the database yet" ;
$title = "no database image available" ;
// Put up a picture of our training centre
$instr = fopen ( "../wellimg/ctco.jpg" , "rb" );
$bytes = fread ( $instr , filesize ( "../wellimg/ctco.jpg" ));
}
// If this is the image request, send out the image
if ( $_REQUEST [ gim ] == 1 ) {
header ( "Content-type: image/jpeg" );
print $bytes ;
exit ();
}
?>
<html><head>
<title>Upload an image to a database</title>
<body bgcolor=white><h2>Here's the latest picture</h2>
<font color=red> <?= $errmsg ?> </font>
<center><img src= width=144><br>
<b> <?= $title ?> </center>
<hr>
<h2>Please upload a new picture and title</h2>
<form enctype=multipart/form-data method=post>
<input type=hidden name=MAX_FILE_SIZE value=150000>
<input type=hidden name=completed value=1>
Please choose an image to upload: <input type=file name=imagefile><br>
Please enter the title of that picture: <input name=whatsit><br>
then: <input type=submit></form><br><br>
<a href=pic_alog.php4>Link - view images already uploaded</a><br>
<a href=/solutions/php-example-php-form-image-upload-store-in-mysql-database-retreive.html>Link - technical article</a> including source code<br><br>
Note</b> - by uploading an image to this site, you agree that you are the
copyright owner, that the picture is legally acceptable and that you take
full responsibility for this, and that the owners of this site are
henceforth able to make free limitless use of the picture if they so
wish. Your IP address and other details may be logged as you upload.
Sorry about this note - have to protect ourselves.<b>
<hr>
By Graham Ellis - [email protected]</b>
</body>
</html>