回答編集履歴

2

補足追記

2019/11/27 04:51

投稿

Y.H.
Y.H.

スコア7918

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  ちなみにphp側は質問記載のコードで問題なく動作しました。
12
12
 
13
-  ※一応補足、前段の質問者さんの質問([https://teratail.com/questions/225750](https://teratail.com/questions/225750))への回答を訂正していますので確認ください。
13
+  ※nikuniku12さんへ。一応補足、前段の質問者さん([https://teratail.com/users/dog50](https://teratail.com/users/dog50))の質問([https://teratail.com/questions/225750](https://teratail.com/questions/225750))への回答を訂正していますので確認ください。
14
14
 
15
15
 
16
16
 

1

追記

2019/11/27 04:51

投稿

Y.H.
Y.H.

スコア7918

test CHANGED
@@ -1,3 +1,179 @@
1
+ 質問のコードがいつの間にか編集されたので追記
2
+
3
+ ajaxでのリクエストでキャッシュ見ているのかもしれません。webサーバーのアクセスログを確認してリクエストが来ているか確認ください。
4
+
5
+ また、キャッシュを見ていた場合、ajaxでのリクエスト時にキャッシュ無効の指定をしてみてください。
6
+
7
+ `cache: false`
8
+
9
+
10
+
11
+ ちなみにphp側は質問記載のコードで問題なく動作しました。
12
+
13
+  ※一応補足、前段の質問者さんの質問([https://teratail.com/questions/225750](https://teratail.com/questions/225750))への回答を訂正していますので確認ください。
14
+
15
+
16
+
17
+ ```
18
+
19
+ $ cat -n product.txt
20
+
21
+ 1 id=1,商品=ペン
22
+
23
+ 2 id=2,商品=イス
24
+
25
+ 3 id=3,商品=消しゴム
26
+
27
+ $ # 1回目実行 ID=2を削除
28
+
29
+ $ php
30
+
31
+ <?php
32
+
33
+ $ID = 2;
34
+
35
+ $filearr = file('product.txt');
36
+
37
+ $newLines = array();
38
+
39
+
40
+
41
+ foreach ($filearr as $no => $val) {
42
+
43
+ $cols = explode(",", $val);
44
+
45
+ $keyval = explode("=", $cols[0]);
46
+
47
+
48
+
49
+ if ($keyval[1] == $ID) {
50
+
51
+ continue;
52
+
53
+ } else {
54
+
55
+ $newLines[] = $val;
56
+
57
+ }
58
+
59
+ }
60
+
61
+ $fp = fopen("product.txt", "w");
62
+
63
+ fwrite($fp, implode("\r", $newLines));
64
+
65
+ fclose($fp);
66
+
67
+
68
+
69
+ $fp=fopen("product.txt","r");
70
+
71
+ while(($data=fgetcsv($fp,1024))!==false){
72
+
73
+ $tmp=&$datas[];
74
+
75
+ foreach($data as $x){
76
+
77
+ $y=explode("=",$x);
78
+
79
+ $tmp[trim($y[0])]=trim($y[1]);
80
+
81
+ }
82
+
83
+ }
84
+
85
+ unset($tmp);
86
+
87
+ fclose($fp);
88
+
89
+ $data = json_encode($datas);
90
+
91
+ echo $data;
92
+
93
+ [{"id":"1","\u5546\u54c1":"\u30da\u30f3"},{"id":"3","\u5546\u54c1":"\u6d88\u3057\u30b4\u30e0"}]
94
+
95
+ $ # 2回目実行 ID=1を削除
96
+
97
+ $ php
98
+
99
+ <?php
100
+
101
+ $ID = 1;
102
+
103
+ $filearr = file('product.txt');
104
+
105
+ $newLines = array();
106
+
107
+
108
+
109
+ foreach ($filearr as $no => $val) {
110
+
111
+ $cols = explode(",", $val);
112
+
113
+ $keyval = explode("=", $cols[0]);
114
+
115
+
116
+
117
+ if ($keyval[1] == $ID) {
118
+
119
+ continue;
120
+
121
+ } else {
122
+
123
+ $newLines[] = $val;
124
+
125
+ }
126
+
127
+ }
128
+
129
+ $fp = fopen("product.txt", "w");
130
+
131
+ fwrite($fp, implode("\r", $newLines));
132
+
133
+ fclose($fp);
134
+
135
+
136
+
137
+ $fp=fopen("product.txt","r");
138
+
139
+ while(($data=fgetcsv($fp,1024))!==false){
140
+
141
+ $tmp=&$datas[];
142
+
143
+ foreach($data as $x){
144
+
145
+ $y=explode("=",$x);
146
+
147
+ $tmp[trim($y[0])]=trim($y[1]);
148
+
149
+ }
150
+
151
+ }
152
+
153
+ unset($tmp);
154
+
155
+ fclose($fp);
156
+
157
+ $data = json_encode($datas);
158
+
159
+ echo $data;
160
+
161
+ [{"id":"3","\u5546\u54c1":"\u6d88\u3057\u30b4\u30e0"}]
162
+
163
+ $ # ID=2とID=1を削除した結果
164
+
165
+ $ cat -n product.txt
166
+
167
+ 1 id=3,商品=消しゴム
168
+
169
+ ```
170
+
171
+
172
+
173
+ ----
174
+
175
+
176
+
1
177
  初めに `product.txt` から読み込んでいるからでは?
2
178
 
3
179
  質問記載のソースでは`product.txt`は書き換えませんよね。