トップページ⇒php
1001コメント334KB

【PHP】くだらねぇ質問はここに書き込みやがれpart5

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/04/30(土) 00:12:53ID:OJfc9xBu
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
0051nobodyさん2005/05/01(日) 01:43:18ID:???
ksortとは盲点でした!ありがとうございます!
0052nobodyさん2005/05/01(日) 05:37:01ID:???
1<>Sage
2<>Sage
3<>Sage
4<>Sage
5<>Sage
0053nobodyさん2005/05/01(日) 08:18:04ID:qz5EMJ99
このファイルがでかくて消したいんですが、javaの何につかってるんですか?
C:\Program Files\Java\j2re1.4.2_02\lib\rt.jar
消しても大丈夫ですか?
0054nobodyさん2005/05/01(日) 08:21:24ID:???
>>53
問題無いよ。
そのファイルが無くてもOSが動かないとかそういった事は無いから。
0055nobodyさん2005/05/01(日) 10:41:37ID:???
<b>H</b>yper<b>T</b>ext<b>M</b>arkup<b>L</b>anguage

上の文字列から<b>〜</b>で囲まれた部分だけを探したい(上の文字列から HTML だけを取り出したい)のですが、方法が全く思いつかず・・・。
どうすればいいでしょうか。ご教授ください。
0056nobodyさん2005/05/01(日) 10:49:54ID:???
正規表現
0057nobodyさん2005/05/01(日) 18:45:14ID:???
$nukidasita = preg_replace("/<b>(moji)</b>/","\\1",$mojiretu);
0058nobodyさん2005/05/01(日) 20:38:52ID:???
phpマニュアル更新が滞ってると思ったら
php5になってなんか新しい方式に変えたらしいね

けどスキン対応とかぶっちゃけ要らんからw
0059nobodyさん2005/05/01(日) 22:47:15ID:???

送信ボタンを押すと特定の情報が次のページに渡され確認表示、
また別のページに飛んでそこから送信ボタンを押すと情報(最初の情報とname値が同じ)が
確認表示のページに渡され、最初の情報と2つ目の情報がともに確認画面に表示される。

そして確認画面の内容が正しければ送信ボタンを押して蓄積されたデータを送れるようなページを作成しています。

同じname値($book)を蓄積させるため下記のような記述を用いているのですが、
蓄積される情報の間を「,」でうまく区切る方法がわかりません。

確認画面からデータを送る際、どうしても「,」で区切らなければならないのですが、
どのようにしたら「,」で区切ることができるでしょうか。

-------------------------------
$book2 = $book;
$book3 .= $book2;

echo "<FORM ACTION='****.html' METHOD=POST>\n";
echo "<INPUT TYPE=HIDDEN NAME=books VALUE='$book3'>\n";
-------------------------------
↑ここの$book3の情報を「****,****,****」という形にしたいのです。
-------------------------------
0060nobodyさんNGNG
配列に入れてimplode()じゃだめなの?
0061nobodyさん2005/05/01(日) 23:28:40ID:???
>>59
ショッピングバスケットのようなものを作っているのかと予想してみる。
だとすると・・・・そのやり方、なんか違うと思うぞ。

まぁ、どうしてもってなんら、

$book3 .= ',' . $book2;
か
$book3 .= ",{$book2}";
だな


でも、きっと根本的に何かが違っていると思うぞ。
0062nobodyさん2005/05/02(月) 10:38:28ID:zPNJQI1N
PHPで
Singletonの基底クラスを作ることは出来ないのでしょうか?
基底クラスから子クラスのクラス名が分かれば出来るのですが…
0063nobodyさん2005/05/02(月) 13:05:41ID:???
rmdirでディレクトリの中にファイルがあっても削除出来る方法はないのでしょうか?
0064nobodyさん2005/05/02(月) 13:42:51ID:???
>>63
(PHPの)rmdirはOSのrmdir(関数というよりOSのapiやシステムコール)を呼び出す。
こいつらには、空のディレクトリを消す機能しかない。
従って phpのrmdirでは「空のディレクトリを消す」機能しかないという事になる。
ディレクトリ関数+ファイルシステム関数を使ってファイルの存在チェック及び削除をしてから、
ディレクトリrmdirを使うしかないやね。
(system()系の関数を使ってOSのコマンドを使うつー手もあるが。)
0065nobodyさん2005/05/02(月) 14:16:07ID:v4+ywBHr
スレ違いだったらすみません。

ブログツール(php)を自前の鯖にインストールするのはいいんですが、
やめたい時ってアンインストールする必要あるんですか?
ただファイルを消すだけでOKですか?
0066nobodyさん2005/05/02(月) 21:25:22ID:???
インストールってのがスクリプトを置くだけだったら消すだけでいいと思うけど
データベースとか使ってるブログだったらデータベースもきちんと消そう
0067nobodyさん2005/05/02(月) 23:26:25ID:LLdi1lXW
index.php
tempディレクトリ
という構成で、index.phpからsessionファイルをtemp内に保存するように設定したいですが、
ローカルではちゃんと動くもののレンサバ上でうまくいきません。

session_save_path("temp");
session_start();
$_SESSION["hoge"] = "foo";

var_dump($_SESSION["hoge"]);

とするとちゃんとfooが出力され、session_startの返り値を見てもtrueとなっているので
セッション機能自体はうまく動いているようなのですが、tempディレクトリ内を確認しても
tempファイルが作成されません。
ini_get()するとsession_save_path()で指定したディレクトリになったいるのに
php.iniで設定されたパス上に保存されているようです。
何が原因と考えられるでしょうか?
0068nobodyさん2005/05/03(火) 00:05:24ID:???
ヒント:tempファイルのパーミッション
0069nobodyさん2005/05/03(火) 00:17:01ID:???
bool session_start ( void )
〜(略)〜
この関数は常に TRUE を返します。
-> 読んでの通り。

セッション変数: $_SESSION
〜(略)〜
これは'スーパーグローバル'又は自動グローバルな変数です。
-> セッションの利用可・不可に関係なくvar_dumpできる。
0070nobodyさん2005/05/03(火) 00:55:41ID:???
ヒント:
$dh=opendir("temp");
while(($file=readdir($dh))!==false) print "$file<br>";
0071nobodyさん2005/05/03(火) 01:10:50ID:???
> tempディレクトリ内を確認しても
ヒント:確認できていなかった。
0072672005/05/03(火) 02:45:34ID:???
>>68-71
ありがとうございます。

if (!isset($_SESSION['count'])) {

$_SESSION['count'] = 0;

} else {

$_SESSION['count']++;

}
としてみたら、どうやらセッション使えてなかったみたいですorz
sessionの使用がenabledなのになんで駄目なんだろ・・・。
0073nobodyさん2005/05/03(火) 05:03:52ID:???
WindowsXP SP2にApache2.0.54とPHP4.3.11をインストールしてうまく可動して
いるのですがGDを使うソフトがありまして困っています。
GDなるものどこで手にいれてインストールしたらいいのか教えてださい。
0074nobodyさん2005/05/03(火) 05:32:21ID:???
初めから入ってるよ
php.iniの
extension=php_gd2.dll
コメントアウトを削除で対応
0075nobodyさん2005/05/03(火) 06:47:55ID:???
質問お願いします。

include_path = ".;C:\php\pear"
と指定して
include("DB.php");
を実行すると、『ページを表示できません』となります。
C:\php\pear\DB.phpは存在します。
include("C:\php\pear\DB.phpp");
を実行すると、ちゃんと読み込みます。
include_pathにC:\php\pearを指定しているのに
フルパスじゃないと読み込めないのが謎です。
どなたか原因わかりませんか?

環境
WindowsXP
Apache2.0
PHP4と5で確認

よろしくお願いします。
0076nobodyさん2005/05/03(火) 07:48:09ID:???
>>74

ありがとうございました。
おかげで使えるようになりました。
0077nobodyさん2005/05/03(火) 07:55:59ID:???
>>75
読み込めないときは
Failed opening 'DB.php' for inclusion (include_path='.;c:\php\PEAR')
こんなエラーじゃないのかな
0078752005/05/03(火) 08:17:58ID:???
>>77
ありがとうございます。
解決しました。
0079nobodyさん2005/05/03(火) 08:47:12ID:???
PHP+MySQLでショッピングカートを作るときに、みなさんが読んだ
参考になるようなよい書籍を教えてください。
0080nobodyさん2005/05/03(火) 09:06:42ID:???
>>79
ショッピングカートの良書
http://www.amazon.co.jp/exec/obidos/ASIN/4034314303/
0081nobodyさん2005/05/03(火) 10:31:05ID:???
PHPに限った話ではないのですが
データベースに書き込むとき書き込むデータの長さがカラム長を超えてしまうと
エラーになるので書き込み前にチェックしたいんですが、比較するカラム長は
・固定的に定義しておく(defineなどで)
・都度、取得する(mysqlならmysql_field_lenなどで)
のどちらがいいんでしょう?
データベースの定義が変更になった時のことを考えると都度、取得したほうが
いいんでしょうが、なんかとても無駄なことをしているような気がして
みなさんはどうされてます?
0082nobodyさん2005/05/03(火) 12:35:50ID:???
>>81
毎回のチェックは間違いなく無駄
データーはエラーではなくて切り捨てられるはず
0083nobodyさん2005/05/03(火) 13:18:39ID:???
うわぁぁ、すみません、すみません
>>82さんの仰るとおりカラム長を超えたデータを書き込んでもエラーにはならず
切り捨てられました
テストしたときのデータがめちゃくちゃ長いデータだったのでコネクションが
切断されてたみたいです
mysqlのnet_buffer_lengthあたりの制限に引っかかたのかも…
スレ汚しすみませんでした
0084nobodyさん2005/05/03(火) 14:22:02ID:???
ココ↓のパスワード制限を使ってサイトにメンバー専用のページのbbsを設けたのですが、
ttp://php.s3.to/simple/
他のページにもパスワード制限をかけたいと思いました。
この場合それぞれのページにいちいち制限をかけるのは入る人が面倒ですよね。
そこでたとえばメンバー専用のトップページを作って、そのトップページにパスワードを使って入れば、
そこに置かれているbbsなどは自由に入れるようにするにはどうしたらいいでしょうか?
サーバーのコントロールパネルのページとかでこういう方式になっていたりしますので、同じようにしたいのですが…
0085nobodyさん2005/05/03(火) 16:14:42ID:rT+xDv11
テキストフォームを10個ほど作り、値を入力します。
そして送信ボタンを押したときに
すべてのフォームに値が記入されていればAを出力
どこか一つでも値が無ければBを出力
ということをするにはどうしたらよいでしょうか?
0086nobodyさん2005/05/03(火) 16:29:09ID:???
>>85
自分の力でどこまでできたのか書いてみ。
0087852005/05/03(火) 16:48:00ID:???
だいぶ幼稚なプログラムですが

$row = 1;
$column = 1;

for($i = $_GET["det_size"];$i>0;$i--){
for ($j = $_GET["det_size"];$j>0;$j--){
$value = 'col'.$column.'row'.$row.'';
$text .= '<input name="col'.$column.'row'.$row.'" type="text" size="4" maxlength="4" value = "'.$_GET[$value].'"> ';
$row = $row + 1;
}
$text .= '<br>';
$row = 1;
$column = $column + 1;
}

$text .='<input type="submit" name="submit" value="Submit"> <input type="reset" value="reset"></form>';
ここまででテキストフォームを作ります。
この前にdet_sizeを入力してもらってdet_size×det_sizeのフォームを作ります。
0088852005/05/03(火) 16:48:48ID:???
続き
$row = 1;
$column = 1;
//$value = 'col'.$column.'row'.$row.'';
$dis_result='<div class="result">Result<br>';
while($column <= $_GET["det_size"]){
$value = 'col'.$column.'row'.$row.'';
$dis_result .= ' '.$_GET[$value].' ';
$row++;
if ($row > $_GET["det_size"]){
$column++;
$row = 1;
$dis_result .='<br>';
}
}
$dis_result .='</div>';
$text .= $dis_result;
フォーム内の値をdivで作ったボックスのなかに表示させます。
フォームが空欄でもResultのボックスが空のまま表示されてしまうので
もしフォームの値が一個でも空白ならエラーを返したいと思っています。
0089852005/05/03(火) 17:22:11ID:???
自己解決しました。スレ汚し失礼しました。
0090nobodyさん2005/05/03(火) 17:44:16ID:/WYzL+U+
Cで言うatoi()はありますか?
"05"などという文字列を5という数値に変換したいのです。
0091852005/05/03(火) 17:46:29ID:???
>>89
人の名前騙ってんじゃねえ!ボケ!
009285(本物)2005/05/03(火) 18:02:48ID:???
>>89>>91
ちょっとあなたたち誰ですか?
0093852005/05/03(火) 18:20:32ID:???
このスレダメポ
0094nobodyさん2005/05/03(火) 18:41:31ID:???
すみません、ホントに申し訳ありませんが、どなたか>>90お願いします。
0095nobodyさん2005/05/03(火) 18:48:00ID:???
>>90
暗黙の型変換が行われるから、わざわざ自前でやる必要はないと思うけど。
あえてやるならintval
$a="05";
$b=$a + 100;
$c=intval($a) + 100;
echo $b;
echo "<BR>";
echo $c;
0096902005/05/03(火) 18:50:07ID:???
>>95
ありがとうございました。助かりました。
0097nobodyさん2005/05/03(火) 20:59:50ID:???
http://cgi38.plala.or.jp/flash100/Accesslog.cgi
こういうヤツの作り方ってどうやるんですかね?
0098nobodyさん2005/05/03(火) 21:29:36ID:???
マルチさんお疲れさん
0099nobodyさん2005/05/03(火) 22:03:24ID:XdSRtjaM
ttp://ZR164007.ppp.dion.ne.jp/
っうはっwwwwwwwうぇwwwおkwwwwwwwwwwww
wwwwwwwwwwwwwwおkwww
っおkっうぇwwwwwwwwwwwwwwwwうはっ
wwwwwwwwwwwうはっっうはっwwwwwwwwww
0100nobodyさん2005/05/04(水) 00:49:38ID:???
>>97
こんなんすぐ作れるぞ!
$_SERVER変数とか使え。
0101nobodyさん2005/05/04(水) 01:43:31ID:4XtCwxJF
ひとつのページに
include(1)
include(2)

とやった場合
(1)で定義した定数は(2)には反映されないの?
01021012005/05/04(水) 01:49:41ID:???
すいませんやってみたらわかりました
0103nobodyさん2005/05/04(水) 01:50:54ID:4XtCwxJF
>>101
騙るなよ
0104軟式PHP2005/05/04(水) 03:25:40ID:???
やれってことじゃないのか?
0105nobodyさん2005/05/04(水) 11:31:05ID:???
PEARのDB.phpを使って、SELECTしたデータをHTMLのテーブルで表示させているのですが
質問させて下さい。

SELECTして取得するフィールドは不特定の場合、
結果からどうやって取得したフィールド名を取得するのでしょうか?

今までは、DB::connectで接続したあと、queryにてSQLを発行し、
fetchRowにてループにて全レコードを出力する時に、
最初の1レコード目の時にフィールド名を出力していましたが、
この方法だと抽出したレコードが0件の場合、何も表示されません。

取得したdb_resultオブジェクトの内容をprint_rにて除いてみたのですが、
そういった情報は無いようでした。
0106nobodyさんNGNG
2chのCGIのソース キボン...
read.cgi & bbs.cgi よろしく。

【参考】
・厨房により、連続更新が多発!read.cgiが呼ばれる回数はbbs.cgiの百倍!
0107842005/05/04(水) 14:02:33ID:CEPwDzrn
すいません、>>84の質問をお願いします…
0108nobodyさん2005/05/04(水) 15:05:33ID:???
>>105
質問の意図がよくわかんないんだけど
常にフィールド名が欲しかったらtableinfo()を使ってみるとか。
空のレコードセットのときfetchRow()がNULLを返すのは仕様どうり

>>107
http://merlion.cool.ne.jp/cgi/rest8/index.htm
↑みたいなの使って一つのフォルダに認証かけて
そのフォルダ以下にトップページやBBSとか置けばいい
01091052005/05/04(水) 15:16:32ID:???
>>108
ありがとうございます。
解決いたしました。
tableinfo()自体知りませんでした。
01101072005/05/04(水) 15:45:24ID:CEPwDzrn
>>108
ありがとうございます!.htaccess機能ってやつですね。
ちなみに教えて頂いたhttp://merlion.cool.ne.jp/cgi/rest8/index.htmのページでは
perlを使ったプログラミングのようですが、
phpを使った認証のプログラムはどこかにないでしょうか?
0111nobodyさん2005/05/04(水) 21:31:13ID:tDb8HgqQ
みなさんSQLiteって使ってるんすか

ごく小規模のメール配信とかサイトにDB使いたくて。
こんなモノがあるとは知らずPostgreのつもりだったんですが
存在を知って以来気になってます。
どのくらいまで使えるモノなんでしょう?
0112nobodyさん2005/05/04(水) 22:54:28ID:???
>>111
PHP4とMySQL4の組み合わせが最強
0113nobodyさん2005/05/04(水) 23:04:11ID:???
俺は、PostgreSQL使える環境にあるならPostgreSQLを奨めるけどね。
どんな利用方法しても、ライセンスが絡む事は無いし、
MySQLで出来ること以上の事がPostgreSQLは出来る。
確かに速度はMySQLだが、その辺はたいした問題じゃない。
0114nobodyさん2005/05/05(木) 00:41:41ID:???
WindowsやMacintoshならMySQLかSQLiteかAccess
UNIXやLinuxならPgSQLかMySQL
本格的にやるならOracle
0115軟式PHP2005/05/05(木) 02:29:14ID:???
最初はOracleじゃなくてPostgreSQLやMySQLでいいんでないかい。
0116nobodyさん2005/05/05(木) 02:42:19ID:???
その前にPHPではなくJavaを使う罠。
0117nobodyさん2005/05/05(木) 06:57:41ID:j3QMEyoA
<? php
echo"$total";
for($i=1;$i<=100;$i++){$total+=$i;}
? >

$totalをfor〜より前で表示させたいんですけど、
どうすればよいでしょうか?
0118nobodyさん2005/05/05(木) 07:41:24ID:???
もう一度参考書なりマニュアルなりを読み直した方が・・・
0119nobodyさん2005/05/05(木) 07:52:10ID:2TWoJUS+
$words = abcd;
$count = strlen($words);
$num = 0;
while ($num <= $count){
preg_match("/^.{0,$num}?(.).*/", $words , $spel);
echo "$num | $spel[$num] <br>\n";
$num++;
}

上記のようにwhileを使って、$wordの全部を一文字ずつ配列に入れたいのですが、
最初の一文字しか配列に入りません。
実行すると、
0 | abcd
1 | a
2 |
3 |
4 |
となって、途中から配列に入らないのですが、どうしたら良いのでしょうか。
0120nobodyさん2005/05/05(木) 08:32:49ID:???
>>119
while ($num < $count){ // 4文字なので 0〜4でいいはず
 preg_match("/^(.{0,$num})?(.).*/", $words , $spel); // $spelに入るのは括弧付きのサブパターン
 echo "$num | $spel[2] <br>\n"; // $spel[0] : 全体, $spel[1] : 1つ目のサブパターン $spel[2] : 2つ目
}
アルファベットだけなら、whileループの中で echo $words[$num]."<br>"; だけでいい希ガス
01211192005/05/05(木) 08:33:10ID:???
自己解決しました。

文字列を配列として参照することで、一文字ずつ取り出せるのですねーー知りませんでした。
01221202005/05/05(木) 08:33:55ID:???
訂正
× // 4文字なので 0〜4でいいはず
○ // 4文字なので 0〜3でいいはず
01231192005/05/05(木) 08:36:19ID:???
>>120 僅差でw
ありがとうございました!もっと勉強してみます
0124nobodyさん2005/05/05(木) 08:46:13ID:???
$str = "abcdef";
$num = 1;
while ($num <= strlen($str)){
$spel[] = substr($str, 0, $num);
}
0125nobodyさん2005/05/05(木) 08:48:31ID:???
一文字ずつって a,b,c...って取りたかったのか。
マニュアルのpreg_replaceの項に
まったく同じことするサンプルがあるぞ
01261192005/05/05(木) 09:46:57ID:???
>>125わかりました。もう一度チェックしてみます
0127nobodyさん2005/05/05(木) 09:48:00ID:???
Apache2を使ってます。

CPU負荷低減・高速化のためにPHPA(PHP Accelerator)を入れようかと思っています。
が、Apache2では「ただし、スレッド機能は無効」になるとか・・・
ttp://www.asial.co.jp/products/ioncube/accelerator/products.php

実際にApache2で使った場合、どうなんでしょか?
0128nobodyさん2005/05/05(木) 11:37:05ID:???
疑問になったので質問です。
クラス内の変数をさまざまな表現で表示したい時は
「表示させる関数を用意する」と
「表示させるクラスを用意する」、どちらが一般的なのでしょうか。
もし使い分ける、などならメリットとデメリットも教えて頂きたいです。
PHPもオブジェクト指向も初心者なので的外れな質問だったらごめんなさい。
なお環境はPHP4.3.10 AN http WindowsXPです。
*/
//クラス内に表示させる関数を用意する-----------------
$text = new Text;
echo $text->i();
class Text{
var $a="AAA";
function i(){
return "<i>{$this->a}</i><br>";
}
}
exit;
//クラス外に表示させるクラスを用意する-----------------
$text = new Text;
$html = new Html;
echo $html->i();
class Text{
var $a="AAA";
}
class Html{
function i(){
global $text;
return "<i>{$text->a}</i><br>";
}
}
0129nobodyさん2005/05/05(木) 11:42:30ID:???
下のは気持ち悪すぎる
0130nobodyさん2005/05/05(木) 11:52:52ID:???
具体的に何をしたいのか分からないけど、
とりあえず、そのサンプルに上げてるようなことしたいなら、
普通にHTMLのタグくっつけて書いた方が楽じゃないか?
融通も利くし。
0131nobodyさん2005/05/05(木) 13:28:27ID:???
global $text; なのがキモイんだと思われ
0132nobodyさん2005/05/05(木) 14:39:08ID:???
>128
俺ならクラス内にメソッドを追加する。つまり前者。

後者でやるとしたら
function i($text){
  return "<i>$text</i><br>";
}
とする。こっちの方法も割と良く見かける。
0133nobodyさん2005/05/05(木) 21:09:42ID:???
>>129-132
なるほど・・・。何かをするクラスをひとつにまとめたらわかりやすいかな〜?
とか思ったのですが、
「何かをする->データ」より「データ->何かをする」が普通なんですね。
キモイとか言われましたが・・w どうもありがとうございます。
0134nobodyさん2005/05/05(木) 22:08:25ID:???
>>127
通常のApache2の設定であれば、スレッドじゃなくて
プロセスで動くから無効でも大丈夫。
0135nobodyさん2005/05/06(金) 00:15:35ID:???
HTMLのある部分にデータを書き込む・・・ということを実行するには、どうすればいいでしょうか。
(具体的には、日記スクリプトを作ろうとしています。)
0136nobodyさん2005/05/06(金) 00:16:39ID:???
>>135
htmlを読み込んで、処理を加えて、htmlとして保存する。
0137nobodyさん2005/05/06(金) 14:12:02ID:???
某所でアプロダを運営してるのですが、知恵をお貸し下さい。

DL数を制限するにはどういった仕組みなのでしょうか?
例えば制限数を10にした場合、同時にDLできる人数が10人にしたいのです。

また、1人の人間が異なったファイルをDLできないようにするにはどうすればいいのでしょうか?
0138nobodyさん2005/05/07(土) 00:29:22ID:???
言ってることがよく分からない
0139nobodyさん2005/05/07(土) 02:07:16ID:t8LZi6/K
スレ違っていたらすみません。
現在、PHPでツリー式掲示板を作っていて、そのログの保存形式で悩んでいます。
以前に作った掲示板では、ログの保存形式を

記事No<>親記事No<>タイトル<>内容<>投稿時刻

のようにしていたのですが、あたりまえですがログが増えてくると処理が遅くなってしまいました。
ルート直下の記事(親記事Noが0の記事)のみを抽出するという処理にもかなりの時間がかかってしまいます。
ほかの掲示板を調べてみると、ログを、ツリー構造を保存したファイルと記事の内容を保存したファイルの2つに分けているものもありましたがあまりしっくりとは感じませんでした。
もし、アルゴリズム的に処理のしやすい(速い)ものがあれば、教えていただきたいのですが…。よろしくお願いします。
0140nobodyさん2005/05/07(土) 03:28:59ID:???
>>139
HTMLで表示させるようにしたらどうだろう
毎回ログファイルを読み込む手間がはぶけるし、投稿したときにのみ多少の負荷がかかるくらいだし。
0141nobodyさん2005/05/07(土) 04:22:51ID:???
DB使えや
0142nobodyさん2005/05/07(土) 04:25:03ID:???
> ルート直下の記事(親記事Noが0の記事)のみを抽出するという処理にもかなりの時間がかかってしまいます。
もしかして、ログファイルの内容全てを、一気に読み込んで、
そこから取得→表示ってやってる?
0143nobodyさん2005/05/07(土) 06:17:15ID:XxbRXpor
ユーザーの登録処理の部分を作ってるところなのですが、PHPがおかしな挙動をし始めた。(PHP5.02)
フォームから入力してもらったメールアドレスを、正規表現を使ってチェックするところで変になる。
1.アドレス(〜@〜)だと認識するとオカシクなる
2.アドレスじゃなくて、aaaa だとセーフ
3.アドレスじゃなくても、unko だとオカシクなる
4.同じ文字でも、おかしくなることがある
5.rrr はセーフで、kkk はアウト
7.1234はセーフで、0123だとアウト
6.全く別のテストページでは、アドレスチェックは出来てる

アウトの時は、処理を中断してif構文の中から抜けている感じ。
もしくはページを読み込みなおしてるみたい。
一体なんですかね?
0144nobodyさん2005/05/07(土) 06:21:21ID:???
エスパーきぼんぬですか?
01451432005/05/07(土) 06:43:19ID:???
フォームから入力させる
↓
入力文字がアドレス(xxx@xx)か否かをチェック
・ここで分岐
 A:アドレス / B:アドレスじゃない

Aだとおかしくなって、Bでも条件によっておかしくなる
Bでおかしい時にも、挙動はAとおなじようになる
わけわからん。でも、エスパーだったら分かるのかな?
0146nobodyさん2005/05/07(土) 06:49:47ID:???
その条件文晒した方が早いんでない?
01471432005/05/07(土) 07:12:54ID:???
if (preg_match("/^[A-Za-z0-9_\.\-]*@[A-Za-z0-9_\.\-]*\.[A-Za-z0-9_\.\-]+$/", $adad)){
echo "入力されたメールアドレス 「" . $adad . "」<br>\n";
} else {
echo "入力されたメールアドレス 「" . $adad . "」<br>\n";
echo "正しいメールアドレスではありません。";
}
問題はここじゃないっぽい・・・もう一度全部見直してみます
でも、aaaだとセーフでabcがアウトってありえないよ。
0148nobodyさん2005/05/07(土) 08:08:54ID:zpgwMbY/
http://YahooBB218124060027.bbtec.net/
おkwwwっうぇっっwwwwwwwおkwwwwwwwww
wwwwwwwwwwww
っうぇwwwwうぇwww
wwwwwwwwwwwwwwwwwwwwwwww
0149nobodyさん2005/05/07(土) 08:25:34ID:kMJPLXnh
http://ZV195024.ppp.dion.ne.jp/
wwwwwwwwwwwwっうぇおkwwwおkwww
wwwwwwwwwwwwwwwwwwっうぇw
うぇwww
おkwww
wwwwwwうぇwwwwwwwww
01501372005/05/07(土) 08:52:25ID:???
>>138
上手く説明できずに申し訳ありません。

あるアプロダですと、ファイルをダウンロードしようとすと、
最大接続数な為にダウンロードできませんといったメッセージが表示されます。
また、別なアプロダですと、そのアプロダにアップされているファイルを
ダウンロード中に他のファイルをダウンロードしようとすると、
他のファイルをダウンロードしてるときにはダメだよと言ったメッセージが表示されます。

この事から、誰がどのファイルをダウンロードしてるかを
リアルタイムで判別してると思うのですが、
この情報の取得方法がわからないのです。
0151nobodyさん2005/05/07(土) 08:57:20ID:mG8uUfDQ
http://YahooBB220013144086.bbtec.net/
おkwwwwwwwwwwwwwwwwwwwwwwっうぇ
っうぇっうぇっうぇwwwwww
うぇwwwwwwwwwwwwwww
っうぇうはっwwwうぇwww
■ このスレッドは過去ログ倉庫に格納されています