ホームページ  >  記事  >  バックエンド開発  >  PHP は、画像をアップロードしてデータベースに保存するメソッドを実装します。_PHP チュートリアル

PHP は、画像をアップロードしてデータベースに保存するメソッドを実装します。_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:06:48837ブラウズ

phpは、画像をアップロードしてデータベースに保存するメソッドを実装します

php は、写真をアップロードしてデータベースに保存するメソッドを実装します。皆さんの参考に共有してください。具体的な分析は次のとおりです:

PHP は画像をアップロードし、通常は move_uploaded_file メソッドを使用して画像をサーバーに保存します。ただし、Web サイトに複数のサーバーがある場合は、通常の使用のためにすべてのサーバーに画像を公開する必要があります (画像サーバーを使用するサーバーを除く)
画像データをデータベースに保存すると、複数のサーバー間でファイルを共有して容量を節約できます。

まず、画像ファイルはバイナリデータなので、バイナリデータをmysqlデータベースに保存する必要があります。
mysql データベースは、大量のデータを格納するための BLOB タイプを提供します。BLOB は、さまざまなサイズのデータ​​を収容できるバイナリ オブジェクトです。

BLOB には 4 つのタイプがあり、保存される情報の最大量を除いて同じです。ニーズに応じてさまざまなタイプを使用できます。

TinyBlob 最大 255B
ブロブマックス 65,000
中ブロブ最大 16M
ロングブロブ最大4G

データテーブル写真、画像データを保存するために使用され、構造は次のとおりです:

コードをコピーします コードは次のとおりです:
CREATE TABLE `photo` (
`id` int(10) unsigned NOT NULL auto_increment、
`type` varchar(100) NOT NULL、
`binarydata` ミディアムブロブが NULL ではありません、
主キー (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

upload_image_todb.php:

コードをコピーします コードは次のとおりです:
// 接続データ库
$conn=@mysql_connect("localhost","root","") または die(mysql_error()); 
@mysql_select_db('demo',$conn) または die(mysql_error()); 

// 判断アクション
$action = isset($_REQUEST['action'])? $_REQUEST['アクション'] : ''; 

// 上传图片
if($action=='add'){
    $image = mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name'])); 
    $type = $_FILES['写真']['タイプ']; 
    $sqlstr = "写真(type,binarydata)に挿入 value('".$type."','".$image."')"; 
    @mysql_query($sqlstr) または die(mysql_error()); 
    header('location:upload_image_todb.php'); 
    出口(); 
// 表示写真
}elseif($action=='show'){
    $id = isset($_GET['id'])? intval($_GET['id']) : 0; 
    $sqlstr = "id=$id の写真から * を選択"; 
    $query = mysql_query($sqlstr) または die(mysql_error()); 
    $thread = mysql_fetch_assoc($query); 
    if($thread){
        header('content-type:'.$thread['type']); 
        echo $thread['binarydata']; 
        出口(); 
    }
}その他{
// 表示画像列表及び上传表单
?> 
 
 
  
   
  <タイトル>画像をデータベースにアップロードするデモ  
  
 
  
  <フォーム名="form1" メソッド="ポスト" アクション="upload_image_todb.php" enctype="multipart/form-data"> 
 

画像:

 
 

 
   
 
    $sqlstr = "ID 説明による写真の順序から * を選択"; 
    $query = mysql_query($sqlstr) または die(mysql_error()); 
    $result = 配列(); 
    while($thread=mysql_fetch_assoc($query)){
        $result[] = $スレッド; 
    }
    foreach($result as $val){
        echo '

< /p>'; 
    }
?> 
 
 
}
?>

ここで説明されている大家向けの php プログラムの設計が役立つことを望みます。

http://www.bkjia.com/PHPjc/957141.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/957141.html技術記事 php で上方転送画像をデータベースに保存する方法、php で上方転送画像をデータベースに保存する方法。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。