回答編集履歴

1

追加

2016/08/17 03:34

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -23,3 +23,69 @@
23
23
 
24
24
 
25
25
  ではいかがでしょうか?
26
+
27
+
28
+
29
+
30
+
31
+ ファイルの書込みと読込みの処理を以下のプログラムにてテストをしました。(Linux、php、CentOS環境)
32
+
33
+
34
+
35
+ ```php
36
+
37
+ <?php>
38
+
39
+ $file = 'sample3.txt'; //カウント数を記録するファイル
40
+
41
+ $fp = fopen($file,'r+'); //ファイル読み込み
42
+
43
+ $length = 9; //文字列の桁数
44
+
45
+ if($fp){
46
+
47
+ $count = fgets($fp,$length); //ファイルから文字列取得
48
+
49
+
50
+
51
+ echo "count:$count\n";
52
+
53
+ $count++;
54
+
55
+
56
+
57
+ rewind($fp); //ファイルポインタの位置を先頭に戻す。
58
+
59
+ fwrite($fp, sprintf("%08d",$count)); //ファイルにカウント数を書き込み
60
+
61
+ flock($fp, LOCK_UN);//ファイルをロック
62
+
63
+ }
64
+
65
+ fclose($fp);
66
+
67
+ ```
68
+
69
+
70
+
71
+ 結果4回目です。 
72
+
73
+ [242@server test]$ cat sample3.txt
74
+
75
+ 00000004
76
+
77
+
78
+
79
+ 9バイト目は改行の様です。
80
+
81
+ hexdump -c sample3.txt
82
+
83
+ 0000000 0 0 0 0 0 0 0 4 \n
84
+
85
+ 0000009
86
+
87
+
88
+
89
+
90
+
91
+