質問編集履歴
4
消してしまった内容を元にもどしました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
FILEをアップロードした時にアップロードの条件に入らない
|
test
CHANGED
@@ -1,349 +1,231 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
//
|
60
|
-
|
61
|
-
//
|
62
|
-
|
63
|
-
//
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
1
|
+
#現状起こっていること
|
2
|
+
|
3
|
+
ファイルをアップロードした際に、条件に入らないです。
|
4
|
+
|
5
|
+
```ここに言語を入力
|
6
|
+
|
7
|
+
logger('セッションの値を確認する1'.$_SESSION['upfile'][$i]);
|
8
|
+
|
9
|
+
```
|
10
|
+
|
11
|
+
※ログを見ても出力されておらず、条件に入っていないです。
|
12
|
+
|
13
|
+
#実現したいこと
|
14
|
+
|
15
|
+
chat_theme.phpで、ファイルがアップロードされたら、その情報をセッションに入れて、**テーマチャット作成ボタン**を押した後に**Chat.php**でDBへのアップロードファイルのパスを登録したり、移動するためのディレクトリを作成して、ファイルをディレクトリに移動するようにしたいと思っています。
|
16
|
+
|
17
|
+
登録ボタンを押すまでにファイルをアップロードしたら、エラーがなかったらセッションに格納されているファイルが上書きされて、それが、Chat.phpに送られた(登録されるファイルが確定された状態)時にファイルを移動したいからです。
|
18
|
+
|
19
|
+
**※これよりももっと良い方法があればそこも教えてください。**
|
20
|
+
|
21
|
+
#仕様など
|
22
|
+
|
23
|
+
**ファイルのアップロードでは、画像以外の.csv、.txtなどのファイルもアップロードできるようにと考えています。**
|
24
|
+
|
25
|
+
**※添付ファイルを追加するを押すとファイルアップロード部分のhtmlができるようになっており、複数登録をする仕様になっています。**
|
26
|
+
|
27
|
+
**chat_theme.phpなどは、主にフォームのバリデーションチェックや入力した値を登録用や検索用のクラスのChat.phpに送る役目です。**
|
28
|
+
|
29
|
+
**※リロードするとjavaScriptでhtmlのタグを出しているので消えてしまいますが、ここは、この仕様(参考にして欲しいと言われたサイト)に似せています。**
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
### html部分
|
34
|
+
|
35
|
+
```ここに言語を入力
|
36
|
+
|
37
|
+
<form action="" method="post" name="chat_theme" enctype="multipart/form-data">
|
38
|
+
|
39
|
+
<div id="attachedFileAdd" class="attachedFileAdd">
|
40
|
+
|
41
|
+
<a href="javascript:void(0);" class="fileadd iconLink" onclick="attachFileClick();">
|
42
|
+
|
43
|
+
<img src="" alt="">
|
44
|
+
|
45
|
+
<span>添付ファイルを追加する</span>
|
46
|
+
|
47
|
+
</a>
|
48
|
+
|
49
|
+
</div>
|
50
|
+
|
51
|
+
</form>
|
52
|
+
|
53
|
+
```
|
54
|
+
|
55
|
+
### js部分
|
56
|
+
|
57
|
+
```ここに言語を入力
|
58
|
+
|
59
|
+
// ##############################################
|
60
|
+
|
61
|
+
// 添付画像の処理を記載
|
62
|
+
|
63
|
+
// ##############################################
|
64
|
+
|
65
|
+
// TODO 番号のリセットなどを実装して、DB上で複数登録させる
|
66
|
+
|
67
|
+
//カウンターを設定する
|
68
|
+
|
69
|
+
var attachcount = 0;
|
70
|
+
|
71
|
+
//添付ファイルのボタンが押された際と削除した際の画像にファイル名を動的に与える為に必要
|
72
|
+
|
73
|
+
var attachbox = document.getElementById('attachedFileAdd');
|
74
|
+
|
75
|
+
//添付ファイルを追加するボタン
|
76
|
+
|
77
|
+
function attachFileClick(){
|
78
|
+
|
79
|
+
//添付ファイルを追加するを押した回数をカウントアップする
|
80
|
+
|
81
|
+
attachcount++;
|
82
|
+
|
83
|
+
var counter = attachcount;
|
84
|
+
|
85
|
+
var test = document.getElementById('ui-id-1');
|
86
|
+
|
87
|
+
//要素内の、最後の子要素の後ろ
|
88
|
+
|
89
|
+
test.insertAdjacentHTML('beforeend',
|
90
|
+
|
91
|
+
'<div id="cba_commonAttachedFile'+ counter +'"'+'class="attachedFileParts" data-file-count="'+counter +'">'
|
92
|
+
|
93
|
+
+'<input type="file" size="30" name="file[] class="inputFile">'
|
94
|
+
|
95
|
+
+'<input type="hidden" name="MAX_FILE_SIZE value="26,214,400">'
|
96
|
+
|
97
|
+
+'<span class="guide">(25MBまで)</span>'
|
98
|
+
|
99
|
+
+'<a href="javascript:void(0);" class="attachedFileList__delete attachedFileDeleteiconLink" onclick="deleteFileClick();">'
|
100
|
+
|
101
|
+
+'<img src="" alt class="icon">'
|
102
|
+
|
103
|
+
+'<span>削除</span>'
|
104
|
+
|
105
|
+
+'</a>'
|
106
|
+
|
107
|
+
+'</div>');
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
```
|
112
|
+
|
113
|
+
### php部分 chat_theme.php
|
114
|
+
|
115
|
+
```ここに言語を入力
|
116
|
+
|
117
|
+
//テーマチャット作成ボタンが押される前にファイルがアップロードされることは、ないのでファイルがアップロードされたら、セッションに入れておく
|
118
|
+
|
119
|
+
//上書きをした場合は、書き換わる
|
120
|
+
|
121
|
+
$file_list = array();
|
122
|
+
|
123
|
+
for($i=0;$i<count($_FILES['file']);$i++){
|
124
|
+
|
125
|
+
if(empty($_SESSION['upfile'][$i]) || $_FILES['file']['error'][$i] === 0) {
|
126
|
+
|
127
|
+
unset($_SESSION['upfile']);
|
128
|
+
|
129
|
+
$_SESSION['upfile'][$i] = $_FILES['file'];
|
130
|
+
|
131
|
+
logger('セッションの値を確認する1'.$_SESSION['upfile'][$i]);
|
132
|
+
|
133
|
+
//名前の被りを防いで登録するために、拡張子とファイル名の所を分割する(デバッグ用のコード)
|
134
|
+
|
135
|
+
$file_list = preg_split("/[.]/",$_SESSION['upfile']['name'][$i]);
|
136
|
+
|
137
|
+
$_SESSION['filelist'] = $file_list;
|
138
|
+
|
139
|
+
}
|
140
|
+
|
141
|
+
//テーマチャット作成時バリデーションチェック
|
142
|
+
|
143
|
+
if(!empty($_POST['chat_theme_create'])){
|
144
|
+
|
145
|
+
//グループタイトルのバリデーション
|
146
|
+
|
147
|
+
if(empty($_POST['GROUP_CHAT_TITLE'])){
|
148
|
+
|
149
|
+
$_POST['err'][] = 'タイトルが入力されていません。';
|
150
|
+
|
151
|
+
//グループタイトル文字数上限超過
|
152
|
+
|
153
|
+
}elseif($chat->getGroupChatByName($_POST['GROUP_CHAT_TITLE'])) {
|
154
|
+
|
155
|
+
$_POST['err'][] = '入力されたタイトルは既に登録済みです。';
|
156
|
+
|
157
|
+
}
|
158
|
+
|
159
|
+
//バリデーションエラー時に入力画面で表示させる為にセッションに入れておく
|
160
|
+
|
161
|
+
//所属メンバーのリスト
|
162
|
+
|
163
|
+
if($_SESSION['belong_member']){
|
164
|
+
|
165
|
+
//バリデーションエラーにひっかかって後にさらに追加した場合
|
166
|
+
|
167
|
+
$_SESSION['belong_member'] = array_merge($_SESSION['belong_member'],(array)$_REQUEST['addressId']);
|
168
|
+
|
169
|
+
}else{
|
170
|
+
|
171
|
+
//バリデーションエラー前に初回追加した時(複数登録されることを想定して配列にしておく)
|
172
|
+
|
173
|
+
$_SESSION['belong_member'] = (array)$_REQUEST['addressId'];
|
174
|
+
|
175
|
+
}
|
176
|
+
|
177
|
+
//グループチャット作成登録画面に遷移してきた時
|
178
|
+
|
179
|
+
if($_GET['edit_type'] == 'register'){
|
180
|
+
|
181
|
+
//ファイルのアップロード状況を確認
|
182
|
+
|
183
|
+
logger('登録ボタンを押した瞬間'.$_SESSION['file']);
|
184
|
+
|
185
|
+
logger('登録ボタンを押した瞬間'.var_dump($_SESSION['file']));
|
186
|
+
|
187
|
+
//エラーがなければ登録処理を行う
|
188
|
+
|
189
|
+
if(empty($_POST['err'])){
|
190
|
+
|
191
|
+
$chat->setGroupChat($_POST['GROUP_GHAT_NO'],$_POST['GROUP_CHAT_TITLE'],$_POST['GROUP_CHAT_MEMO'],$_FILE['file']['tmp_name'],$_POST['modifiable'],$_SESSION['belong_member']);
|
192
|
+
|
193
|
+
//チャットの一覧ページ(ダイレクトページとテーマチャットが一覧で見れるページ)メッセージは、
|
194
|
+
|
195
|
+
$_SESSION['edit_topic_msg'] = 'トピックが'.$chat->getGroupChatEditType($_GET['edit_type']).'されました';
|
196
|
+
|
197
|
+
//登録がうまく行った場合は、ページ遷移させずに表示させていたセレクトボックスの値などのデータをセッションに入れていたものをクリアする
|
198
|
+
|
199
|
+
unset($_SESSION['belong_member']);
|
200
|
+
|
201
|
+
header("Location:chat_top");
|
202
|
+
|
203
|
+
}
|
204
|
+
|
205
|
+
}
|
92
206
|
|
93
207
|
}
|
94
208
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
* Class DirectChat
|
120
|
-
|
121
|
-
*
|
122
|
-
|
123
|
-
*ダイレクトチャットの表示などのクラス
|
124
|
-
|
125
|
-
*
|
126
|
-
|
127
|
-
*/
|
128
|
-
|
129
|
-
class DirectChat extends Db
|
130
|
-
|
131
|
-
{
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
public function commnet_list($direct_chat_comments){
|
136
|
-
|
137
|
-
//データベースとの接続
|
138
|
-
|
139
|
-
$con = new Db;
|
140
|
-
|
141
|
-
//ログインユーザーの表示
|
142
|
-
|
143
|
-
$account = new Account;
|
144
|
-
|
145
|
-
//登録した内容でダイレクトチャット一覧を出力
|
146
|
-
|
147
|
-
foreach($direct_chat_comments as $direct_comment) {
|
148
|
-
|
149
|
-
echo '<div class="chatRoomCommentBlock">'
|
150
|
-
|
151
|
-
.'<div class="createMemberIcon">'
|
152
|
-
|
153
|
-
.'<img src="" class="icon" />'
|
154
|
-
|
155
|
-
// 自分の名前が表示される
|
156
|
-
|
157
|
-
.'<div class="name">'
|
158
|
-
|
159
|
-
.'<div class="name">'
|
160
|
-
|
161
|
-
// .'<a href="/mpConfiguration/profile/view" class="profileLb iconLink" id="profile_1:884608" title="'.$con->selectNo($direct_comment['DIRECT_CHAT_EXCHANGE_CREATE_MEMBER_NO'])['member_name'].'">'
|
162
|
-
|
163
|
-
.'<span class="name">'
|
164
|
-
|
165
|
-
.$con->selectNo($direct_comment['DIRECT_CHAT_EXCHANGE_CREATE_MEMBER_NO'])['member_name']
|
166
|
-
|
167
|
-
.'</span>'
|
168
|
-
|
169
|
-
.'</a>'
|
170
|
-
|
171
|
-
.'</div>'
|
172
|
-
|
173
|
-
.'</div>'
|
174
|
-
|
175
|
-
.'<div class="commentItemList">'
|
176
|
-
|
177
|
-
.'<div data-id="17601719" data-number="28" data-createDateInLong="1528346837000" class="commentItem ">'
|
178
|
-
|
179
|
-
.'<div class="commentContents ">'
|
180
|
-
|
181
|
-
.'<div class="commentBody selfclear">'
|
182
|
-
|
183
|
-
.'<div class="commentBodyLeft">'
|
184
|
-
|
185
|
-
.'<div class="formatContents">'
|
186
|
-
|
187
|
-
;
|
188
|
-
|
189
|
-
//コメントが入る場所。サイボウズでは、pタグは入らないみたいです。
|
190
|
-
|
191
|
-
echo $direct_comment['DIRECT_CHAT_EXCHANGE_COMMENT_TEXT']
|
192
|
-
|
193
|
-
.'</div>'
|
194
|
-
|
195
|
-
.'</div>'
|
196
|
-
|
197
|
-
;
|
198
|
-
|
199
|
-
//自分で投稿した投稿の時は、下記が表示される
|
200
|
-
|
201
|
-
if($account->chkUpdatePermission($direct_comment['DIRECT_CHAT_EXCHANGE_CREATE_MEMBER_NO'],null)){
|
202
|
-
|
203
|
-
echo '<div class="commentBodyRight">'
|
204
|
-
|
205
|
-
.'<div class="commentDelete operation hiddenOperation" style="display:none">'
|
206
|
-
|
207
|
-
.'<a href="#deleteComment_fid=17601719" class="iconLink delete" title="削除する">'
|
208
|
-
|
209
|
-
.'<img src="https://cybozulive.com/static/49f5cdb4ca/images/delete_white14.png" class="icon" alt="削除する" />'
|
210
|
-
|
211
|
-
.'</a>'
|
212
|
-
|
213
|
-
.'</div>'
|
214
|
-
|
215
|
-
.'</div>'
|
216
|
-
|
217
|
-
;
|
218
|
-
|
219
|
-
}
|
220
|
-
|
221
|
-
//この内部にhtmlデータや画像がある時やcsvデータがある時などの設定や吐き出すhtmlなどを指定してあげる。
|
222
|
-
|
223
|
-
echo '</div>'
|
224
|
-
|
225
|
-
.'<div class="commentFooter operationParts selfclear">'
|
226
|
-
|
227
|
-
.'<div class="operation">'
|
228
|
-
|
229
|
-
.'<a href="javascript:void(0);" data-url="/tip/commentUrl?url=https%3A%2F%2Fcybozulive.com%2FmpChat%2Fview%3FchatRoomId%3D2%253A15547680%26fid%3D17601719" class="commentUrlTip" title="固定リンク">'
|
230
|
-
|
231
|
-
.'<span>No.</span>'
|
232
|
-
|
233
|
-
// 表示番号を出力する
|
234
|
-
|
235
|
-
.'<span class="number">'.$direct_comment['DIRECT_CHAT_EXCHANGE_DISPLAY_NO'].'</span>'
|
236
|
-
|
237
|
-
.'<span class="createDate">'.$direct_comment['DIRECT_CHAT_EXCHANGE_INS_TS'].'</span>'
|
238
|
-
|
239
|
-
.'</a>'
|
240
|
-
|
241
|
-
;
|
242
|
-
|
243
|
-
//いいねと件数を表示する
|
244
|
-
|
245
|
-
echo '<span class="good">'
|
246
|
-
|
247
|
-
.'<span data-url="/common/good/goodAjax" data-mode="SIMPLE" data-use-comet="TRUE">'
|
248
|
-
|
249
|
-
.'<a href="javascript:void(0);" class="iconLink goodLinkOn" id="cbaGood-MP_CHAT-2:15547680-17601719-on" data-url="/comet/common/good/goodTurnJsonDirect">'
|
250
|
-
|
251
|
-
.'<img src="https://cybozulive.com/static/49f5cdb4ca/images/good14.png" alt="" class="icon" />'
|
252
|
-
|
253
|
-
.'<span>いいね!</span>'
|
254
|
-
|
255
|
-
.'</a>'
|
256
|
-
|
257
|
-
.'</span>'
|
258
|
-
|
259
|
-
.'<span class="goodMemberCountParts" data-url="/common/good/goodMemberListAjax" style="display:none">'
|
260
|
-
|
261
|
-
.'<a href="javascript:void(0);" class="goodMemberCount goodMemberListTip" data-url="/common/good/goodMemberListTip?application=MP_CHAT&targetId=2%3A15547680&subTargetId=17601719">'
|
262
|
-
|
263
|
-
.date('Y年m月d日 H時i分s秒', strtotime($direct_comment['DIRECT_CHAT_EXCHANGE_INS_TS']))
|
264
|
-
|
265
|
-
.'</a>'
|
266
|
-
|
267
|
-
.'<span>件</span>'
|
268
|
-
|
269
|
-
.'</span>'
|
270
|
-
|
271
|
-
.'</span>'
|
272
|
-
|
273
|
-
;
|
274
|
-
|
275
|
-
//返信とお気に入りボタンなどを表示
|
276
|
-
|
277
|
-
echo '<a href="javascript:void(0);" id="chatRoomComment_28" class="replyChatRoomComment iconLink">'
|
278
|
-
|
279
|
-
.'<img src="https://cybozulive.com/static/49f5cdb4ca/images/reply14.png" alt="" class="icon" />'
|
280
|
-
|
281
|
-
.'<span>返信</span>'
|
282
|
-
|
283
|
-
.'</a>'
|
284
|
-
|
285
|
-
.'<a href="javascript:void(0);" data-url="/common/star/starTurnJsonDirect" id="cbaStar-MP_CHAT--2:15547680-17601719" class="star iconLink" data-displayLabel="true">'
|
286
|
-
|
287
|
-
.'<img src="https://cybozulive.com/static/49f5cdb4ca/images/star_off14.png" class="icon" alt="お気に入りに登録する" data-star="off" />'
|
288
|
-
|
289
|
-
.'<span class="starLabel">お気に入り</span>'
|
290
|
-
|
291
|
-
.'</a>'
|
292
|
-
|
293
|
-
.'</div>'
|
294
|
-
|
295
|
-
.'</div>'
|
296
|
-
|
297
|
-
.'</div>'
|
298
|
-
|
299
|
-
.'</div>'
|
300
|
-
|
301
|
-
.'</div>'
|
302
|
-
|
303
|
-
.'</div>'
|
304
|
-
|
305
|
-
.'</div>'
|
306
|
-
|
307
|
-
;
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
// echo $con->selectNo($direct_comment['DIRECT_CHAT_EXCHANGE_CREATE_MEMBER_NO'])['member_name']
|
314
|
-
|
315
|
-
// .' '.date('Y年m月d日 H時i分s秒', strtotime($direct_comment['DIRECT_CHAT_EXCHANGE_INS_TS']))
|
316
|
-
|
317
|
-
// .'</p>'
|
318
|
-
|
319
|
-
// .'<p id="comment_text">'
|
320
|
-
|
321
|
-
// //返信した時の返信に関するリンクをつける
|
322
|
-
|
323
|
-
// .$reply_link
|
324
|
-
|
325
|
-
// .$direct_comment['DIRECT_CHAT_EXCHANGE_COMMENT_TEXT']
|
326
|
-
|
327
|
-
// .'</p>'
|
328
|
-
|
329
|
-
// .'<a href="#reply_to" id="reply_comment" class="reply_to_'.$direct_comment['DIRECT_CHAT_EXCHANGE_DISPLAY_NO'].'" >返信する</a>'
|
330
|
-
|
331
|
-
// ;
|
332
|
-
|
333
|
-
//ログインユーザーに更新権限がある場合、削除ボタンの表示
|
334
|
-
|
335
|
-
if($account->chkUpdatePermission($direct_comment['DIRECT_CHAT_EXCHANGE_CREATE_MEMBER_NO'],null)){
|
336
|
-
|
337
|
-
echo '<a href="#delete" id="delete_board_comment" class="delete_comment_'.$direct_comment['DIRECT_CHAT_EXCHANGE_NO'].'" >削除する</a>'
|
338
|
-
|
339
|
-
;
|
340
|
-
|
341
|
-
}
|
342
|
-
|
343
|
-
}
|
344
|
-
|
345
|
-
}
|
346
|
-
|
347
|
-
}
|
348
|
-
|
349
|
-
```
|
209
|
+
```
|
210
|
+
|
211
|
+
#セッションの中身です。
|
212
|
+
|
213
|
+
```ここに言語を入力
|
214
|
+
|
215
|
+
Array (
|
216
|
+
|
217
|
+
[4] => Array (
|
218
|
+
|
219
|
+
[name] => Array ( [0] => テスト確認.txt )
|
220
|
+
|
221
|
+
[type] => Array ( [0] => text/plain )
|
222
|
+
|
223
|
+
[tmp_name] => Array ( [0] => /tmp/php5U3RYZ )
|
224
|
+
|
225
|
+
[error] => Array ( [0] => 0 )
|
226
|
+
|
227
|
+
[size] => Array ( [0] => 14 )
|
228
|
+
|
229
|
+
) )
|
230
|
+
|
231
|
+
```
|
3
エラーが出た為
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
クラスが見つからないエラーが発生する
|
test
CHANGED
@@ -1,281 +1,349 @@
|
|
1
|
-
#現
|
2
|
-
|
3
|
-
|
1
|
+
#[実現したいこと]
|
2
|
+
|
3
|
+
初期表示では、エラーが出ませんが、ajaxで送信した後に下記のようなエラーが出るので解消したいです。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
#[起こっているエラー]
|
8
|
+
|
9
|
+
Fatal error: Uncaught Error: Class 'DirectChat' not found in /var/www/html/xxxxx.xyz/xxx-groupwork_ushijima/library/Api/chatDirect.php:10 Stack trace: #0 {main} thrown in /var/www/html/xxxxx.xyz/xxx-groupwork_ushijima/library/Api/chatDirect.php on line 10
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
|
4
14
|
|
5
15
|
|
6
16
|
|
7
17
|
```ここに言語を入力
|
8
18
|
|
9
|
-
|
19
|
+
<?php
|
20
|
+
|
21
|
+
// library直下のlibrary.phpを読み込むように設定する
|
22
|
+
|
23
|
+
require_once(preg_replace('/Api[\/\]chatDirect.php/','',__FILE__).'library.php');
|
24
|
+
|
25
|
+
$chat = new Chat;
|
26
|
+
|
27
|
+
//データベースとの接続
|
28
|
+
|
29
|
+
$con = new Db;
|
30
|
+
|
31
|
+
//ログインユーザーの表示
|
32
|
+
|
33
|
+
$account = new Account;
|
34
|
+
|
35
|
+
//ダイレクトチャット用のオブジェクトを作成する
|
36
|
+
|
37
|
+
$direct_chat = new DirectChat;
|
38
|
+
|
39
|
+
// //やり取りしている内容を全件取得する
|
40
|
+
|
41
|
+
$direct_chat_comments = $chat->getAllDirectChatExchange($group_chat_no);
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
//ダイレクトチャット画面でグループチャット番号で検索をかけるためにグループチャット番号を取得する
|
46
|
+
|
47
|
+
$group_chat_no=filter_input(INPUT_POST,"group_chat_no");
|
48
|
+
|
49
|
+
$direct_chat_create=filter_input(INPUT_POST,"direct_chat_create");
|
50
|
+
|
51
|
+
$GROUP_CHAT_EXCHANGE_COMMENT_TEXT=filter_input(INPUT_POST,"GROUP_CHAT_EXCHANGE_COMMENT_TEXT");
|
52
|
+
|
53
|
+
##########################################
|
54
|
+
|
55
|
+
// ダイレクトチャットで必要になる機能
|
56
|
+
|
57
|
+
// 送信ボタンを押した時に投稿内容が登録される
|
58
|
+
|
59
|
+
// 空で送信ボタンを押すと登録の処理が行われない
|
60
|
+
|
61
|
+
// 自分で作成した投稿に関しては、削除することが可能
|
62
|
+
|
63
|
+
// 投稿内容に関していいね、お気に入り登録、返信などをすることができる。(自分の投稿や相手の投稿に関わらず、つけれる)
|
64
|
+
|
65
|
+
##########################################
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
if(!is_null($direct_chat_create)){
|
70
|
+
|
71
|
+
//ボタンが押された時の処理
|
72
|
+
|
73
|
+
if(!is_null($GROUP_CHAT_EXCHANGE_COMMENT_TEXT) and $GROUP_CHAT_EXCHANGE_COMMENT_TEXT!==""){
|
74
|
+
|
75
|
+
//データを登録した時に新たにダイレクトチャットのリストを表示する
|
76
|
+
|
77
|
+
$chat->setDirectChatExchange($group_chat_no,$GROUP_CHAT_EXCHANGE_COMMENT_TEXT,$reply_to_dairect_chat_comment_no);
|
78
|
+
|
79
|
+
$direct_chat->commnet_list($direct_chat_comments);
|
80
|
+
|
81
|
+
}else{
|
82
|
+
|
83
|
+
//コメントが入力されていなければ何も処理されない
|
84
|
+
|
85
|
+
}
|
86
|
+
|
87
|
+
}else{
|
88
|
+
|
89
|
+
//初期表示でやり取りしていなかったら表示しない。
|
90
|
+
|
91
|
+
$direct_chat->commnet_list($direct_chat_comments);
|
92
|
+
|
93
|
+
}
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
//コメント削除の時
|
98
|
+
|
99
|
+
if(!empty($_POST['delete_board_comment'])){
|
100
|
+
|
101
|
+
$chat->deleteBoardComment($_POST['BOARD_COMMENT_NO']);
|
102
|
+
|
103
|
+
}
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
?>
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
<?php
|
114
|
+
|
115
|
+
//2018/08/15
|
116
|
+
|
117
|
+
/**
|
118
|
+
|
119
|
+
* Class DirectChat
|
120
|
+
|
121
|
+
*
|
122
|
+
|
123
|
+
*ダイレクトチャットの表示などのクラス
|
124
|
+
|
125
|
+
*
|
126
|
+
|
127
|
+
*/
|
128
|
+
|
129
|
+
class DirectChat extends Db
|
130
|
+
|
131
|
+
{
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
public function commnet_list($direct_chat_comments){
|
136
|
+
|
137
|
+
//データベースとの接続
|
138
|
+
|
139
|
+
$con = new Db;
|
140
|
+
|
141
|
+
//ログインユーザーの表示
|
142
|
+
|
143
|
+
$account = new Account;
|
144
|
+
|
145
|
+
//登録した内容でダイレクトチャット一覧を出力
|
146
|
+
|
147
|
+
foreach($direct_chat_comments as $direct_comment) {
|
148
|
+
|
149
|
+
echo '<div class="chatRoomCommentBlock">'
|
150
|
+
|
151
|
+
.'<div class="createMemberIcon">'
|
152
|
+
|
153
|
+
.'<img src="" class="icon" />'
|
154
|
+
|
155
|
+
// 自分の名前が表示される
|
156
|
+
|
157
|
+
.'<div class="name">'
|
158
|
+
|
159
|
+
.'<div class="name">'
|
160
|
+
|
161
|
+
// .'<a href="/mpConfiguration/profile/view" class="profileLb iconLink" id="profile_1:884608" title="'.$con->selectNo($direct_comment['DIRECT_CHAT_EXCHANGE_CREATE_MEMBER_NO'])['member_name'].'">'
|
162
|
+
|
163
|
+
.'<span class="name">'
|
164
|
+
|
165
|
+
.$con->selectNo($direct_comment['DIRECT_CHAT_EXCHANGE_CREATE_MEMBER_NO'])['member_name']
|
166
|
+
|
167
|
+
.'</span>'
|
168
|
+
|
169
|
+
.'</a>'
|
170
|
+
|
171
|
+
.'</div>'
|
172
|
+
|
173
|
+
.'</div>'
|
174
|
+
|
175
|
+
.'<div class="commentItemList">'
|
176
|
+
|
177
|
+
.'<div data-id="17601719" data-number="28" data-createDateInLong="1528346837000" class="commentItem ">'
|
178
|
+
|
179
|
+
.'<div class="commentContents ">'
|
180
|
+
|
181
|
+
.'<div class="commentBody selfclear">'
|
182
|
+
|
183
|
+
.'<div class="commentBodyLeft">'
|
184
|
+
|
185
|
+
.'<div class="formatContents">'
|
186
|
+
|
187
|
+
;
|
188
|
+
|
189
|
+
//コメントが入る場所。サイボウズでは、pタグは入らないみたいです。
|
190
|
+
|
191
|
+
echo $direct_comment['DIRECT_CHAT_EXCHANGE_COMMENT_TEXT']
|
192
|
+
|
193
|
+
.'</div>'
|
194
|
+
|
195
|
+
.'</div>'
|
196
|
+
|
197
|
+
;
|
198
|
+
|
199
|
+
//自分で投稿した投稿の時は、下記が表示される
|
200
|
+
|
201
|
+
if($account->chkUpdatePermission($direct_comment['DIRECT_CHAT_EXCHANGE_CREATE_MEMBER_NO'],null)){
|
202
|
+
|
203
|
+
echo '<div class="commentBodyRight">'
|
204
|
+
|
205
|
+
.'<div class="commentDelete operation hiddenOperation" style="display:none">'
|
206
|
+
|
207
|
+
.'<a href="#deleteComment_fid=17601719" class="iconLink delete" title="削除する">'
|
208
|
+
|
209
|
+
.'<img src="https://cybozulive.com/static/49f5cdb4ca/images/delete_white14.png" class="icon" alt="削除する" />'
|
210
|
+
|
211
|
+
.'</a>'
|
212
|
+
|
213
|
+
.'</div>'
|
214
|
+
|
215
|
+
.'</div>'
|
216
|
+
|
217
|
+
;
|
218
|
+
|
219
|
+
}
|
220
|
+
|
221
|
+
//この内部にhtmlデータや画像がある時やcsvデータがある時などの設定や吐き出すhtmlなどを指定してあげる。
|
222
|
+
|
223
|
+
echo '</div>'
|
224
|
+
|
225
|
+
.'<div class="commentFooter operationParts selfclear">'
|
226
|
+
|
227
|
+
.'<div class="operation">'
|
228
|
+
|
229
|
+
.'<a href="javascript:void(0);" data-url="/tip/commentUrl?url=https%3A%2F%2Fcybozulive.com%2FmpChat%2Fview%3FchatRoomId%3D2%253A15547680%26fid%3D17601719" class="commentUrlTip" title="固定リンク">'
|
230
|
+
|
231
|
+
.'<span>No.</span>'
|
232
|
+
|
233
|
+
// 表示番号を出力する
|
234
|
+
|
235
|
+
.'<span class="number">'.$direct_comment['DIRECT_CHAT_EXCHANGE_DISPLAY_NO'].'</span>'
|
236
|
+
|
237
|
+
.'<span class="createDate">'.$direct_comment['DIRECT_CHAT_EXCHANGE_INS_TS'].'</span>'
|
238
|
+
|
239
|
+
.'</a>'
|
240
|
+
|
241
|
+
;
|
242
|
+
|
243
|
+
//いいねと件数を表示する
|
244
|
+
|
245
|
+
echo '<span class="good">'
|
246
|
+
|
247
|
+
.'<span data-url="/common/good/goodAjax" data-mode="SIMPLE" data-use-comet="TRUE">'
|
248
|
+
|
249
|
+
.'<a href="javascript:void(0);" class="iconLink goodLinkOn" id="cbaGood-MP_CHAT-2:15547680-17601719-on" data-url="/comet/common/good/goodTurnJsonDirect">'
|
250
|
+
|
251
|
+
.'<img src="https://cybozulive.com/static/49f5cdb4ca/images/good14.png" alt="" class="icon" />'
|
252
|
+
|
253
|
+
.'<span>いいね!</span>'
|
254
|
+
|
255
|
+
.'</a>'
|
256
|
+
|
257
|
+
.'</span>'
|
258
|
+
|
259
|
+
.'<span class="goodMemberCountParts" data-url="/common/good/goodMemberListAjax" style="display:none">'
|
260
|
+
|
261
|
+
.'<a href="javascript:void(0);" class="goodMemberCount goodMemberListTip" data-url="/common/good/goodMemberListTip?application=MP_CHAT&targetId=2%3A15547680&subTargetId=17601719">'
|
262
|
+
|
263
|
+
.date('Y年m月d日 H時i分s秒', strtotime($direct_comment['DIRECT_CHAT_EXCHANGE_INS_TS']))
|
264
|
+
|
265
|
+
.'</a>'
|
266
|
+
|
267
|
+
.'<span>件</span>'
|
268
|
+
|
269
|
+
.'</span>'
|
270
|
+
|
271
|
+
.'</span>'
|
272
|
+
|
273
|
+
;
|
274
|
+
|
275
|
+
//返信とお気に入りボタンなどを表示
|
276
|
+
|
277
|
+
echo '<a href="javascript:void(0);" id="chatRoomComment_28" class="replyChatRoomComment iconLink">'
|
278
|
+
|
279
|
+
.'<img src="https://cybozulive.com/static/49f5cdb4ca/images/reply14.png" alt="" class="icon" />'
|
280
|
+
|
281
|
+
.'<span>返信</span>'
|
282
|
+
|
283
|
+
.'</a>'
|
284
|
+
|
285
|
+
.'<a href="javascript:void(0);" data-url="/common/star/starTurnJsonDirect" id="cbaStar-MP_CHAT--2:15547680-17601719" class="star iconLink" data-displayLabel="true">'
|
286
|
+
|
287
|
+
.'<img src="https://cybozulive.com/static/49f5cdb4ca/images/star_off14.png" class="icon" alt="お気に入りに登録する" data-star="off" />'
|
288
|
+
|
289
|
+
.'<span class="starLabel">お気に入り</span>'
|
290
|
+
|
291
|
+
.'</a>'
|
292
|
+
|
293
|
+
.'</div>'
|
294
|
+
|
295
|
+
.'</div>'
|
296
|
+
|
297
|
+
.'</div>'
|
298
|
+
|
299
|
+
.'</div>'
|
300
|
+
|
301
|
+
.'</div>'
|
302
|
+
|
303
|
+
.'</div>'
|
304
|
+
|
305
|
+
.'</div>'
|
306
|
+
|
307
|
+
;
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
|
312
|
+
|
313
|
+
// echo $con->selectNo($direct_comment['DIRECT_CHAT_EXCHANGE_CREATE_MEMBER_NO'])['member_name']
|
314
|
+
|
315
|
+
// .' '.date('Y年m月d日 H時i分s秒', strtotime($direct_comment['DIRECT_CHAT_EXCHANGE_INS_TS']))
|
316
|
+
|
317
|
+
// .'</p>'
|
318
|
+
|
319
|
+
// .'<p id="comment_text">'
|
320
|
+
|
321
|
+
// //返信した時の返信に関するリンクをつける
|
322
|
+
|
323
|
+
// .$reply_link
|
324
|
+
|
325
|
+
// .$direct_comment['DIRECT_CHAT_EXCHANGE_COMMENT_TEXT']
|
326
|
+
|
327
|
+
// .'</p>'
|
328
|
+
|
329
|
+
// .'<a href="#reply_to" id="reply_comment" class="reply_to_'.$direct_comment['DIRECT_CHAT_EXCHANGE_DISPLAY_NO'].'" >返信する</a>'
|
330
|
+
|
331
|
+
// ;
|
332
|
+
|
333
|
+
//ログインユーザーに更新権限がある場合、削除ボタンの表示
|
334
|
+
|
335
|
+
if($account->chkUpdatePermission($direct_comment['DIRECT_CHAT_EXCHANGE_CREATE_MEMBER_NO'],null)){
|
336
|
+
|
337
|
+
echo '<a href="#delete" id="delete_board_comment" class="delete_comment_'.$direct_comment['DIRECT_CHAT_EXCHANGE_NO'].'" >削除する</a>'
|
338
|
+
|
339
|
+
;
|
340
|
+
|
341
|
+
}
|
342
|
+
|
343
|
+
}
|
344
|
+
|
345
|
+
}
|
346
|
+
|
347
|
+
}
|
10
348
|
|
11
349
|
```
|
12
|
-
|
13
|
-
※ログを見ても出力されておらず、条件に入っていないです。
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
#実現したいこと
|
18
|
-
|
19
|
-
chat_theme.phpで、ファイルがアップロードされたら、その情報をセッションに入れて、**テーマチャット作成ボタン**を押した後に**Chat.php**でDBへのアップロードファイルのパスを登録したり、移動するためのディレクトリを作成して、ファイルをディレクトリに移動するようにしたいと思っています。
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
登録ボタンを押すまでにファイルをアップロードしたら、エラーがなかったらセッションに格納されているファイルが上書きされて、それが、Chat.phpに送られた(登録されるファイルが確定された状態)時にファイルを移動したいからです。
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
**※これよりももっと良い方法があればそこも教えてください。**
|
28
|
-
|
29
|
-
#仕様など
|
30
|
-
|
31
|
-
**ファイルのアップロードでは、画像以外の.csv、.txtなどのファイルもアップロードできるようにと考えています。**
|
32
|
-
|
33
|
-
**※添付ファイルを追加するを押すとファイルアップロード部分のhtmlができるようになっており、複数登録をする仕様になっています。**
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
**chat_theme.phpなどは、主にフォームのバリデーションチェックや入力した値を登録用や検索用のクラスのChat.phpに送る役目です。**
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
**※リロードするとjavaScriptでhtmlのタグを出しているので消えてしまいますが、ここは、この仕様(参考にして欲しいと言われたサイト)に似せています。**
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
### html部分
|
50
|
-
|
51
|
-
```ここに言語を入力
|
52
|
-
|
53
|
-
<form action="" method="post" name="chat_theme" enctype="multipart/form-data">
|
54
|
-
|
55
|
-
<div id="attachedFileAdd" class="attachedFileAdd">
|
56
|
-
|
57
|
-
<a href="javascript:void(0);" class="fileadd iconLink" onclick="attachFileClick();">
|
58
|
-
|
59
|
-
<img src="" alt="">
|
60
|
-
|
61
|
-
<span>添付ファイルを追加する</span>
|
62
|
-
|
63
|
-
</a>
|
64
|
-
|
65
|
-
</div>
|
66
|
-
|
67
|
-
</form>
|
68
|
-
|
69
|
-
```
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
### js部分
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
```ここに言語を入力
|
80
|
-
|
81
|
-
// ##############################################
|
82
|
-
|
83
|
-
// 添付画像の処理を記載
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
// ##############################################
|
88
|
-
|
89
|
-
// TODO 番号のリセットなどを実装して、DB上で複数登録させる
|
90
|
-
|
91
|
-
//カウンターを設定する
|
92
|
-
|
93
|
-
var attachcount = 0;
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
//添付ファイルのボタンが押された際と削除した際の画像にファイル名を動的に与える為に必要
|
98
|
-
|
99
|
-
var attachbox = document.getElementById('attachedFileAdd');
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
//添付ファイルを追加するボタン
|
104
|
-
|
105
|
-
function attachFileClick(){
|
106
|
-
|
107
|
-
//添付ファイルを追加するを押した回数をカウントアップする
|
108
|
-
|
109
|
-
attachcount++;
|
110
|
-
|
111
|
-
var counter = attachcount;
|
112
|
-
|
113
|
-
var test = document.getElementById('ui-id-1');
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
//要素内の、最後の子要素の後ろ
|
118
|
-
|
119
|
-
test.insertAdjacentHTML('beforeend',
|
120
|
-
|
121
|
-
'<div id="cba_commonAttachedFile'+ counter +'"'+'class="attachedFileParts" data-file-count="'+counter +'">'
|
122
|
-
|
123
|
-
+'<input type="file" size="30" name="file[] class="inputFile">'
|
124
|
-
|
125
|
-
+'<input type="hidden" name="MAX_FILE_SIZE value="26,214,400">'
|
126
|
-
|
127
|
-
+'<span class="guide">(25MBまで)</span>'
|
128
|
-
|
129
|
-
+'<a href="javascript:void(0);" class="attachedFileList__delete attachedFileDeleteiconLink" onclick="deleteFileClick();">'
|
130
|
-
|
131
|
-
+'<img src="" alt class="icon">'
|
132
|
-
|
133
|
-
+'<span>削除</span>'
|
134
|
-
|
135
|
-
+'</a>'
|
136
|
-
|
137
|
-
+'</div>');
|
138
|
-
|
139
|
-
}
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
```
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
### php部分 chat_theme.php
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
```ここに言語を入力
|
154
|
-
|
155
|
-
//テーマチャット作成ボタンが押される前にファイルがアップロードされることは、ないのでファイルがアップロードされたら、セッションに入れておく
|
156
|
-
|
157
|
-
//上書きをした場合は、書き換わる
|
158
|
-
|
159
|
-
$file_list = array();
|
160
|
-
|
161
|
-
for($i=0;$i<count($_FILES['file']);$i++){
|
162
|
-
|
163
|
-
if(empty($_SESSION['upfile'][$i]) || $_FILES['file']['error'][$i] === 0) {
|
164
|
-
|
165
|
-
unset($_SESSION['upfile']);
|
166
|
-
|
167
|
-
$_SESSION['upfile'][$i] = $_FILES['file'];
|
168
|
-
|
169
|
-
logger('セッションの値を確認する1'.$_SESSION['upfile'][$i]);
|
170
|
-
|
171
|
-
//名前の被りを防いで登録するために、拡張子とファイル名の所を分割する(デバッグ用のコード)
|
172
|
-
|
173
|
-
$file_list = preg_split("/[.]/",$_SESSION['upfile']['name'][$i]);
|
174
|
-
|
175
|
-
$_SESSION['filelist'] = $file_list;
|
176
|
-
|
177
|
-
}
|
178
|
-
|
179
|
-
}
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
//テーマチャット作成時バリデーションチェック
|
186
|
-
|
187
|
-
if(!empty($_POST['chat_theme_create'])){
|
188
|
-
|
189
|
-
//グループタイトルのバリデーション
|
190
|
-
|
191
|
-
if(empty($_POST['GROUP_CHAT_TITLE'])){
|
192
|
-
|
193
|
-
$_POST['err'][] = 'タイトルが入力されていません。';
|
194
|
-
|
195
|
-
//グループタイトル文字数上限超過
|
196
|
-
|
197
|
-
}elseif($chat->getGroupChatByName($_POST['GROUP_CHAT_TITLE'])) {
|
198
|
-
|
199
|
-
$_POST['err'][] = '入力されたタイトルは既に登録済みです。';
|
200
|
-
|
201
|
-
}
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
//バリデーションエラー時に入力画面で表示させる為にセッションに入れておく
|
206
|
-
|
207
|
-
//所属メンバーのリスト
|
208
|
-
|
209
|
-
if($_SESSION['belong_member']){
|
210
|
-
|
211
|
-
//バリデーションエラーにひっかかって後にさらに追加した場合
|
212
|
-
|
213
|
-
$_SESSION['belong_member'] = array_merge($_SESSION['belong_member'],(array)$_REQUEST['addressId']);
|
214
|
-
|
215
|
-
}else{
|
216
|
-
|
217
|
-
//バリデーションエラー前に初回追加した時(複数登録されることを想定して配列にしておく)
|
218
|
-
|
219
|
-
$_SESSION['belong_member'] = (array)$_REQUEST['addressId'];
|
220
|
-
|
221
|
-
}
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
//グループチャット作成登録画面に遷移してきた時
|
226
|
-
|
227
|
-
if($_GET['edit_type'] == 'register'){
|
228
|
-
|
229
|
-
//ファイルのアップロード状況を確認
|
230
|
-
|
231
|
-
logger('登録ボタンを押した瞬間'.$_SESSION['file']);
|
232
|
-
|
233
|
-
logger('登録ボタンを押した瞬間'.var_dump($_SESSION['file']));
|
234
|
-
|
235
|
-
//エラーがなければ登録処理を行う
|
236
|
-
|
237
|
-
if(empty($_POST['err'])){
|
238
|
-
|
239
|
-
$chat->setGroupChat($_POST['GROUP_GHAT_NO'],$_POST['GROUP_CHAT_TITLE'],$_POST['GROUP_CHAT_MEMO'],$_FILE['file']['tmp_name'],$_POST['modifiable'],$_SESSION['belong_member']);
|
240
|
-
|
241
|
-
//チャットの一覧ページ(ダイレクトページとテーマチャットが一覧で見れるページ)メッセージは、
|
242
|
-
|
243
|
-
$_SESSION['edit_topic_msg'] = 'トピックが'.$chat->getGroupChatEditType($_GET['edit_type']).'されました';
|
244
|
-
|
245
|
-
//登録がうまく行った場合は、ページ遷移させずに表示させていたセレクトボックスの値などのデータをセッションに入れていたものをクリアする
|
246
|
-
|
247
|
-
unset($_SESSION['belong_member']);
|
248
|
-
|
249
|
-
header("Location:chat_top");
|
250
|
-
|
251
|
-
}
|
252
|
-
|
253
|
-
}
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
}
|
258
|
-
|
259
|
-
```
|
260
|
-
|
261
|
-
#セッションの中身です。
|
262
|
-
|
263
|
-
```ここに言語を入力
|
264
|
-
|
265
|
-
Array (
|
266
|
-
|
267
|
-
[4] => Array (
|
268
|
-
|
269
|
-
[name] => Array ( [0] => テスト確認.txt )
|
270
|
-
|
271
|
-
[type] => Array ( [0] => text/plain )
|
272
|
-
|
273
|
-
[tmp_name] => Array ( [0] => /tmp/php5U3RYZ )
|
274
|
-
|
275
|
-
[error] => Array ( [0] => 0 )
|
276
|
-
|
277
|
-
[size] => Array ( [0] => 14 )
|
278
|
-
|
279
|
-
) )
|
280
|
-
|
281
|
-
```
|
2
セッションの中身を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -257,3 +257,25 @@
|
|
257
257
|
}
|
258
258
|
|
259
259
|
```
|
260
|
+
|
261
|
+
#セッションの中身です。
|
262
|
+
|
263
|
+
```ここに言語を入力
|
264
|
+
|
265
|
+
Array (
|
266
|
+
|
267
|
+
[4] => Array (
|
268
|
+
|
269
|
+
[name] => Array ( [0] => テスト確認.txt )
|
270
|
+
|
271
|
+
[type] => Array ( [0] => text/plain )
|
272
|
+
|
273
|
+
[tmp_name] => Array ( [0] => /tmp/php5U3RYZ )
|
274
|
+
|
275
|
+
[error] => Array ( [0] => 0 )
|
276
|
+
|
277
|
+
[size] => Array ( [0] => 14 )
|
278
|
+
|
279
|
+
) )
|
280
|
+
|
281
|
+
```
|
1
ファイル名を分割する処理を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -156,16 +156,24 @@
|
|
156
156
|
|
157
157
|
//上書きをした場合は、書き換わる
|
158
158
|
|
159
|
+
$file_list = array();
|
160
|
+
|
159
161
|
for($i=0;$i<count($_FILES['file']);$i++){
|
160
162
|
|
161
|
-
if(empty($_SESSION['upfile'][$i]) || $_FILES['file'][
|
163
|
+
if(empty($_SESSION['upfile'][$i]) || $_FILES['file']['error'][$i] === 0) {
|
162
|
-
|
164
|
+
|
163
|
-
unset($_SESSION['upfile']
|
165
|
+
unset($_SESSION['upfile']);
|
164
|
-
|
166
|
+
|
165
|
-
$_SESSION['upfile'][$i] = $_FILES['file']
|
167
|
+
$_SESSION['upfile'][$i] = $_FILES['file'];
|
166
168
|
|
167
169
|
logger('セッションの値を確認する1'.$_SESSION['upfile'][$i]);
|
168
170
|
|
171
|
+
//名前の被りを防いで登録するために、拡張子とファイル名の所を分割する(デバッグ用のコード)
|
172
|
+
|
173
|
+
$file_list = preg_split("/[.]/",$_SESSION['upfile']['name'][$i]);
|
174
|
+
|
175
|
+
$_SESSION['filelist'] = $file_list;
|
176
|
+
|
169
177
|
}
|
170
178
|
|
171
179
|
}
|