質問編集履歴

2

誤ったコードの転記を修正いたしました。失礼いたしました。

2017/02/05 04:03

投稿

SugiuraY
SugiuraY

スコア317

test CHANGED
File without changes
test CHANGED
@@ -164,6 +164,12 @@
164
164
 
165
165
  VALUES(:picture,:picturemime");
166
166
 
167
+ $stmt->bindValue(':picture',$imgdat,PDO::PARAM_STR);
168
+
169
+ $stmt->bindValue(':picturemime',$mime,PDO::PARAM_STR);
170
+
171
+ $stmt->execute();
172
+
167
173
  $pdo->commit();
168
174
 
169
175
 

1

MYSQLへの格納コードを追記いたしました。

2017/02/05 04:03

投稿

SugiuraY
SugiuraY

スコア317

test CHANGED
File without changes
test CHANGED
@@ -79,3 +79,101 @@
79
79
 
80
80
 
81
81
  ```
82
+
83
+
84
+
85
+ ```PHP
86
+
87
+ input.php
88
+
89
+ <form class="form" action="" method="post" enctype="multipart/form-data">
90
+
91
+ <div>
92
+
93
+ <label>画像を投稿する</label><br />
94
+
95
+ <input type="hidden" name="MAX_FILE_SIZE" value="300000" />
96
+
97
+ <input name="2_picture" type="file" size="35" value="" />
98
+
99
+ </div>
100
+
101
+
102
+
103
+ <?php
104
+
105
+ // バイナリ
106
+
107
+ $fp = fopen($_FILES["2_picture"]["tmp_name"], "rb");
108
+
109
+ $imgdat = fread($fp, filesize($_FILES["2_picture"]["tmp_name"]));
110
+
111
+ fclose($fp);
112
+
113
+ $imgdat = addslashes($imgdat);
114
+
115
+
116
+
117
+ // 拡張子
118
+
119
+ $dat = pathinfo($_FILES["2_picture"]["name"]);
120
+
121
+ $extension = $dat['extension'];
122
+
123
+
124
+
125
+ // MIME
126
+
127
+ if ( $extension == "jpg" || $extension == "jpeg" ) $mime = "image/jpeg";
128
+
129
+ else if( $extension == "gif" ) $mime = "image/gif";
130
+
131
+ else if ( $extension == "png" ) $mime = "image/png";
132
+
133
+ ?>
134
+
135
+
136
+
137
+ $dsn = 'mysql:dbname=XXX;host=XXXX';
138
+
139
+ $user = 'XXXX';
140
+
141
+ $password = 'XXXXX';
142
+
143
+
144
+
145
+ try {
146
+
147
+ $pdo = new PDO($dsn, $user, $password);
148
+
149
+ $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
150
+
151
+ }catch (PDOException $e){
152
+
153
+ var_dump($e->getMessage());
154
+
155
+ }
156
+
157
+
158
+
159
+ try {
160
+
161
+ $pdo->beginTransaction();
162
+
163
+ $stmt=$pdo->prepare("INSERT INTO a_inputDB (picture,picturemim)
164
+
165
+ VALUES(:picture,:picturemime");
166
+
167
+ $pdo->commit();
168
+
169
+
170
+
171
+ }catch(PDOException $e){
172
+
173
+ $pdo->rollBack();
174
+
175
+ echo "失敗しました。" . $e->getMessage();
176
+
177
+ }
178
+
179
+ ```