php_lib.inc
8.32 KB
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
92
93
94
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
<?PHP
// =======指定した年月日から曜日を得るクラス=======
// 今日の年月日
// $yr = date('Y',time()); // 西暦年…'Y'指定で2001などと表示
// $mt = date('m',time()); // 月…'m'指定で02などと表示
// $dy = date('j',time()); // 日…'j'指定で25などと表示
// インスタンスの生成(コンストラクタの呼出し)
// $get = new GetWeek($yr,$mt,$dy); // 現在年月
// echo $get -> week_get(); //(関数を引数無しで呼び出す)
// プロパティの呼出し
// print("year = ".$get -> year."<br>\n");
// print("month = ".$get -> month."<br>\n");
// print("day = ".$get -> day."<br>\n");
class GetWeek{
// フィールド
var $year;
var $month;
var $day;
// コンストラクタ
function GetWeek($y, $m, $d) {
$this->year = $y;
$this->month = $m;
$this->day = $d;
}
// 関数
function week_get() {
if ($this->month <= 2) {
$this->year-1;
$this->month += 12;
}
// ツェラーの公式
$week_num = (($this->year + floor($this->year/4) - floor($this->year/100) + floor($this->year/400)+ floor((13*$this->month + 8)/5) + $this->day) % 7);
$week_logo = array('SUN','MON','TUE','WED','THU','FRI','SAT');
return $week_logo[$week_num];
}
}
// =======HTMLの始まりと終わり=======
// $top = new HtmlLogo;
// echo $top -> html_top($tl_name, $bg_color, $bg_image);
// $bot = new HtmlLogo;
// echo $bot -> html_bot();
class HtmlLogo{
// フィールド
var $t_name;
var $b_color;
var $b_gif;
// HTML_TOP
function html_top($tn, $bc, $bi) {
$this->t_name = $tn;
$this->b_color = $bc;
$this->b_gif = $bi;
print ("
<html>
<head>
<meta http-equiv=content-type content=\"text/html; charset=shift_jis\">
<title>$this->t_name</title>
</head>
<body background=\"$this->b_gif\" bgcolor=\"$this->b_color\">
");
}
// Html_Bot{
function html_bot() {
print ("
</body>
</html>
");
}
}
// =======閏年の判定=======
// $leap = new LeapYear;
// echo $leap -> leap_year($year);
class LeapYear{
var $year_l;
function leap_year($ly){
$this -> year_l = $ly;
if ($this -> year_l % 100) { // 100 で割り切れない
if ($this -> year_l % 4) { // 4 で割り切れない
return 0; // 平年
}
else {
return 1; // 閏年
}
}
else { // 100 で割り切れる
if ($this -> year_l % 400) { // 400 で割り切れない
return 0; // 平年
}
else { // 400 で割り切れる
if ($this -> year_l % 4000) { // 4000 で割り切れない
return 1; // 閏年
}
else { // 4000 で割り切れる
return 0; // 平年
}
}
}
}
}
// =======現在年月日の取得=======
// $date_g = new GetDate();
// echo $date_g -> get_date_ymd();
class GetDate{
// フィールド
var $nen;
var $tuki;
var $niti;
// コンストラクタ
function GetDate(){
$this -> nen = date('Y',time()); // 西暦年…'Y'指定で2001などと表示
$this -> tuki = date('m',time()); // 月…'m'指定で02などと表示
$this -> niti = date('d',time()); // 日…'d'指定で09などと表示
}
// 関数
function get_date_ymd(){
return ($this -> nen."/".$this -> tuki."/".$this -> niti);
}
}
// =======現在時刻の取得=======
// $time_g = new GetTime();
// echo $time_g -> get_time_jfb(); 現在の時:分:秒
// echo $time_g -> get_tuki_nissu(); 今月の日数
class GetTime{
// フィールド
var $ji;
var $fun;
var $byo;
var $nsu;
// コンストラクタ
function GetTime(){
$this -> ji = date('H',time()); // 時…'H'指定で01などと表示
$this -> fun = date('i',time()); // 分…'i'指定で02などと表示
$this -> byo = date('s',time()); // 秒…'s'指定で25などと表示
$this -> nsu = date('t',time()); // 月日数…'t'指定で31などと表示
}
// 関数
function get_time_jfb(){
return ($this -> ji.":".$this -> fun.":".$this -> byo);
}
function get_tuki_nissu(){
return $this -> nsu;
}
}
// =======ファイルオープン=======
// $flop = new FileOpen("file.txt","r"); // or "r+" …呼び出し書き込み(ファイルポインタ先頭)
// $fline = $flop -> file_open_ary(); // 配列 $flineへ
// $flop -> file_open(); // 一覧表示
class FileOpen{
// フィールド
var $f_name;
var $f_mode;
// コンストラクタ
function FileOpen($fname,$fmode){
$this -> f_name = $fname; // ファイル名
$this -> f_mode = $fmode; // モード
}
// 関数(プリント)
function file_open(){
if(file_exists($this -> f_name)){
$fp = fopen($this -> f_name,$this -> f_mode);
}else{
echo $this -> f_name."のファイルが見つかりません!<br>\n";
exit(0);
}
while(!feof($fp)){
echo fgets($fp,256)."<br>\n";
}
fclose($fp);
}
// 関数(配列格納)
function file_open_ary(){
if(file_exists($this -> f_name)){
return file($this -> f_name);
}else{
return "ファイルが見つかりません!\n";
exit(0);
}
}
}
// =======ファイル書込み=======
// $fwlop = new FileWrite("file2.txt","w","この文を書き込みます\n"); // or "r+" …呼び出し書き込み
// $fwlop -> file_write(); // ファイルへの書込み(後部から追加)
// $fwlop -> file_front(); // ファイルへの書込み(前部から追加)
// $fwlop -> file_suit(); // ファイルへの書込み(重ね書き)
class FileWrite{
// フィールド
var $fw_name;
var $fw_mode;
var $fw_data;
// コンストラクタ
function FileWrite($fwname,$fwmode,$fwdata){
$this -> fw_name = $fwname; // ファイル名
$this -> fw_mode = $fwmode; // モード
$this -> fw_data = $fwdata; // 書込みデータ
}
// 関数(プリント後部から追加)
function file_write(){
if(file_exists($this -> fw_name)){
$fwp = fopen($this -> fw_name,$this -> fw_mode);
}else{
echo $this -> fw_name."のファイルが見つかりません!<br>\n";
exit(0);
}
flock($fwp,2); // ファイルロック
fseek($fwp,0,SEEK_END); // ファイルポインタを終端にセット
fputs($fwp,$this -> fw_data); // ファイルポインタに書込む
flock($fwp,3); // ファイルロック解除
fclose($fwp);
}
// 関数(プリント前部から追加)
function file_front(){
if(file_exists($this -> fw_name)){
$fwf = fopen($this -> fw_name,$this -> fw_mode);
}else{
echo $this -> fw_name."のファイルが見つかりません!<br>\n";
exit(0);
}
flock($fwf,2); // ファイルロック
// fseek($fwf,0,SEEK_END); // ファイルポインタを終端にセット
rewind($fwf); // ポインタを先頭へ
fputs($fwf,$this -> fw_data); // ファイルポインタに書込む
flock($fwf,3); // ファイルロック解除
fclose($fwf);
}
// 関数(プリント重ね書き)
function file_suit(){
if(file_exists($this -> fw_name)){
$fws = fopen($this -> fw_name,$this -> fw_mode);
}else{
echo $this -> fw_name."のファイルが見つかりません!<br>\n";
exit(0);
}
flock($fws,2); // ファイルロック
fwrite($fws,$this -> fw_data); // ファイルの書込み
flock($fws,3); // ファイルロック解除
fclose($fws);
}
}
// =======カウンターUPクラス=======
// $counter = new GetCount($ct,$bearm); // オブジェクト($ct 増やす前のカウンタ値)($bearm カウンタ桁数(3〜10の範囲))
// echo $counter -> get_cnt_num(); // メソッド(桁合せして増えたカウント値)
// echo $counter -> new_cnt; // プロパティ(桁合せ無しで増えたカウント値)
class GetCount{
// フィールド
var $new_cnt;
var $bearm_v;
// コンストラクタ
function GetCount($num,$bm){
$num++; // カウンターを1個増やす
$this -> new_cnt = $num; // プロパティに代入する
$this -> bearm_v = $bm; // プロパティに代入する
}
// 関数
function get_cnt_num(){
$cnt_str = '0000000000'.$this -> new_cnt; // 文字列の連結
$str_rem = strlen($cnt_str)-$this -> bearm_v; // 文字列の長さを数え余分な文字数を得る
$cnt = substr($cnt_str,$str_rem,$this -> bearm_v); // 文字列の後部$bm桁を取出す
return ($cnt); // 値を返す
}
}
// =======POSTgreSQLデータベース接続=======
// $host_n=""; データベースホスト名(デフォルトはUnix domain socket)
// $db_n="fujikodb"; データベース名
// $dbc = new PgsDbase; クラス PgsDbase のインスタンス生成
// $conect = $dbc -> connect($host_n,$db_n); 関数 connect() へのアクセス
// =SQLの例= … data2 はテーブル名、column1〜column10 までのカラム
// @$back = pg_exec($conect, "select * from data2 where column2 = 1 and column3 ='uchi'"); 読出
// @$back = pg_exec($conect,"update data2 set oidno=$oid where column1 = '$idno'"); 変更
// @$back = pg_exec($conect,"insert into data2 values(column1,'column2','column3','column4','column5','column6','column7','column8',column9,column10)"); 追加
// @$back = pg_exec($conect,"delete from data2 where column1 < 100"); 削除
// $row = pg_numrows($back); レコード数
class PgsDbase{
// フィールド
var $host_name;
var $db_name;
// データベース接続の関数
function connect($hostname,$dbname) {
$this->host_name = $hostname;
$this->db_name = $dbname;
$conect_db = pg_connect($this->host_name,"",$this->db_name);
if (!$conect_db) {
return "データベース $this->db_name に接続できません。";
exit;
}else{
return $conect_db;
}
}
}
?>