質問編集履歴
2
15時時点
title
CHANGED
File without changes
|
body
CHANGED
@@ -160,4 +160,79 @@
|
|
160
160
|
|
161
161
|
?>
|
162
162
|
|
163
|
+
```
|
164
|
+
|
165
|
+
|
166
|
+
###2018/10/27 15時時点の内容
|
167
|
+
index.phpの// MySQL以下を削除し
|
168
|
+
upload.phpにて修正。(先ほどまで、whileの中に$i++;を入れるという発想が思いつかなかった)
|
169
|
+
|
170
|
+
```ここに言語を入力
|
171
|
+
|
172
|
+
<?php
|
173
|
+
|
174
|
+
//upload.php
|
175
|
+
//ファイルアップロード処理
|
176
|
+
|
177
|
+
//バイナリデータ
|
178
|
+
$fp = fopen($_FILES["file"]["tmp_name"], "rb");
|
179
|
+
$imgdat = fread($fp, filesize($_FILES["file"]["tmp_name"]));
|
180
|
+
fclose($fp);
|
181
|
+
$imgdat = addslashes($imgdat);
|
182
|
+
|
183
|
+
// ファイル名
|
184
|
+
$file_name = $_FILES["file"]["name"];
|
185
|
+
|
186
|
+
// 拡張子
|
187
|
+
$dat = pathinfo($_FILES["file"]["name"]);
|
188
|
+
$extension = $dat['extension'];
|
189
|
+
|
190
|
+
// // 日付
|
191
|
+
$reg_date = date("Y-m-d H:i:s");
|
192
|
+
// $upp_date = date("Y-m-d H:i:s");
|
193
|
+
|
194
|
+
|
195
|
+
// MIMEタイプ
|
196
|
+
if ( $extension == "jpg" || $extension == "jpeg" ) $mime = "jpeg";
|
197
|
+
else if( $extension == "gif" ) $mime = "gif";
|
198
|
+
else if ( $extension == "png" ) $mime = "png";
|
199
|
+
|
200
|
+
|
201
|
+
try {
|
202
|
+
// データベースに接続
|
203
|
+
$pdo = new PDO(
|
204
|
+
'mysql:dbname=c9;host=localhost;charset=utf8mb4',
|
205
|
+
'user',
|
206
|
+
'password',
|
207
|
+
[
|
208
|
+
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
209
|
+
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
210
|
+
]
|
211
|
+
);
|
212
|
+
|
213
|
+
$sql = "INSERT INTO `c9`.`Items` VALUES (NULL, '".$file_name."', '".$imgdat."', '".$mime."', '".$reg_date."', '".$reg_date."', '0')";
|
214
|
+
$res = $pdo->query($sql);
|
215
|
+
|
216
|
+
$stmt = $pdo->query("SELECT * FROM Items order by regdate desc");
|
217
|
+
|
218
|
+
$obj = array();
|
219
|
+
$i=0;
|
220
|
+
while($row = $stmt -> fetch(PDO::FETCH_ASSOC)) {
|
221
|
+
// $obj[] = $row;
|
222
|
+
$obj[$i][] = $row['id'];
|
223
|
+
$obj[$i][] = $row['name'];
|
224
|
+
$obj[$i][] = '<img src="data:images/'.$row['mimetype'].';base64,'.base64_encode($row['binary']).'" width="30%" height="30%">';
|
225
|
+
|
226
|
+
$i++;
|
227
|
+
}
|
228
|
+
|
229
|
+
header('Content-type: application/json');
|
230
|
+
return print json_encode($obj,JSON_UNESCAPED_UNICODE);
|
231
|
+
} catch (PDOException $e) {
|
232
|
+
header('Content-Type: text/plain; charset=UTF-8', true, 500);
|
233
|
+
exit($e->getMessage());
|
234
|
+
|
235
|
+
}
|
236
|
+
|
237
|
+
?>
|
163
238
|
```
|
1
インデント修正。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
画像ドロップしたらMYSQLのSELECT内容更新
|
1
|
+
画像ドロップしたらMYSQLのINSERT実行後、SELECT内容更新
|
body
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
|
18
18
|
uplod.phpでinsertに成功したら$upload_flag=1を与えてajaxのsuccessでdataから取ると考えていたのですけど、Javascriptの変数からPHPの変数にするというのは調べたところ、やはり出来ないとのことで・・・。
|
19
19
|
|
20
|
-
|
20
|
+
|
21
21
|
まとめると、「AjaxでInsertかつページを更新の方法手順」となります。
|
22
22
|
処理手順だけでもアドバイスを頂ければと思います。
|
23
23
|
|
@@ -82,7 +82,7 @@
|
|
82
82
|
|
83
83
|
// MySQL
|
84
84
|
try {
|
85
|
-
$pdo = new PDO('mysql:host=127.0.0.1;dbname=
|
85
|
+
$pdo = new PDO('mysql:host=127.0.0.1;dbname=c9;charset=utf8','user','password',
|
86
86
|
array(PDO::ATTR_EMULATE_PREPARES => false));
|
87
87
|
} catch (PDOException $e) {
|
88
88
|
exit('データベース接続失敗。'.$e->getMessage());
|
@@ -103,9 +103,9 @@
|
|
103
103
|
<?php
|
104
104
|
|
105
105
|
//upload.php
|
106
|
-
//
|
106
|
+
//ファイルアップロード処理
|
107
107
|
|
108
|
-
//
|
108
|
+
//バイナリデータ
|
109
109
|
$fp = fopen($_FILES["file"]["tmp_name"], "rb");
|
110
110
|
$imgdat = fread($fp, filesize($_FILES["file"]["tmp_name"]));
|
111
111
|
fclose($fp);
|
@@ -130,8 +130,6 @@
|
|
130
130
|
|
131
131
|
|
132
132
|
try {
|
133
|
-
|
134
|
-
|
135
133
|
// データベースに接続
|
136
134
|
$pdo = new PDO(
|
137
135
|
'mysql:dbname=c9;host=localhost;charset=utf8mb4',
|
@@ -142,7 +140,6 @@
|
|
142
140
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
143
141
|
]
|
144
142
|
);
|
145
|
-
|
146
143
|
|
147
144
|
$sql = "INSERT INTO `c9`.`Items` VALUES (NULL, '".$file_name."', '".$imgdat."', '".$mime."', '".$reg_date."', '".$reg_date."', '0')";
|
148
145
|
$res = $pdo->query($sql);
|
@@ -159,8 +156,6 @@
|
|
159
156
|
|
160
157
|
}
|
161
158
|
|
162
|
-
|
163
|
-
|
164
159
|
return print $upload_flag;
|
165
160
|
|
166
161
|
?>
|