前提・実現したいこと
リサイズして画像をバインドしてブラウザに表示させたい。
画像のリサイズは確認できたのですが、その表示される画像が黒い背景の真ん中に画像がでてしまいバインドができていない。
データベースを確認したところ1バイトと表示されてしまう。
該当のソースコード
php
1 public function add($arr) { 2 if (is_uploaded_file($_FILES["img"]["tmp_name"])) { 3 if (!file_exists('upload')) { 4 mkdir('upload'); 5 } 6 $file = 'upload/'.basename($_FILES['img']['name']); 7 if (move_uploaded_file($_FILES["img"]["tmp_name"], $file)) { 8 $img = '<img src="'.$file.'">'; 9 10// コピー先画像サイズ指定 11$dst_w = 384; 12$dst_h = 256; 13 14// コピー先画像作成 15$dst_image = imagecreate($dst_w, $dst_h); 16 17// コピー元画像読み込み 18$src_image = imagecreatefromjpeg($file); 19 20// コピー元画像のサイズ取得 21$imagesize = getimagesize($file); 22$src_w = $imagesize[0]; 23$src_h = $imagesize[1]; 24 25// リサイズしてコピー 26imagecopyresampled( 27 $dst_image, // コピー先の画像 28 $src_image, // コピー元の画像 29 0, // コピー先の x 座標 30 0, // コピー先の y 座標。 31 0, // コピー元の x 座標 32 20, // コピー元の y 座標 33 $dst_w, // コピー先の幅 34 $dst_h, // コピー先の高さ 35 $src_w, // コピー元の幅 36 $src_h); // コピー元の高さ 37 38// 画像をファイルに出力 39imagejpeg($dst_image); 40 } 41 } else { 42 echo "ファイルが選択されていません。"; 43 } 44 45 $sql = " INSERT INTO fish(user_id, catch_who, fish, catch_at, catch_time, catch_weather, img) VALUES(:user_id, :catch_who, :fish, :catch_at, now(), :catch_weather, :img) "; 46 $stmt = $this->con->prepare($sql); 47 $params = array(':user_id'=>$_SESSION['User']['id'], ':catch_who'=>$_SESSION['User']['name'], ':fish'=>$arr['fish'], ':catch_at'=>$arr['catch_at'], ':catch_weather'=>$arr['catch_weather'], ':img'=>$dst_image); 48 $stmt->execute($params); 49} 50
テーブル定義
CREATE TABLE user
(
id
int(11) NOT NULL,
user_id
int(11) DEFAULT NULL,
name
varchar DEFAULT NULL,
address
varchar DEFAULT NULL,
tel
int(11) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE fish
(
id
int(11) NOT NULL,
user_id
int(11) DEFAULT NULL,
catch_who
varchar DEFAULT NULL,
catch_at
varchar DEFAULT NULL,
catch_time
datetime DEFAULT NULL,
img
mediumblob DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/19 05:07
2020/11/19 05:11
2020/11/19 06:19
2020/11/19 06:52