トップページphp
135コメント48KB

まあ。ほとんどないとおもうが。。

■ このスレッドは過去ログ倉庫に格納されています
0001マチコ先生 NGNG
わがらねぇごどは、
おらにまかせろ!!
クソ質問から性の悩みまで
PHPに関するお問い合わせはここにきやがれ。
即効埋もれる自信はあるぞ。
0002マチコ先生 NGNG
速攻だ。。。
鬱だ。。
=======このスレは終了しました=====
0003名無しさん@お腹いっぱい。 NGNG
>>1
おいおい、どうしたんだ一体??
何があったの?
0004名無しさん@お腹いっぱい。 NGNG
欝だ
00051 NGNG
>3
速攻を即効と。。。
ああ、、、説明までしてしまったよ(TT)
サヨウナラ
0006名無しさん@お腹いっぱい。 NGNG
仮にもマチコ先生を名乗ったのなら「<? echo "イヤーン魔一珍具〜"; ?>」と
タオル1枚に任意のポーズで叫ぶべし。
0007名無しさん NGNG
初心者用スレがないので、ここで聞きます。(スレッドたてて叱られると困るので)
<INPUT TYPE="checkbox" NAME="pref[]" VALUE="1">北海道
から47個あります。
次のページで検索結果を表示させるのですが、そこでまた同じような
検索フォームも表示させて、前のページで選択したチェックボックスに
チェックを付けた状態で表示させたいのです。
こういう場合、どのようにすればよいのでしょうか。
今は、
if ($pref[1] !=""){
echo "<input type=checkbox name=\"pref[1]\" value=\"1\" checked >北海道";
} else {
echo "<input type=checkbox name=\"pref[1]\" value=\"1\">北海道";
}
と延々47個書いてます。
どう考えてもダサすぎると思うので。
0008ねたろ NGNG
$prefname = array("北海道","青森県", (以下省略));
for ($i = 0; $i < count($prefname); $i++) {
print("<input type=checkbox name=pref[$i] value=1");
if ($pref[$i] == 1) {
print(" checked");
}
print(">$prefname[$i]\n");
}

でどうよ。
0009ねたろ NGNG
インデントやり直し。スマソ。

$prefname = array("北海道","青森県", (以下省略));
for ($i = 0; $i < count($prefname); $i++) {
  print("<input type=checkbox name=pref[$i] value=1");
  if ($pref[$i] == 1) {
    print(" checked");
  }
  print(">$prefname[$i]\n");
}
00107 NGNG
>>9
ありがとうございました。
$prefname = array("","北海道","青森県", (以下省略));
for ($i = 1; $i < count($prefname); $i++) {
  print("<input type=checkbox name=pref[$i] value=$i");
  if ($pref[$i] == $i) {
    print(" checked");
  }
  print(">$prefname[$i]\n");
}
で思い通りにいきました。他の処理でも参考になりそうです。
0011ねたろ NGNG
>>10
こんな時間までお仕事ご苦労様です。
0012名無しさん@お腹いっぱい。 NGNG
わかってる人はこうします。可読性は落ちるが。
printfよりechoの方が早い。同じくforよりwhileの方が早い。
フォームで与える値はchecked/selectedをダイレクトに与えると
フォーム再表示時に吉。
あと、クオーテーション内で変数を展開させるのはご法度。
-----
$prefname = array("","北海道","青森県", (以下省略));
$i = 1;
while ( $i<=count($prefname) ) {
  echo "<input type=checkbox name=".$pref[$i]." value=chekced" ".$pref[$i].">;
  echo $prefname[$i]."\n";
  $i++;
}
00137 NGNG
>>12
whileでもやってみました。

>あと、クオーテーション内で変数を展開させるのはご法度。

これはどういう意味ですか?
0014ねたろ NGNG
>>13

print("Value is $hoge\n");
の用に、 ””のなかに変数書くこと。
僕は面倒だからよくやっちゃうけど
print("Value is " . $hoge . "\n")
とするのがいいのかもね。
ちなみにphp3ではクオーテーション内の変数は展開してくれるけど、
多次元の配列は展開してくれない
print("Value is $hoge[3].\n"); はオッケーだけど、。
print("value is $hoge[3][4]\n"); はだめだね。
0015名無しさん@お腹いっぱい。 NGNG
>>14
厨は逝ってよし。
${}
0016名無しさん@お腹いっぱい。 NGNG
押しつけがましいこと言わないでも
別に好みじゃねえの?
0017名無しさん@お腹いっぱい。 NGNG
純粋に好みの問題だ。だがな、速度は違うぞ。
どっちが速いか考えてみ。
0018名無しさん@お腹いっぱい。 NGNG
>>17
どっちが早いんですか? 
001912 NGNG
だから、echoで変数を展開しないのが一番早いんだってば。
printは関数、echoはコマンドでしょ?
内部のリソースの食いが全然違う。
パフォーマンスチューニングとはこういうもんだよ。
0020名無しさん@お腹いっぱい。 NGNG
echo "a" . $a ; がはやくて
print("a$a"; が遅いと言うことですね。

そんなにかわるもんですか?
002112 NGNG
個人でほそぼそやってるサイトならどっちでもいいけど、
1日1万ユーザー以上を捌くようなサイトなら、大違い。
0022名無しさん@お腹いっぱい。 NGNG
なるほどリン
0023名無しさん@お腹いっぱい。 NGNG
PHPで吐いたクッキーをJAVAスクリプトで取得すると日本語が化けるんだけど
なんででしょ?
0024名無しさん@お腹いっぱい。 NGNG
>21
<?
echo (time()."<br>");
for($cnt =1 ;$cnt <= 500000;$cnt++)
{echo ("a");}
echo ("<br>".time()."<br>");
for($cnt =1 ;$cnt <= 500000;$cnt++)
{print ("a");}
echo ("<br>".time()."<br>");
?>
で実験してらほとんどかわらなかったんんだけど・・・・・?
なお当方PHP4のmod_php4-4.0.3-moduleつかってます。

0025電動ナナシ NGNG
microtime() でどう?
time() だと秒単位だよね。

あと for と while とか(for が遅いってのは PHP/FI->PHP3 への移行
ドキュメントに書いてあったけど、Zend Engine になった時点でこの情報は
もう古いような・・)、echo "$a<br>\r" と echo $a . "<br>\r" を
比較したらどう?

今職場なので試せない・・・。
0026名無しさん@お腹いっぱい。 NGNG
>>24
for の速度計ってどうする。
echo だけ10万行書けよ
0027名無しさん@お腹いっぱい。 NGNG
>>23
JavaScriptでの日本語環境はウルトラ問題ありまくりだから
解決は大変だぞー。特にねすけは最低。4.5ぐらいから突如unicode
意識し始めてバグまみれ。
PHPだと鯖設定によりEUCで吐いてる可能性あるから php.ini を
疑ってみよ。
0028名無しさん@お腹いっぱい。 NGNG
>19
詳細きぼーん。
>24
>26
もっと使いやすいベンチマーク考えてん。
0029ねたろ NGNG
>>27
クッキー問題、小生も文字化け問題で、結局全部JavaScriptでかきました。

internal_encoding 、http_output ともに UTFにしても、化けました。
0030名無しさん@お腹いっぱい。 NGNG
>>28
厨は逝ってよし
0031ねたろ NGNG
>>25
それぞれ1万回ずつ、3セットやったらブラウザが死んでしまいました。
0032名無しさん NGNG
>>30
逝ってよしヴァカうざい
003312 NGNG
>>31
CGI版を作って、1行目にset_time_limit(0);と書いて試してみて。
ps auxでメモリ+CPUの負荷を見れば、どっちが軽いか分るはず。
0034print派 NGNG
>>12
PHPプログラム入門にはechoよりprintだと書いてあったんで
僕はprint派で逝っちゃいますね.
0035電動ナナシ NGNG
性能の確保が最重要事項でなければ、書きやすさを優先していいでしょ。

でも >>12 の前提となっているのは、性能が最重要事項であるような環境だと
思うぞ。そういうところでは、ほんのわずかな無駄ももったいないという話に
なる。なんでデータベースで永続的接続 (pConnect 系の関数で実現) なんて
機能が求められているか分かる?

# 本来はコネクションプーリングとかってのは TP モニタ等のミドルウェアの
 任務だったけど、その意味を理解して使っている人って今は減っているんだろうな・・。
 別にそれの良し悪しを問うわけではないよ。
003612 NGNG
>>35
でもさぁ、PHPのなかでpg_pconnectとか書いてるとなんか鬱になる。
「アプリケーションサーバがやって」って感じ。
Cacheだけじゃものたりないよねぇ〜。
電動ナナシさんはプロっぽいから、そこら辺は分ってるぽいけど。
0037名無しさん@お腹いっぱい。 NGNG
なんか文字列比較の仕様がおかしくない?
文字列先頭で一致すると0が返ってしまうのはまずいと思うんだけど。
0038名無しさん@お腹いっぱい。 NGNG
それはFAQ
0039名無しさん@お腹いっぱい。 NGNG
ここにもいたか、パフォーマンス厨房が(ワラ
0040名無しさん@お腹いっぱい。 NGNG
パフォーマンスもバカにできんぞ。
特にi-mode用鯖。
0041名無しさん@お腹いっぱい。 NGNG
■変数展開にかかる時間の考察

□環境
PHP4.04
Turbo Linux 6.1 Server
Pentium 500MHz

<?
&nbsp;&nbsp;$start = time();
&nbsp;&nbsp;$s = "";
&nbsp;&nbsp;for ($cnt = 1; $cnt <= 1000000; $cnt++) {
&nbsp;&nbsp;&nbsp;&nbsp;$s .= "a";
&nbsp;&nbsp;}
&nbsp;&nbsp;echo time() - $start . "<br>\n";
&nbsp;&nbsp;$start = time();
&nbsp;&nbsp;$s = "";
&nbsp;&nbsp;$a = "a";
&nbsp;&nbsp;for ($cnt = 1; $cnt <= 1000000; $cnt++) {
&nbsp;&nbsp;&nbsp;&nbsp;$s .= "$a";
&nbsp;&nbsp;}
&nbsp;&nbsp;echo time() - $start . "<br>\n";
?>

□結果
5
9

□考察
差が5sだとして、変数展開一回あたりの処理時間は、
5 / 1000000 = 0.000005 (5μsec)

□結論
俺はやっぱり気にせず、バリバリ変数展開を使う。
0042名無しさん@お腹いっぱい。 NGNG
俺の考察に、誰かケチつけてくれよ。
0043初期不良 NGNG
2倍も違うのね。
じゃあ変数展開は避けるようにしよ。
どっちにしろ変数のあとに文字が続くときとかあるし。
0044初期不良 NGNG
と言うか変数展開するかしないかを比較するなら、
$s .= "$a";
$s .= $a;
を比較するべきでは?
0045名無しさん@お腹いっぱい。 NGNG
■ echo とprint 及び変数展開に関する考察

□ 環境
PHP4.04
Turbo Linux 6.1 Server
Pentium 500MHz

□ 調査対象
$s = "DEF";
のとき、

(1) echo "ABCDEFGHI";
(2) echo "ABC" . $s . "GHI";
(3) print("ABCDEFGHI");
(4) print("ABC{$s}GHI");

のそれぞれを100万回ループで実行した時の時間を計測する。
ただし、出力は、ob_start() 〜 od_end_clean()で破棄する。

□ 結果
(1) 4027.88ms
(2) 7244.46ms
(3) 4184.21ms
(4) 9924.15ms

□ 考察
さらに、さまざまなパターンでの計測が必要だが、それぞれの
関数コールにかかる時間は数μsecであることを考えれば、書き
やすいものを選択するのが良いと思う。

それ以上の考察は、私にとって不要なのでしない。
0046初期不良 NGNG
>>45
いやだからオーダーが重要なんでは?
繰り返さない処理ならその通りだけど。
0047名無しさん@お腹いっぱい。 NGNG
>と言うか変数展開するかしないかを比較するなら、
>$s .= "$a";
>$s .= $a;
>を比較するべきでは?
$s .= "z$a";
$s .= "z".$a;
0048名無しさん@お腹いっぱい。 NGNG
>>46
オーダーとは、ページへの同時アクセス数のことでしょうか?
例えば、あるページにechoなりprintなりの出力系関数が
100個使われているとして、そこに同時アクセスが100あったと
します。
この場合に、echoを使っている場合とprintを使っている場合
に、レスポンスが大きく変わってくるという話ですか?

それは、いったい、どれくらいの違いがあると予想され、どうすれば
検証出来るとお考えですか?
0049名無しさん@お腹いっぱい。 NGNG
>>46
それとも、オーダーとは、同一ページ内で使われている出力系
関数の呼ばれる回数のことでしょうか?
005048 NGNG
最近ちょっと忙しくて、いろいろ試す時間がなかなか取れない
のですが、時間が出来たら、Siegeでストレステストをするつもりです。

# siege - An HTTP regression, stress testing and benchmarking application

もっと気の利いたストレステストツールを持ってる人がいたら、
それで試してくれるとうれしいんだけど。

ちなみに、私の予想は、「なにをやってもそれほど変わらない」です。
それほどというのは、10ms未満くらいの違い、と思っています。
まぁ、Siegeでそこまで測れるかどうかというのが問題ですね。
005148 NGNG
ちなみに、テストに使用したコードはこれ。
-- debug.inc -------------------------------
<?php
function printd($msg)
{
nbsp;nbsp;printf("<!-- %s -->\n", $msg);
}

class dbgTime {
nbsp;nbsp;var $s = "";

nbsp;nbsp;function dbgTime() {
nbspnbsp;nbsp;nbsp;$this->s = gettimeofday();
nbspnbsp;}

nbsp;nbsp;function reset() {
nbsp;nbsp;nbsp;nbsp;$this->s = gettimeofday();
nbsp;nbsp;}

nbsp;nbsp;function printDiff() {
nbsp;nbsp;nbsp;nbsp;$now = gettimeofday();
nbsp;nbsp;nbsp;nbsp;$diff = ($now[sec] * 1000 + $now[usec] / 1000) - ($this->s[sec] * 1000 + $this->s[usec] / 1000);
nbsp;nbsp;nbsp;nbsp;printd($diff);
nbsp;nbsp;}
}
?>

-- test.php -------------------------------
<?php
&nbsp;&nbsprequire("debug.inc");

&nbsp;&nbsp$times = 1000000;

&nbsp;&nbsp$s = "";
&nbsp;&nbsp$t = new dbgTime;
&nbsp;&nbspfor ($i = 0; $i < $times; $i++) {
&nbsp;&nbsp&nbsp;&nbsp// put test code here
&nbsp;&nbsp}
&nbsp;&nbsp$t->printDiff();

?>
005248 NGNG
あー、変換に失敗してる。
鬱氏。
0053名無しさん@お腹いっぱい。 NGNG
siege だって、プ。遅くて使い物にならんよ。子供のおもちゃ。
005448 NGNG
>>53
子供のおもちゃでもさ、何もやらないよりはましでしょ?
で、あなたは何を使ってるの?
0055名無しさん@お腹いっぱい。 NGNG
php3.0.15のmail関数は自動でヘッダとか本文をJISにエンコードしてくれたりしますか?
005655 NGNG
もち、国際化版ね
0057ねたろ NGNG
>>55
本文はなにも言わなくてもJISに変換してくれるほか、対応したヘッダをふかしてくれます。
ASCII
0058ねたろ NGNG
失礼、途中でポストしてしまいました。
ASCII文字以外がヘッダに含まれる場合は明示的にMIMEエンコードしてあげる必要があります。
0059名無しさん@お腹いっぱい。 NGNG
おっす!おら悟空(さぶー)

ところでみなさんはPHPでオブジェクト指向訃露倉民具死手魔須華?
わたしは地道に構造化プログラミングして増す世。
0060名無しさん@お腹いっぱい。 NGNG
>>59
OOもどき(class)はよく使いますよ。
でも、コンストラクタをオーバーロードできないのがいや。
あと、マンモス本なんかで、変数をオーバーライド(?)して、
「カスタマイズ」などと称するのがいや。
0061名無しさん@お腹いっぱい。 NGNG
classよくわかんねー
0062名無しさん NGNG
同じく、よくわかんねー。
マンモス本見ても意味わからん。
なんでこんなに理解力がないんだろうと思います。
0063電動ナナシ NGNG
>>60-62
オブジェクト指向的な書き方については以下のコラムが参考になるよ。
"Object Oriented Programming in PHP: The way to large PHP projects"
http://www.phpbuilder.com/columns/luis20000420.php3

クラス変数が定義できないとか、カプセル化が弱い(全部 Public!)とかいった
制限はちょっときついけどね。ちなみにクラスメソッドは
Class::Method()
で呼び出せるって知ってちょっとうれしい。ドキュメントになくって、Pear の
ソースコードを見ていて発見した。
0064名無しさん@お腹いっぱい。 NGNG
>>63
うーむ、マンモス本でアクセッサをほとんで(全然?)使ってない
というのも痛いが(つーか、OOP解ってないに、48000ペリカ)、
http://www.phpbuilder.com/columns/luis20000420.php3?page=5
もかなり痛いね。
オーバーロード位使わせろよ。
0065電動ナナシ NGNG
>>64
> http://www.phpbuilder.com/columns/luis20000420.php3?page=5
> もかなり痛いね。
あー、それは見ててなんだそりゃって思った。痛いねー。
でも PHP には型がないってのがすべての元凶じゃない?
これ以上は言語仕様の見直しの話になると思うよ。

あとマンモス本の著者はオブジェクト指向には全然詳しくない人たちでしょ?
というか彼らに限らず日本の PHP のリーダーの OO 度が凄く低いんだと思う。
サンプルコードはアクセサ以前に分析自体おかしいと思う(その話はまたそのうちに)。

例えば、Pear のソース見てると Factory 使ってうまく実装の詳細を抽象化してるのに
日本だと "PostgreSQL だとこう書け" レベルだからね。やっと PHPLib が日本でも
それなりに認知されてきたけど、開発は Pear ほど盛んじゃないし、Pear に吸収?
統合?なんて話が出るようなものを今から広める意図が理解できない。
0066超絶初心者 NGNG
プログラム板でも質問していたPHP歴1週間のドビギナーです。
半角文字と全角文字の判別をつけるプログラムが分かりません!
現在、マンモス本片手に格闘中です・・・
0067電動ナナシ NGNG
文字コード表見ればいい。

で、判別してどうするの?
判別する以外にもっといい機能があるかもしれないのに。
置換するなら strtr($string, "アイウエオ", "アイウエオ") とかね。
0068超絶初心者 NGNG
>67
レスありがとうございます。
判別して、「半角文字が入力されていたならエラー画面を表示する。
という風にしたいのです。
置き換えも必要だったので助かりました。
006964 NGNG
>>65
> あー、それは見ててなんだそりゃって思った。痛いねー。
「みてみて、これ。ほら、すごいでしょ」
などという痛い人たちのテクニックが、人口に膾炙しないことを祈る。

> でも PHP には型がないってのがすべての元凶じゃない?

型が違う場合のオーバーロードは望まないんだけど、
引数の個数によるオーバーロード位は実装してほしいなぁ。

> 例えば、Pear のソース見てると Factory 使ってうまく実装の詳細を抽象化してるのに

まだ、PHP暦10日くらいなので、「Pear」が何なのか(今書いてる時点では)
知りません(^^;
ちょい、調べてみますね。
007064 NGNG
ちょっとPEAEについてしらべたら、PerlのCPANのようなものだと
判明。で、日本PHPユーザ会のPHPLibとPEARに対する取り組み
(見解)などを調べてみようと思ったら、いきなり、

http://www.php.gr.jp/phplib
ページが見つかりません

ときたもんだ。やる気あるんかい!(ワラ
007164 NGNG
> PEAR
おぉ、このような便利(そう)なものがすでにあるとは!(^^;
# 既に、インストールされてたのね(^^;

しかも、PHPDocという便利そうなものも発見。
007264 NGNG
PHPDocで作成されたPEARのドキュメント群も発見。
http://phpdocu.sourceforge.net/pear-docs/

# memo for 俺
0073電動ナナシ NGNG
>>70
げ、本当だ。それ以前に広川さんのページより情報が古い時点でかなりやる気が
なさそうな気もする。JPUG ほどきちんと組織化する必要はないけど、だからと
いってあれじゃあなぁ。

>>71
PHPDoc は JavaDoc 互換という話だから、ドキュメント作成が楽になることを
期待したりして。

Zend Encoder とか使ってスクリプトのソースを見せない時代がくると
ドキュメントの質がとても重要になってくるから、PHP 使い込むなら慣れておいた
方がいいかもしれないね。
007464 NGNG
PHPDoc 3分クッキング(俺の環境でPEARのPHPDocを作る場合)

1. http://phpdocu.sourceforge.net/から最新のphpdoc-x.x.x.tar.gzをダウンロードする。

2. 適当なディレクトリに展開する。
$ cd /usr/local/src
$ tar xvzf hoge/phpdoc-0.1.4.tar.gz

3. コマンドラインphpが使えない場合は、HTTP DOCROOTにln -s する。
# ln -s /usr/local/src/phpdoc-0.1.4 /usr/local/apache/htdocs

以下、ブラウザで使う場合の説明
4. 適当なターゲットディレクトリを作成し、nobodyで書き込めるようにする。
# mkdir /usr/local/apache/htdocs/php/PEAR
# chown nobody:nobody /usr/local/apache/htdocs/php/PEAR

5. ブラウザでPHPDocの作成ページを開く
http://hoge/phpdoc-0.1.4/phpdoc.php

6. 適当なソース、ターゲットを入力
directory: /usr/local/lib/php
target: /usr/local/apache/htdocs/php/PEAR/

7. submitボタンをクリックしてちょい待つ。

8. 出来上がり。
http://hoge/php/PEAR/index.html にアクセス。

PHPDocの文法は知らん。
007564 NGNG
>> 65
> 例えば、Pear のソース見てると Factory 使ってうまく実装の詳細を抽象化してるのに
> 日本だと "PostgreSQL だとこう書け" レベルだからね。やっと PHPLib が日本でも
> それなりに認知されてきたけど、開発は Pear ほど盛んじゃないし、Pear に吸収?
> 統合?なんて話が出るようなものを今から広める意図が理解できない。

やっと、これが解りました&激しく同意。
0076電動ナナシ NGNG
PHPLIB へはこれでいける模様。
http://www.php.gr.jp/php/phplib/

サイト更新したときに忘れていたんだな、多分。
でもずっと誰も気づかないってことは、誰もアクセスしてないってことか?
寒いなー。
0077名無しさん@お腹いっぱい。 NGNG
なんでpostgreとかoracleとかで関数分かれているのでしょうか。
dbに関して抽象化された関数とかありませんか?
<自分でやれ、ってこと?
0078電動ナナシ NGNG
そのための Pear であり PHPLIB。
とりあえずソース眺めてみなさいな。
0079名無しさん@お腹いっぱい。 NGNG
>>78
PHPLIbなんですが、MySQLがデフォルトなんでそれを念頭に入れられた
サンプルを用意されて、MSSQLでは泣きそうになったり。

でもソースは凄くいい感じ。勉強になりますわ。
0080名無しさん@お腹いっぱい。 NGNG
phpでperlをSSIのように実行するほうほうをおしえてぇぇぇ

たとえば、アクセスログで
access.pl //アクセスログを環境変数とともに、ファイルに書き込む
をPHPで実行する場合h?

ssiだと、
<exec cmd"./access.pl">
でOKですが、PHPで
exec "./access.pl";
とすると、一応実行はされるのですが
環境変数等が記載されません。
タチケテェプロ
0081電動ナナシ NGNG
>>80
よく分からないけど(特に Perl)、exec/system だと HTTP 関連の
環境変数が渡されないみたいだね。

必要な変数を putenv() 使って渡せばいいみたい。
例えばこんな感じ。
putenv("REMOTE_ADDR=" . $HTTP_SERVER_VARS["REMOTE_ADDR"]);
exec "./access.pl"
0082ガシガシ2001/04/27(金) 17:39ID:vZWj/rt6
以下のスクリプトでファイルの先頭に書き込んでるつもりなんですが、
どうも上手くいきません。rewind()をつかっても駄目でした。
どうすればいいんでしょう。
--
<?
$fp = fopen("txt", "a+");
$date = date("Y/m/d H:i:s");

fseek($fp, 0);
fputs($fp, "$date\n");

fclose($fp);
?>
0083電動ナナシ2001/04/30(月) 06:28ID:???
>>82
ん?それで書けたけど。

Permission の問題じゃないの?
httpd が動作しているユーザーに書き込み権限はある?
0084まじまじ2001/05/01(火) 00:43ID:m6M39drc
PHPLIBの使い方がわかんない厨房です。
Webをいろいろ探したんですが、やっぱよくわがんねっす。
どうか厨房でもわかるように教えてけろ
0085電動ナナシ2001/05/01(火) 04:58ID:???
今から覚えるなら PHP4 と Pear の方がいいと思うけどね。Pear の方が
ユーザーも機能もかなり増えてきているから。で、この辺読んでみたら?
・データベース抽象化
  http://www.phpbuilder.com/columns/sean20000712.php3
・PHP 拡張拡張リポジトリ (PEAR)
  http://www.phpbuilder.com/columns/allan20010115.php3

PHP3 なら PHPLIB しかないね。で、この辺読んでみたら?
・データベース抽象化と PHPLIB
  http://www.phpbuilder.com/columns/sean20000712.php3
・PHPLIB による認証及びセッション管理
  http://www.phpbuilder.com/columns/chad19990414.php3

英文だけど、コード見れば何をしているかだいたい想像つくと思う。
0086電動ナナシ2001/05/01(火) 05:33ID:???
>>82
あ、ファイルの先頭に追加したいってことか。確かにあれじゃそうはなって
くれないね。

ということで、これでどうかな。
<?php
$date = date("Y/m/d H:i:s");
$fpr = fopen("test.txt", "r");
$fpw = fopen("~test.txt", "a+");
$r = fseek($fpw, 0, SEEK_SET);
fputs($fpw, $date . "\n");
while (!feof($fpr)) {
  $buf = fgets($fpr, 8192);
  fputs($fpw, $buf);
}
fclose($fpw);
fclose($fpr);
unlink("test.txt");
rename("~test.txt", "test.txt");
?>
0087ガシガシ2001/05/01(火) 09:46ID:KK6/m1p2
>>86
これでできましたが、テンプファイルに書き込み、コピーというやり方になって
しまうみたいですね。(他のスクリプトもそうだった)
どうもありがとうございます。

0088電動ナナシ2001/05/01(火) 17:33ID:???
>>87
ロックはきちんとしようね。
0089名無しさん@お腹いっぱい。2001/05/01(火) 17:55ID:???
>86
別に↓のでいいと思うが。
------------------------------
$fp = fopen('log.log','r');
while($log[]=fgets($fp,8192){}
fclose($fp);
$fp = fopen('log.log','w');
fputs($fp,date("Y/m/d H:i:s")."\n");
$i=0;
while($log[$i]){
fputs($fp,$log[$i]);
$i++;
}
fclose($fp);
0090電動ナナシ2001/05/01(火) 18:30ID:???
>>89
それも考えたけど
fclose($fp);
  :
fclose($fp);
の間でエラーが出て処理が中断されたらファイルが壊れてまずいかなーと
思ったので・・。上のバージョンなら処理が中断されても元ファイルは
無事で残る。
0091名無しさん@お腹いっぱい。2001/05/11(金) 23:38ID:NVqhj/3Y
正規表現の質問なんですがお願いします。
[URL yahoo]といれたとき、
<A HREF=”URL”>yahoo</A>
となってほしいんですが・・

いまは、
‘¥(¥[http:[^ [¥]]*¥] \([^¥]¥[]*¥)\]'
とやってみたんですがうまくいきません・・・
0092名無しさん@お腹いっぱい。2001/05/12(土) 00:10ID:???
全角だからじゃない?
0093T女の竹田2001/05/12(土) 13:44ID:???
うーん、よくわからないけど、
s/\[(http:\/\/[^\s]+)\s+([^\]]+)\]/<A href=\"$1\">$2<\/A>/;
こういうことかな?
0094912001/05/12(土) 14:36ID:VCpRGYtI
>>92
うまく表示されないかなーとおもい全角にしたんですが・・・
>>93
$fom = "s/\[(http:\/\/[^\s]+)\s+([^\]]+)\]/";
$rep = "/<A href=\"$1\">$2<\/A>/";
eregi_replace( $fom , $rep , $str );
ということでしょうか?。うまくいきません・・・

エディッターでやってみるとうまくいくんですが。
そこいらの言語よりよっぽどむずい!!(正規表現)
0095T女の竹田2001/05/12(土) 14:49ID:???
はぅっ
思わずPerlのことだと勘違いして答えてしまった…PHPのことは
よくわからないです、ごめんなさぁぁい(大汗
0096あんてぃーく2001/05/12(土) 15:28ID:J8qUjUM6
<?php
$str = "あいうえお[http://www.yahoo.co.jp/ Yahoo]かきくけこ";

$str = preg_replace("/\[(http:\/\/[\-_\.!~*'()a-zA-Z0-9;\/?:\@&=+\$%#]+) ([^\]]+)]/", "<a href=\"\\1\">\\2</a>", $str);

echo $str;
?>
------------------------------------------------
ってな感じでどう?
PHP3.0.9以上でね。
0097912001/05/12(土) 17:43ID:VCpRGYtI
>>95
いえいえありがとうございます^^
>>96
自宅サーバーで思ったとうりになったことを確認したんですが、
借りているサーバーが、PHP3.06なんです^^;;;(ふるすぎ・・)
perlの正規表現となにが違うのか調べてみます。
ありがとうございました。
0098電動ナナシ2001/05/13(日) 00:36ID:???
それセキュリティホールがあるから最新のやつにバージョン上げるように管理者に
言ったほうがいいよ。
0099962001/05/13(日) 04:34ID:???
同意。その方が双方幸せになれる。
0100912001/05/13(日) 12:33ID:E.Jy.HWU
>>98
うは、そうなんですか。
>>99
ですね。
0101名無しさん@お腹いっぱい。2001/08/17(金) 00:20ID:???
age
0102age02/10/31 01:10ID:???
age
0103山崎渉03/01/15 13:47ID:???
(^^)
0104山崎渉03/03/13 17:32ID:???
(^^)
0105山崎渉03/04/17 12:19ID:???
(^^)
0106山崎渉03/04/20 06:15ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0107山崎渉03/05/22 02:16ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
0108山崎渉03/05/28 17:13ID:???
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0109山崎 渉03/07/15 11:21ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0110山崎 渉03/08/02 02:31ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0111ぼるじょあ ◆ySd1dMH5Gk 03/08/02 05:06ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
0112山崎 渉03/08/15 23:18ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0113nobodyさん04/09/19 13:53:47ID:???
&hearts,
0114nobodyさん04/09/19 13:54:18ID:???
&hearts.
0115nobodyさん04/09/19 20:18:43ID:???
&hearts;
0116nobodyさん2007/07/07(土) 17:42:01ID:???
0117nobodyさん2008/06/11(水) 13:31:41ID:???
0118nobodyさん2008/06/11(水) 13:32:12ID:???
?:
0119nobodyさん2008/06/11(水) 13:36:09ID:???
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?
? ? ? ? (‘A‘) ? ? ? ? なんだか無償にこぴぺしたくなる
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ナノに初心者にはこぴぺできない
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?


0120nobodyさん2008/06/11(水) 13:36:47ID:???
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?
? ? ? ? (‘A‘) ? ? ? ? なんだか無償にこぴぺしたくなる
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ナノに初心者にはこぴぺできない
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?


?:

0121nobodyさん2008/07/31(木) 04:47:29ID:81iVIGYF
それにしても、このスレが立って以来
ウェブの世界もずいぶん変わったな。
0122nobodyさん2008/08/01(金) 17:27:06ID:BQiohXak
PHPに関する性の悩みってどんな質問があるんだ?
0123nobodyさん2010/01/31(日) 11:56:14ID:lI7WB/Pn
>>122
性の悩む
0124nobodyさん2011/09/25(日) 01:29:16.66ID:???
すげーw
0125nobodyさん2011/09/25(日) 10:33:45.69ID:???
まだあったのか
それにしてもPHPって息長いよな。
0126nobodyさん2011/10/01(土) 00:58:07.49ID:???
ほとんどない
0127nobodyさん2011/12/11(日) 23:26:49.78ID:???
小人の逸話はコロボックル伝説が最高傑作
アリエッティはコロボックルのパクリ
ただ一寸法師は別格
0128nobodyさん2011/12/19(月) 01:36:44.77ID:???
てst
0129nobodyさん2011/12/20(火) 20:47:38.99ID:???
ないないw
0130nobodyさん2012/01/13(金) 20:51:16.78ID:???
生存確認
0131電脳プリオン 忍法帖【Lv=40,xxxPT】(1+0:8) 【32.7m】 2013/05/06(月) 14:45:34.69ID:????PLT(12080)
  ∧_∧
  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>106
            / ←>>110
0132nobodyさん2013/08/23(金) NY:AN:NY.ANID:0LWPgBxm
http://rfi.a.la9.jp/hn203/kb/kb-main3.html
 
 http://homepage2.nifty.com/e-d-a/hn203/ansec/animal.html
0133nobodyさん2014/01/14(火) 14:10:14.09ID:???
まあ。ほとんどないとおもうが。。
0134nobodyさん2014/03/06(木) 13:58:28.63ID:???
0135nobodyさん2014/05/29(木) 14:51:13.17ID:???
ぬるぽ
■ このスレッドは過去ログ倉庫に格納されています