質問編集履歴

5

ソースコードをショートコードにしてあったので改編。wordpressのタグを追加

2016/10/08 11:55

投稿

s-plus-s
s-plus-s

スコア18

test CHANGED
@@ -1 +1 @@
1
- PHPのmove_uploaded_fileがfalseを返し、画像がアップロードできない。
1
+ wordpressでPHPのmove_uploaded_fileがfalseを返し、画像がアップロードできない。
test CHANGED
@@ -3,6 +3,8 @@
3
3
  wordpressで会員制のサイトを作り、フロントエンドからカスタム投稿タイプの投稿を行います。
4
4
 
5
5
  その時に画像のアップロードも行います。
6
+
7
+ ソースコードはショートコード化してあり、固定ページにショートコードを書き込んで呼び出してあります。
6
8
 
7
9
 
8
10
 
@@ -26,7 +28,7 @@
26
28
 
27
29
  ```ここに言語を入力
28
30
 
29
- <form method="post" action="save.php" enctype="multipart/form-data">
31
+ <form method="post" action="固定ページのurl" enctype="multipart/form-data">
30
32
 
31
33
  <input type="file" name="img1" multiple="false">
32
34
 
@@ -36,7 +38,7 @@
36
38
 
37
39
  ```
38
40
 
39
- save.php
41
+ 固定ページから呼び出されるショートコードの内容
40
42
 
41
43
  ```ここに言語を入力
42
44
 

4

2016/10/08 11:55

投稿

s-plus-s
s-plus-s

スコア18

test CHANGED
File without changes
test CHANGED
@@ -17,10 +17,6 @@
17
17
  送信フォームからは問題なく画像が送信されているようなのですが、move_uploaded_file()がfalseを返します。
18
18
 
19
19
  他にエラーは出力されていません。
20
-
21
-
22
-
23
- is_uploaded_file関数を使用したところ
24
20
 
25
21
 
26
22
 

3

コードを一部変更したので追記しました。

2016/10/07 16:22

投稿

s-plus-s
s-plus-s

スコア18

test CHANGED
File without changes
test CHANGED
@@ -134,7 +134,7 @@
134
134
 
135
135
  ["name"]=>
136
136
 
137
- string(10) "img_12.jpg"
137
+ string(10) "example.jpg"
138
138
 
139
139
  ["type"]=>
140
140
 

2

説明に一部間違いがあったので追記

2016/10/07 13:06

投稿

s-plus-s
s-plus-s

スコア18

test CHANGED
File without changes
test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
  ```
42
42
 
43
-
43
+ save.php
44
44
 
45
45
  ```ここに言語を入力
46
46
 

1

コードを一部変更したので追記しました。

2016/10/07 12:32

投稿

s-plus-s
s-plus-s

スコア18

test CHANGED
File without changes
test CHANGED
@@ -20,6 +20,10 @@
20
20
 
21
21
 
22
22
 
23
+ is_uploaded_file関数を使用したところ
24
+
25
+
26
+
23
27
  ###該当のソースコード
24
28
 
25
29
  送信フォーム
@@ -39,6 +43,18 @@
39
43
 
40
44
 
41
45
  ```ここに言語を入力
46
+
47
+ if (is_uploaded_file($_FILES['img1']['tmp_name'])){
48
+
49
+ echo 'ファイルはアップロードされている。';
50
+
51
+ }else{
52
+
53
+ echo 'ファイルがアップロードされていない。';
54
+
55
+ }
56
+
57
+
42
58
 
43
59
  $uploaddir = '/var/www/vhosts/example.com/uploads/';
44
60
 
@@ -92,11 +108,21 @@
92
108
 
93
109
 
94
110
 
95
- また上記のようにvar_dumpでそれぞれに正しく値が渡されているかチェックしてみました。
111
+ また上記のようにvar_dumpでそれぞれに正しく値が渡されているかチェックしてみました。またis_uploaded_file関数を使用してみました。
96
112
 
97
113
  それぞれの結果は下記です。
98
114
 
99
115
 
116
+
117
+ if (is_uploaded_file($_FILES['img1']['tmp_name']))の結果
118
+
119
+ ```ここに言語を入力
120
+
121
+ ファイルがアップロードされていない。
122
+
123
+ ```
124
+
125
+ var_dumpの結果
100
126
 
101
127
  ```ここに言語を入力
102
128
 
@@ -140,7 +166,9 @@
140
166
 
141
167
 
142
168
 
169
+
170
+
143
- 上記の通り、$_FILEには正しく画像ファイルが送信されているようなのでが、なぜかfalseが返っておりその他のエラーも出力されません
171
+ 上記の通り、is_uploaded_file関数で画像はないと判断されているのですが、var_dumpでは正しく画像ファイルが送信されているように見えます。
144
172
 
145
173
 
146
174