« 2005年10月 | メイン | 2006年01月 »

2005年11月21日

ファイルの読み込み

$fp = fopen ("/home/logs/sh/yomu.txt",r);
$line = fgets($fp);
print_r($line);
$line = fgets($fp);
print_r($line);
$line = fgets($fp);
print_r($line);
$line = fgets($fp);
print_r($line);
$line = fgets($fp);
print_r($line);
$line = fgets($fp);
print_r($line);
exit;

fgetsするたびに 改行もしくはEOFまでファイルポインタが移動

すると次fgetsするとそこから読まれる。

なのでファイル全部を配列に入れたければ以下のような感じ

$fp = fopen ("file",r);
while (!FEof ($fp)){
$files[] = fgets($fp);
}


全体読み込むには
$line = file('/home/hoge/list');
で $lineに配列として読み込めるが この場合ファイルハンドルは関係ないらしい。

投稿者 muuming : 20:12 | コメント (0)

2005年11月17日

文字列の置換

str_replace("置換対象文字列","置換後の文字列","最初の文字列");


置換対象 置換後の文字列 最初の文字列とも配列にする事が可能

$chikan = array( "<",">");
$chikan_go = array( ">","<");

str_replace("$chikan","$chikan_go","最初の文字列");

最初の文字列の中の<>が入れ替わるかたちにできます。

投稿者 muuming : 14:23 | コメント (0)

2005年11月15日

date の使い方

こげな感じ

date (フォーマット,タイムスタンプ);
だけど 今の時刻だったらタイムスタンプはいらね。

// Prints something like: Wednesday
echo date("l");
print "
";

// Prints something like: Wednesday 15th of January 2003 05:51:38 AM
echo date("l dS of F Y h:i:s A");
print "
";
// Prints: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
print "
";
?>

 以下フォーマット関係
format character 説明 戻り値の例
a 午前または午後(小文字) am または pm
A 午前または午後(大文字) AM または PM
B Swatch インターネット時間 000 から 999
d 日。二桁の数字(先頭にゼロがつく場合も) 01 から 31
D 曜日。3文字のテキスト形式。 Mon から Sun
F 月。フルスペルの文字。 January から December
g 時。12時間単位。先頭にゼロを付けない。 1 から 12
G 時。24時間単位。先頭にゼロを付けない。 0 から 23
h 時。数字。12 時間単位。 01 から 12
H 時。数字。24 時間単位。 00 から 23
i 分。先頭にゼロをつける。 00 to 59
I (大文字の i) サマータイム中か否か 1ならサマータイム中。 0ならそうではない。
j 日。先頭にゼロをつけない。 1 から 31
l (小文字の 'L') 曜日。フルスペル形式。 Sunday から Saturday
L 閏年であるかどうかを表す論理値。 1なら閏年。0なら閏年ではない。
m 月。数字。先頭にゼロをつける。 01 から 12
M 月。3文字形式。 Jan から Dec
n 月。数字。先頭にゼロをつけない。 1 から 12
O グリニッジ標準時(GMT)との時間差 Example: +0200
r RFC 822 フォーマットされた日付 例: Thu, 21 Dec 2000 16:01:07 +0200
s 秒。先頭にゼロをつける。 00 から 59
S 英語形式の序数を表すサフィックス。2 文字。 st, nd, rd または th。 jと一緒に使用する ことができる。
t 指定した月の日数。 28 から 31
T このマシーンのタイムゾーンの設定。 例: EST, MDT ...
U Unix 時(1970年1月1日0時0分0秒)からの秒数 time()も参照
w 曜日。数値。 0 (日曜)から 6 (土曜)
W ISO-8601 月曜日に始まる年単位の週番号 (PHP 4.1.0で追加) 例: 42 (1年の第42週目)
Y 年。4 桁の数字。 例: 1999または2003
y 年。2 桁の数字。 例: 99 または 03
z 年間の通算日。数字。 0 から 366
Z タイムゾーンのオフセット秒数。 UTCの西側のタイムゾーン用のオフセットは常に負です。そして、 UTCの東側のオフセットは常に正です。 -43200 から 43200


2005-11-13 13:05:02 これは date ("Y-m-d H:i:s"); こんななりますね

投稿者 muuming : 20:13 | コメント (0)

2005年11月11日

isError

PEAR.php の class PEAR を継承していたら使えるらしい。
DB.phpも継承しているので使っている。
if ( isError $this-> connect ()){

}

てな感じ?

投稿者 muuming : 17:41 | コメント (0)

インサート文

insert into table名 (カラム,カラム,カラム) values ('値','値','値');

全部のカラムに値をいれるなら
insert into table名 values ('値','値','値'); と省略もできる

投稿者 muuming : 16:32 | コメント (0)

2005年11月09日

PHP 比較演算子

PHP 比較演算子

例 名前 結果
$a == $b 等しい $a が $b に等しい時にTRUE。
$a === $b 等しい $a が $b に等しく同じ型でである場合に TRUE。(PHP 4で導入)
$a != $b 等しくない $a が $b に等しくない場合にTRUE。
$a <> $b 等しくない $aが$bに等しくない場合にTRUE
$a !== $b 等しくない $a が $b と等しくないか、同じ型でない場合に TRUE。(PHP 4で導入)
$a < $b より少ない $a が $b より少ない時にTRUE。
$a > $b より多い $a が $b より多い時にTRUE。
$a <= $b より少ないか等しい $a が $b より少ないか等しい時にTRUE。
$a >= $b より多いか等しい $a が $b より多いか等しい時にTRUE。

どうやら文字列 数値の区別はないらしい

投稿者 muuming : 17:14 | コメント (0)

isset

isset -- 変数がセットされているかどうかを検査

int isset ( mixed var )
var が存在すればTRUE、 そうでなければFALSEを返します。

if (isset ( $var )){
処理
}

投稿者 muuming : 17:11 | コメント (0)

apacheインストールエラー

parse error before "KSSL_CTX"

おそらくRedHat Linux9の kerberos のヘッダーが
インストールされている場所が問題だと思います。

#include
となっているところを
#include "/usr/kerberos/include/krb5.h"
のように変更すれば良いと思います。

もしくはいっそ/usr/kerberos/include/ 以下のファイルを
/usr/include/ へコピーするかシンボリックリンクを張った方が
早いかもしれません。

投稿者 muuming : 15:47 | コメント (0)

どのrpmパッケージにこのコマンドは含まれる?

あるコマンドの機能を提供しているのがどのパッケージかを調べるには --whatprovides を使います.


$ rpm -q --whatprovides /usr/bin/strip
binutils-2.9.5.0.22-6

投稿者 muuming : 14:24 | コメント (0)

postgres インストール

なんやかんや足りないようで 色々入れたのでメモ

./configure

readline が ありませんといわれるも
readline readline-devel とも入っている。

色々見てたら
ncurses-devel が足りないのであろうことが判明

いれてみたら通りますた。

投稿者 muuming : 14:13 | コメント (0)

2005年11月07日

VMware 特有 繋がらない場合

VMにてネットワークに繋がらない場合
/etc/sysconfig/networking/devices/ifcfg-eth[n]


check_link_down () {
return 1;
}

投稿者 muuming : 13:28 | コメント (2)

接続できない!ポートが開いてないぞ!

postgresインスコしたままでは外部向けポートが開いていない場合がありまっする。

そんなときは以下見てみよう
postgres.conf

#tcpip_socket = false

tcpip_socket = true

明示的にOPENしてあげないと外部からの接続は受け付けないもより。

接続場所の限定は pg_hba.conf

# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD

local all all trust
# IPv4-style local connections:
host all all 127.0.0.1 255.255.255.255 trust


ここらへんいじりませう。

投稿者 muuming : 12:40 | コメント (0)

vpopmail についてのコマンド解説ぺーじ

http://qmailwiki.inter7.com/Vpopmail

投稿者 muuming : 10:40 | コメント (0)

2005年11月01日

配列のキーが無い

$arr[] = $num."hoge";
$arr[] = $num1."hoge";
$arr[] = $num2."hoge";

配列のキーが無いんだけど・・・・
$arr[1] = $num."hoge";
$arr[2] = $num1."hoge";
$arr[3] = $num2."hoge";

と連番ではいるんだそうな

投稿者 muuming : 16:17 | コメント (0)

変数の変な代入 IFつき

$val .= ($val ? "\t" : "").$hoge;

つまり↓

if ( $val ne "" ){
$val = $val."\t".$hoge;
}else{
$val = $val.$hoge
}

----------------------------------------------------------------

$val = (($val ne "aaa") ? "\t" : "");

つまり↓

if ( $val ne "aaa" ){
$val = "\t";
}else{
$val = "";
}
-------------------------------------------------------------------

投稿者 muuming : 15:19 | コメント (0)

newusers

echo "$USER:$PASS::::/home/$USER/$DIR:/bin/false" | /usr/sbin/newusers

対話式じゃなくてもユーザー追加できる!

投稿者 muuming : 11:35 | コメント (0)

newusers

echo "$USER:$PASS::::/home/$USER/$DIR:/bin/false" | /usr/sbin/newusers

対話式じゃなくてもユーザー追加できる!パスワードも一気に設定

投稿者 muuming : 11:35 | コメント (0)