回答編集履歴
4
IE対策
answer
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
- まず設計として,**表示する直前にBase64エンコードし**,それ以外のタイミングでは生データのまま保持しておいたほうが都合がいいです.JavaScriptで無理して変換せず`$_FILES`で受け取るようにし,データベースにもvarcharやtextではなくblobで突っ込みましょう
|
2
2
|
- PDOの書き方に色々と問題があります.**SQLインジェクション脆弱性**もあります.
|
3
3
|
- `<meta />` `<br />` `<hr />`などはXHTMLの書き方なので, ` /`の部分は消しましょう.
|
4
|
+
- 画像形式の縛り方ですが,JPEGに対応するのは`image/jpeg`です.しかしIEはどうやら誤って(?)`image/jpg`としてしまうこともあるようなので,こちらも念のため入れています.
|
4
5
|
- ロジックは頭に書いて,HTMLは後ろに書きましょう.
|
5
6
|
|
6
7
|
> base64に置き換えた文字列から画像を呼び出す際の処理は一旦別ページにheader("Content-Type: image/jpeg");で画像を出力してからecho "<img src=\"....\">で引っ張てくる方法でしょうか。
|
@@ -10,7 +11,6 @@
|
|
10
11
|
[PHPでデータベースに接続するときのまとめ - Qiita](http://qiita.com/mpyw/items/b00b72c5c95aac573b71) (「初心者がやりがちなミス」の複数に該当しています)
|
11
12
|
[ファイルアップロードの例外処理はこれぐらいしないと気が済まない - Qiita](http://qiita.com/mpyw/items/939964377766a54d4682)
|
12
13
|
|
13
|
-
|
14
14
|
```
|
15
15
|
<!DOCTYPE html>
|
16
16
|
<html>
|
@@ -20,7 +20,7 @@
|
|
20
20
|
</head>
|
21
21
|
<body>
|
22
22
|
<form method="post" action="upload.php" enctype="multipart/form-data">
|
23
|
-
<input type="file" name="image" accept="image/
|
23
|
+
<input type="file" name="image" accept="image/gif,image/jpeg,image/jpg,image/png">
|
24
24
|
<input type="submit" value="確定">
|
25
25
|
</form>
|
26
26
|
</body>
|
3
補足
answer
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
- `<meta />` `<br />` `<hr />`などはXHTMLの書き方なので, ` /`の部分は消しましょう.
|
4
4
|
- ロジックは頭に書いて,HTMLは後ろに書きましょう.
|
5
5
|
|
6
|
+
> base64に置き換えた文字列から画像を呼び出す際の処理は一旦別ページにheader("Content-Type: image/jpeg");で画像を出力してからecho "<img src=\"....\">で引っ張てくる方法でしょうか。
|
7
|
+
|
8
|
+
それでもいいですが,画像サイズが巨大でなければ `data:image/png;base64,xxx` のように埋め込むデータURIスキームのほうがいいと思います.
|
9
|
+
|
6
10
|
[PHPでデータベースに接続するときのまとめ - Qiita](http://qiita.com/mpyw/items/b00b72c5c95aac573b71) (「初心者がやりがちなミス」の複数に該当しています)
|
7
11
|
[ファイルアップロードの例外処理はこれぐらいしないと気が済まない - Qiita](http://qiita.com/mpyw/items/939964377766a54d4682)
|
8
12
|
|
2
enctype
answer
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
<title>アップロード</title>
|
16
16
|
</head>
|
17
17
|
<body>
|
18
|
-
<form method="post" action="upload.php">
|
18
|
+
<form method="post" action="upload.php" enctype="multipart/form-data">
|
19
19
|
<input type="file" name="image" accept="image/jpg,image/gif,image/png">
|
20
20
|
<input type="submit" value="確定">
|
21
21
|
</form>
|
1
param name
answer
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
</head>
|
17
17
|
<body>
|
18
18
|
<form method="post" action="upload.php">
|
19
|
-
<input type="file" accept="image/jpg,image/gif,image/png">
|
19
|
+
<input type="file" name="image" accept="image/jpg,image/gif,image/png">
|
20
20
|
<input type="submit" value="確定">
|
21
21
|
</form>
|
22
22
|
</body>
|