画像とバイナリ間の変換
画像をバイナリに変換し、データベースに保存します。 コードは次のとおりです:
if($_FILES['image']['size'])
。 =$_FILES ['image']['name'];
$arr=explode('.',$names); $name=$arr[0]; $date=date( 'Y-m-d h:i:s') ;
$fp = fopen($_FILES['image']['tmp_name'], 'rb');
$type = $_FILES['image'][ 'type'];
if (!$fp) {
echo('画像の読み取りに失敗しました!');
$image =addslashes( fread($fp, filesize( $_FILES['image']['tmp_name']))) ;
🎜> $ pic-> pic = $ yage;
if($ pic-> save(;🎜>}
}
データベースに写真を保存しました。ファイルの形式はBLOBですが、データベースから見つけて出力すると、次のようなコードが文字化けしてしまいました。
$conn=mysqli_connect("localhost","root","");
if (!$conn)
Mysqli_select_db($conn," ");
$result = mysqli_query($conn,"select * from image where id=3");
if(!$ result)
$ this-> flash-> nocation( "データは存在しません");
/*$ = $ = $ data [3];
header( "content-type:$ type ");*/
echo($data[2]);
画像に変換して表示するにはどうすればよいですか?助けてください
------解決策のアイデア----------------------
私は完全な For を書きました例は以下を参照してください。
データテーブル構造
<br />CREATE TABLE `photo` (<br /> `id` int(10) unsigned NOT NULL auto_increment,<br /> `type` varchar(100) NOT NULL,<br /> `photo` mediumblob NOT NULL,<br /> PRIMARY KEY (`id`)<br />) <br />
<br><?php<br>[email protected]_connect("database ip","account ","パスワード") または die(mysql_error());<br>@mysql_select_db('データベース名',$conn) または die(mysql_error());<br><br>$action = isset($_REQUEST[ 'アクション'])? $_REQUEST['アクション'] : '';<br><br>if($action=='add'){<br> $image = mysql_escape_string(file_get_contents($_FILES['写真' ]['tmp_name']));<br> $type = $_FILES['photo']['type'];<br> $sqlstr = "写真(type,photo)の値に挿入('".$type ."','".$image."')";<br> @mysql_query($sqlstr) または die(mysql_error());<br><br> header('location:upload_image_todb.php');<br><br>}elseif($action=='show'){<br><br> $id = isset($_GET['id'])? intval($_GET['id']) : 0; <div class="clear"></div>