アップロード|データ|データベース
ご質問がございましたら、こちらまでご連絡ください: http://www.webjx.com web@webjx.com
転載の場合は出典を明記してください
今日は私が教えますPHP を使用して実装する方法 画像を MYSQL データベースにアップロードします。 このチュートリアルでは、3 つの PHP ファイルを作成する必要があります:
readdir.php - 画像をデータベースに入れるコード
image.php - 実際の画像を表示するコード
view.php - データベース内の画像のコードを呼び出す方法を示すコード
1. データベースを作成します
CREATE TABLE `images` (
`imgid` INT NOT NULL AUTO_INCREMENT ,
`sixfourdata` LONGTEXT NOT NULL ,
PRIMARY KEY ( `imgid` )
);
READDIR.PHP
特定のコンテンツ:
$ dbcnx = mysql_connect("localhost" , "username", "password");
mysql_select_db("base64imgdb");
?>
'ディレクトリ
を開く必要があります。/"
'readdir.php ファイル 次のディレクトリを見つけます:
$path = "./";
$dir_handle = opendir($path) または die("ディレクトリ $path を開けません");
次の部分はさらに難しくなります。この部分を注意深く検討する必要があります: 画像を分類し、使用されているデータの一部を読み出す
fopen
'conversion
base64_encode
'テーブルに挿入
while ($file = readdir($dir_handle)) {
$filetyp = substr($file, -3);
if ($ filetyp == 'gif' OR $filetyp == 'jpg') {
$handle = fopen($path . "/" . $file,'r');
$file_content = fread($handle, filesize($path . "/" . $file));
fclose($handle);
$encoded = chunk_split(base64_encode($file_content));
$sql = " INSERT INTO 画像 SET sixfourdata ='$encoded'";
mysql_query($sql);
}
}
?>
設定したディレクトリを閉じて、次の処理を行います。
closedir($dir_handle);
echo("complete");
mysql_close($dbcnx);
?>
読み取り画像のコード: IMAGE .PHP
このコードは難しいので、詳しく調べる必要があります
$dbcnx = mysql_connect("localhost", "username", "パスワード");
mysql_select_db( "base64imgdb");
?>
画像を読み出すために使用するコード image.php?img=x:
$ img = $_REQUEST["img"];
?>
その後、データベースに接続して、
$result = mysql_query("SELECT * FROM 画像 WHERE imgid=" . $img . "");
if (!$result) {
echo("リクエストエラー: " . mysql_error() . "" );
exit();
}
while ($row = mysql_fetch_array($result)) {
$imgid = $row["imgid"];
$encodeddata = $row ["sixfourdata"];
}
?>
mysql_close($dbcnx);
echobase64_decode($encodeddata);
?>
ここでは、base64 でエンコードされた画像のデータ形式を理解する必要があります。
「具体的な写真を見てみましょう!」 VIEW.PHP
image.php?img=1
image.php?img=357
完全な例を見てください。
readdir.php:
#############################
# DB 接続
# これらの値を変更します
##############################
$dbcnx = mysql_connect ("localhost", "username", "password");
mysql_select_db("base64imgdb");
$path = "./";
$dir_handle = opendir( $path) またはdie("ディレクトリ $path を開けません");
while ($file = readdir($dir_handle)) {
$filetyp = substr($file, -3);
if ($filetyp = = 'gif' OR $filetyp == 'jpg') {
$handle = fopen($file,'r');
$file_content = fread($handle,filesize($file) );
fclose($handle);
$encoded = chunk_split(base64_encode($file_content));
$sql = "画像に挿入 SET sixfourdata='$encoded'";
mysql_query( $sql);
}
}
closedir($dir_handle);
echo("complete");
mysql_close($dbcnx);
?>
イメージ。 php:
$dbcnx = mysql_connect("localhost", "ユーザー名", "パスワード");
mysql_select_db("base64imgdb");
$img = $_REQUEST["img"];
$result = mysql_query("SELECT * FROM 画像 WHERE imgid=" . $img . "");
if (! $result) {
echo("クエリ実行エラー: " .mysql_error() . "");
exit()
}
while ($row) = mysql_fetch_array($result) ) {
$imgid = $row["imgid"];
$encodeddata = $row["sixfourdata"]
}
mysql_close($ dbcnx);
echobase64_decode($encodeddata);
?>
そして view.php (これを投稿する必要はありません..)