質問編集履歴
2
いらない記述があったので修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,7 +12,6 @@
|
|
12
12
|
```ここに言語名を入力
|
13
13
|
PHP
|
14
14
|
ソースコード
|
15
|
-
案1
|
16
15
|
function insert_item($link) {
|
17
16
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
18
17
|
return;
|
@@ -73,43 +72,6 @@
|
|
73
72
|
|
74
73
|
画像のディレクトリは取れていますが、肝心のアップロードが出来てないです。
|
75
74
|
|
76
|
-
案2
|
77
|
-
if ($_FILES['new_img']['error'] === UPLOAD_ERR_OK) {
|
78
|
-
|
79
|
-
if (count($err_msg) === 0) {
|
80
|
-
|
81
|
-
$chk_picture = getimagesize($_FILES['new_img']['tmp_name']);
|
82
|
-
|
83
|
-
if ($chk_picture['mime'] === 'image/png' || $chk_picture['mime'] === 'image/jpeg') {
|
84
|
-
|
85
|
-
if ($chk_picture[0] <= 500 && ($chk_picture[1] <= 500)) {
|
86
|
-
|
87
|
-
$mime = $chk_picture['mime'];
|
88
|
-
switch ($mime) {
|
89
|
-
case 'image/png':
|
90
|
-
$type = '.png';
|
91
|
-
break;
|
92
|
-
case 'image/jpeg':
|
93
|
-
$type = '.jpg';
|
94
|
-
break;
|
95
|
-
}
|
96
|
-
|
97
|
-
$upload = $uploaddir . date('YmdHis') . rand(0, 10000) . $type;
|
98
|
-
|
99
|
-
move_uploaded_file($_FILES['new_img']['tmp_name'], $upload);
|
100
|
-
} else {
|
101
|
-
$err_msg[] = 'ファイルは縦と横500px以内にしてください';
|
102
|
-
}
|
103
|
-
} else {
|
104
|
-
$err_msg[] = 'PNGかJPEG形式のファイルをアップロードしてください';
|
105
|
-
}
|
106
|
-
}
|
107
|
-
} else {
|
108
|
-
$err_msg[] = 'ファイルを選択してください';
|
109
|
-
}
|
110
|
-
|
111
|
-
こちらは動きすら見せません。
|
112
|
-
|
113
75
|
HTML
|
114
76
|
<!DOCTYPE html>
|
115
77
|
<?php require_once('../../htdocs/mvc/tool.php');?>
|
1
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,18 +1,13 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
PHPでデータベースに画像を保存してアップロードしたい。
|
3
|
-
イメージ要素に画像のディレクトリを変数で入れる。
|
4
|
-
画像のディレクトリはデータベースで管理する。
|
5
|
-
で達成される。
|
6
3
|
|
7
4
|
|
8
5
|
### 発生している問題・エラーメッセージ
|
9
6
|
|
10
7
|
```
|
11
8
|
処理を作ってみたが、うまくいかない。
|
12
|
-
やり方がわからない。
|
13
|
-
下記のようなエラーが出てしまう。
|
14
9
|
```
|
15
|
-
|
10
|
+
|
16
11
|
### 該当のソースコード
|
17
12
|
```ここに言語名を入力
|
18
13
|
PHP
|
@@ -40,10 +35,11 @@
|
|
40
35
|
|
41
36
|
var_dump($_POST['new_price']);
|
42
37
|
|
43
|
-
$img_path = '/file';
|
38
|
+
$img_path = '../file/';
|
44
39
|
|
45
40
|
$image = file_get_contents( $img_path );
|
46
|
-
|
41
|
+
var_dump($img_path);
|
42
|
+
$upload = move_uploaded_file($_FILES['file']['tmp_name'], $image);
|
47
43
|
|
48
44
|
|
49
45
|
|
@@ -61,7 +57,7 @@
|
|
61
57
|
var_dump($new_time);
|
62
58
|
|
63
59
|
|
64
|
-
$sql = 'INSERT INTO item(name, price, img, status, created_date, updated_date) VALUES(\''.$new_name.'\',\''.$new_price.'\',\''.$
|
60
|
+
$sql = 'INSERT INTO item(name, price, img, status, created_date, updated_date) VALUES(\''.$new_name.'\',\''.$new_price.'\',\''.$upload.',\'\''.$new_status.'\',\''.$new_time.'\',\''.$new_time.'\')';
|
65
61
|
var_dump($sql);
|
66
62
|
if ($result = mysqli_query($link, $sql) === TRUE) {
|
67
63
|
|
@@ -75,8 +71,7 @@
|
|
75
71
|
}
|
76
72
|
}
|
77
73
|
|
78
|
-
Warning: file_get_contents(/file): failed to open stream: No such file or directory
|
79
|
-
|
74
|
+
画像のディレクトリは取れていますが、肝心のアップロードが出来てないです。
|
80
75
|
|
81
76
|
案2
|
82
77
|
if ($_FILES['new_img']['error'] === UPLOAD_ERR_OK) {
|
@@ -115,10 +110,105 @@
|
|
115
110
|
|
116
111
|
こちらは動きすら見せません。
|
117
112
|
|
113
|
+
HTML
|
114
|
+
<!DOCTYPE html>
|
115
|
+
<?php require_once('../../htdocs/mvc/tool.php');?>
|
116
|
+
<html lang="ja">
|
117
|
+
|
118
|
+
<head>
|
119
|
+
<meta charset="UTF-8">
|
120
|
+
<title>ECサイト</title>
|
121
|
+
</head>
|
122
|
+
|
123
|
+
<body>
|
124
|
+
|
125
|
+
<h1>ECサイト</h1>
|
126
|
+
|
127
|
+
<section>
|
128
|
+
<h2>新規商品追加</h2>
|
129
|
+
|
130
|
+
<form action="tool.php" method="post" enctype="multipart/form-data">
|
131
|
+
<label>名前: <input type="text" name="new_name" size="30" /></label><br>
|
132
|
+
<label>値段: <input type="text" name="new_price" size="30" /></label><br>
|
133
|
+
<label>個数: <input type="text" name="new_stock" size="30" /></label><br>
|
134
|
+
<input type="file" name="new_img" accept="image/jpeg, image/png, image/gif" /><br>
|
135
|
+
<img src="../../file/ダウンロード.png">
|
136
|
+
<select name="new_status"><br>
|
137
|
+
<option value="0">非公開</option>
|
138
|
+
<option value="1">公開</option>
|
139
|
+
<option value="2">入力チェック用</option>
|
140
|
+
</select><br>
|
141
|
+
<input type="hidden" name="sql_kind" value="insert">
|
142
|
+
<input type="submit" name="add" value="■□■□商品追加■□■□" />
|
143
|
+
</form>
|
144
|
+
|
145
|
+
</section>
|
146
|
+
|
147
|
+
<section>
|
148
|
+
<h2>商品情報変更</h2>
|
149
|
+
<table>
|
150
|
+
<caption>商品一覧</caption>
|
151
|
+
<tbody>
|
152
|
+
<tr>
|
153
|
+
<th>商品名</th>
|
154
|
+
<th>価格</th>
|
155
|
+
<th>在庫数</th>
|
156
|
+
<th>ステータス</th>
|
157
|
+
</tr>
|
158
|
+
<?php
|
159
|
+
if (empty($data) !== TRUE) {
|
160
|
+
foreach ((array)$data as $list) {
|
161
|
+
if ((int) $list['status'] === 0) { ?>
|
162
|
+
<tr class="status_0">
|
163
|
+
<?php } else { ?>
|
164
|
+
<tr>
|
165
|
+
<?php } ?>
|
166
|
+
<? php print htmlspecialchars($list,ENT_QUOTES,'UTF-8'); ?>
|
167
|
+
<td><img class="img" src="<?PHP print $list['img']; ?>"></td>
|
168
|
+
<td class="d_name"><?php print $list['name']; ?></td>
|
169
|
+
<td class="d_price"><?php print $list['price']; ?></td>
|
170
|
+
<td>
|
171
|
+
<form method="post">
|
172
|
+
<!--<input type="text" class="input_text_width text_align_right" name="stock" value="<?php print $list['stock']; ?>">個-->
|
173
|
+
<!--<br>-->
|
174
|
+
<input type="submit" name="renew" value="変更">
|
175
|
+
<input type="hidden" name="sql_kind" value="update">
|
176
|
+
</form>
|
177
|
+
</td>
|
178
|
+
|
179
|
+
<?php if ((int) $list['status'] === 0) { ?>
|
180
|
+
<td class="d_status">
|
181
|
+
<form method="post">
|
182
|
+
<input type="submit" name="change" value="非公開 → 公開">
|
183
|
+
<input type="hidden" name="change_status" value="1">
|
184
|
+
<input type="hidden" name="sql_kind" value="change">
|
185
|
+
</form>
|
186
|
+
</td>
|
187
|
+
</tr>
|
188
|
+
<?php } else { ?>
|
189
|
+
<td class="d_status">
|
190
|
+
<form method="post">
|
191
|
+
<input type="submit" name="change" value="公開 → 非公開">
|
192
|
+
<input type="hidden" name="change_status" value="0">
|
193
|
+
<input type="hidden" name="sql_kind" value="change">
|
194
|
+
</form>
|
195
|
+
</td>
|
196
|
+
</tr>
|
197
|
+
<?php }
|
198
|
+
}
|
199
|
+
} ?>
|
200
|
+
|
201
|
+
</tbody>
|
202
|
+
</table>
|
203
|
+
</section>
|
204
|
+
</body>
|
205
|
+
|
206
|
+
</html>
|
118
207
|
```
|
119
208
|
|
120
209
|
### 試したこと
|
121
210
|
https://ryou1214.hatenadiary.org/entry/20120309/1331306992
|
211
|
+
https://qiita.com/ryo-futebol/items/11dea44c6b68203228ff
|
122
212
|
上記のサイトを参考にしました。
|
123
213
|
|
124
214
|
|