teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

補足追記

2019/11/27 04:51

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  `cache: false`
5
5
 
6
6
  ちなみにphp側は質問記載のコードで問題なく動作しました。
7
-  ※一応補足、前段の質問者さんの質問([https://teratail.com/questions/225750](https://teratail.com/questions/225750))への回答を訂正していますので確認ください。
7
+  ※nikuniku12さんへ。一応補足、前段の質問者さん([https://teratail.com/users/dog50](https://teratail.com/users/dog50))の質問([https://teratail.com/questions/225750](https://teratail.com/questions/225750))への回答を訂正していますので確認ください。
8
8
 
9
9
  ```
10
10
  $ cat -n product.txt

1

追記

2019/11/27 04:51

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -1,3 +1,91 @@
1
+ 質問のコードがいつの間にか編集されたので追記
2
+ ajaxでのリクエストでキャッシュ見ているのかもしれません。webサーバーのアクセスログを確認してリクエストが来ているか確認ください。
3
+ また、キャッシュを見ていた場合、ajaxでのリクエスト時にキャッシュ無効の指定をしてみてください。
4
+ `cache: false`
5
+
6
+ ちなみにphp側は質問記載のコードで問題なく動作しました。
7
+  ※一応補足、前段の質問者さんの質問([https://teratail.com/questions/225750](https://teratail.com/questions/225750))への回答を訂正していますので確認ください。
8
+
9
+ ```
10
+ $ cat -n product.txt
11
+ 1 id=1,商品=ペン
12
+ 2 id=2,商品=イス
13
+ 3 id=3,商品=消しゴム
14
+ $ # 1回目実行 ID=2を削除
15
+ $ php
16
+ <?php
17
+ $ID = 2;
18
+ $filearr = file('product.txt');
19
+ $newLines = array();
20
+
21
+ foreach ($filearr as $no => $val) {
22
+ $cols = explode(",", $val);
23
+ $keyval = explode("=", $cols[0]);
24
+
25
+ if ($keyval[1] == $ID) {
26
+ continue;
27
+ } else {
28
+ $newLines[] = $val;
29
+ }
30
+ }
31
+ $fp = fopen("product.txt", "w");
32
+ fwrite($fp, implode("\r", $newLines));
33
+ fclose($fp);
34
+
35
+ $fp=fopen("product.txt","r");
36
+ while(($data=fgetcsv($fp,1024))!==false){
37
+ $tmp=&$datas[];
38
+ foreach($data as $x){
39
+ $y=explode("=",$x);
40
+ $tmp[trim($y[0])]=trim($y[1]);
41
+ }
42
+ }
43
+ unset($tmp);
44
+ fclose($fp);
45
+ $data = json_encode($datas);
46
+ echo $data;
47
+ [{"id":"1","\u5546\u54c1":"\u30da\u30f3"},{"id":"3","\u5546\u54c1":"\u6d88\u3057\u30b4\u30e0"}]
48
+ $ # 2回目実行 ID=1を削除
49
+ $ php
50
+ <?php
51
+ $ID = 1;
52
+ $filearr = file('product.txt');
53
+ $newLines = array();
54
+
55
+ foreach ($filearr as $no => $val) {
56
+ $cols = explode(",", $val);
57
+ $keyval = explode("=", $cols[0]);
58
+
59
+ if ($keyval[1] == $ID) {
60
+ continue;
61
+ } else {
62
+ $newLines[] = $val;
63
+ }
64
+ }
65
+ $fp = fopen("product.txt", "w");
66
+ fwrite($fp, implode("\r", $newLines));
67
+ fclose($fp);
68
+
69
+ $fp=fopen("product.txt","r");
70
+ while(($data=fgetcsv($fp,1024))!==false){
71
+ $tmp=&$datas[];
72
+ foreach($data as $x){
73
+ $y=explode("=",$x);
74
+ $tmp[trim($y[0])]=trim($y[1]);
75
+ }
76
+ }
77
+ unset($tmp);
78
+ fclose($fp);
79
+ $data = json_encode($datas);
80
+ echo $data;
81
+ [{"id":"3","\u5546\u54c1":"\u6d88\u3057\u30b4\u30e0"}]
82
+ $ # ID=2とID=1を削除した結果
83
+ $ cat -n product.txt
84
+ 1 id=3,商品=消しゴム
85
+ ```
86
+
87
+ ----
88
+
1
89
  初めに `product.txt` から読み込んでいるからでは?
2
90
  質問記載のソースでは`product.txt`は書き換えませんよね。
3
91