この記事ではphpで画像をデータベースにアップロードする方法を中心に紹介し、画像をデータベースに保存することで、複数のサーバー間でファイルを共有する機能を実現できます。これは非常に実用的な価値があるので、困っている友達は参考にしてください
php は、写真をアップロードしてデータベースに保存するメソッドを実装します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
PHP は画像をアップロードし、通常は move_uploaded_file メソッドを使用して画像をサーバーに保存します。ただし、Web サイトに複数のサーバーがある場合は、通常の使用のためにすべてのサーバーに画像を公開する必要があります (画像サーバーを使用するサーバーを除く)
画像データをデータベースに保存すると、複数のサーバー間でファイルを共有して容量を節約できます。
まず、画像ファイルはバイナリデータなので、バイナリデータをmysqlデータベースに保存する必要があります。
mysql データベースは、大量のデータを格納するための BLOB タイプを提供します。BLOB は、さまざまなサイズのデータを収容できるバイナリ オブジェクトです。
BLOB には 4 つのタイプがあり、保存される情報の最大量を除いて同じです。ニーズに応じてさまざまなタイプを使用できます。
タイニーブロブ最大 255B
BLOB 最大 65K
中ブロブ最大 16M
ロングブロブ最大4G
データテーブル写真、画像データを保存するために使用され、構造は次のとおりです:
コードは次のとおりです:
upload_image_todb.php:
コードは次のとおりです:
// アクションを決定する
$action = isset($_REQUEST['action'])? $_REQUEST['action'] : '';
if($action=='追加'){
$image = mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));
$type = $_FILES['写真']['タイプ']
$sqlstr = "写真(type,binarydata)に値を挿入('".$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($スレッド){
header('content-type:'.$thread['type']);
エコー $thread['binarydata'];
終了();
}
}その他{
// 画像一覧を表示し、フォームをアップロードします
?>
写真:
フォーム>< /p>';
}
?>
本文>
}
?>
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。