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

【PHP】下らねぇ質問はID出して書き込みやがれ 113

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/11/29(火) 19:55:27.17ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 112
http://hibari.2ch.net/test/read.cgi/php/1320005469/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
03813452011/12/14(水) 05:57:46.02ID:QUjeWNXA
>>379
どうもです。
つーか、エディターはWZ6を使ってるんですけど、
文字コードをシフトJISからutf-8に変えて無意識で保存して、10分ぐらい苦労したコードを飛ばしちゃいましたw
文字コードは何がなんだかさっぱりわからんのですがどうしたらいいんですかね?
htmlファイルを自動で生成するphpを作ってうまく動いたんだけど、
ファイル名の日本語部分がめちゃくちゃ文字化けするから、
文字コードをシフトJISからutf-8に変えてみたんですよねw
そしたらソースがメチャクチャになっちゃったw
文字コードにはどういう心がけで接したらいいのかまったくわからないです〜
03823452011/12/14(水) 06:10:58.72ID:QUjeWNXA
ネット上から日本語文字列をゲットして、それをIEに表示させると文字化けしないのに、
それを、htmlファイルの名前にしてhtmlファイルを出力すると名前が文字化けするんですよね。
03833452011/12/14(水) 06:29:46.30ID:QUjeWNXA
そもそも、WZ6の使い方からしてあまりよくわかんないんですw
03843452011/12/14(水) 06:32:49.69ID:QUjeWNXA
つーか、phpはファイル名が日本語.phpだと使えないじゃないですか、それと同じ理屈なのかな?
0385nobodyさん2011/12/14(水) 07:09:32.44ID:???
一人暴走するのは迷惑なんで
ちょっとは自分で調べて頑張れよ
0386nobodyさん2011/12/14(水) 08:35:53.33ID:hH9P1H+w
>>381
utf-8で保存したならutf-8で開けば問題ないはず。
ファイル名を管理するのはOSのファイルシステムなのでファイル内の文字コードとは関係ない。
OSやウェブサーバー等の環境によっては日本語ファイル名はトラブルの原因になるので
詳しいことがわからないなら日本語ファイル名は避けるのが基本。
WZの使い方は自分で調べること。
0387nobodyさん2011/12/14(水) 10:47:14.85ID:???
このスレ以前の問題の自分で勉強しないksがいるようだな
0388nobodyさん2011/12/14(水) 12:26:31.39ID:???
つーかw
0389nobodyさん2011/12/14(水) 17:00:13.28ID:36qjf2FU
すみません。質問させてください。

if ($result = $mysqli->query("SELECT * FROM tbUser WHERE seq = ".$_SESSION['seq'])) {
if ($result->num_rows > 0) {
$row = $result->fetch_array(MYSQLI_ASSOC);
$result->close();
$decoded = json_decode($row['profile']);

$smarty->assign('gender', $decoded->gender);
$smarty->assign('locale', $decoded->locale);
$smarty->assign('img', $decoded->img);
$smarty->assign('bio', $decoded->bio);

こんな感じの書き方で(途中ですが)apachiのエラーログに下のようなエラーが出ます
Undefined property: stdClass::$gender

どのように修正したら良いのでしょうか?
よろしくお願いします。
0390nobodyさん2011/12/14(水) 17:04:24.51ID:???
property_exists
0391nobodyさん2011/12/14(水) 17:13:59.09ID:???
>>389
queryは使うな市ね
0392nobodyさん2011/12/14(水) 17:48:19.02ID:???
>>390ありがとうございます。
if(property_exists('decoded','gender')){
$smarty->assign('gender', $decoded->gender);
}
issetと同じように上のようにしたらその部分を読まなくなってしましました。
property_existsの引数の書き方が悪いのでしょうか?
0393nobodyさん2011/12/14(水) 17:51:53.33ID:???
>>392

>>1
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
03943892011/12/14(水) 18:10:43.40ID:36qjf2FU
すみません。
392は自分です。よろしくお願いします。
03953452011/12/14(水) 18:55:32.05ID:QUjeWNXA
自分は345ですが、
<?php
$name = "2ちゃんねらー.html"; // ファイル名を作る
echo '<p style="color:green">'. $name. '</p>', PHP_EOL; // ファイル名表示
$fp = fopen($name,"a"); // ファイルを作る。
fclose ($fp); // ソケットを閉じる
?>
を実行すると、
鐚???<????????????.html、が表示され、
・偵■繧・s縺ュ繧峨・.html、というファイルが生成されます。
日本語でも文字化けさせないソースを作るにはどうしたらいいのでしょうか?
よろしくお願いします。
環境は、winXP、IE8.06001、PHP Version 5.3.8です。
03963452011/12/14(水) 18:59:13.15ID:QUjeWNXA
あと、
MySQL
サーバのバージョン: 5.5.16
Web サーバ
Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
phpMyAdmin
バージョン情報: 3.4.5
です。
03973452011/12/14(水) 19:05:18.41ID:QUjeWNXA
>>386
ありがとうございます。

あと、
info.phpに
mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
HTTP input encoding translation disabled
とあるのですが、これと文字化けは関係ありますか?
0398nobodyさん2011/12/14(水) 19:08:52.76ID:???
Windowsのファイル名はShift_JISで扱わないといけない
mb_convert_encoding
0399nobodyさん2011/12/14(水) 19:29:07.35ID:???
最近のは、内部でエスケープしちゃってるので、ダメ文字入りのファイルでどうやっても困ることがあったはず。
使わない方がいいんだが。
04003452011/12/14(水) 19:59:10.69ID:QUjeWNXA
>>398-399
レスありがとうございます。
つか、どうもIE8のソースの文字コードはECUです。
で、ECUの文字列をコピペして、UTF-8のファイルに貼り付けると、どうなっちゃうんですかね?w
04013452011/12/14(水) 20:02:35.46ID:QUjeWNXA
あと、>>395のソースは、>>398さんの言われるように、Shift_JISで保存したら、
表示も、ファイルも日本語で作れました。
0402nobodyさん2011/12/14(水) 20:36:40.65ID:17jEiayv
phpのsession時間はどこで指定するのですか?
管理単位はなんですか?IPですか?
0403nobodyさん2011/12/14(水) 20:42:42.09ID:???
っつーかw
0404nobodyさん2011/12/14(水) 20:43:12.74ID:???
>>402
管理単位はセッションID
04053452011/12/14(水) 21:01:41.08ID:QUjeWNXA
つーか、mb_convert_encoding($arr_str[1], "SJIS","EUC"); をソースの流れの色々なところに
置くと、色々かわりますねw
表示は文字化けですが、ファイルの方は日本語表示出来ました、ありがとうございました。
0406nobodyさん2011/12/14(水) 21:09:33.23ID:???
つーかPHPってめんどくさいっすね
04073452011/12/14(水) 21:30:24.42ID:QUjeWNXA
file_get_contents()関数で、
$url="http://kohada.2ch.net/test/read.cgi/php/1322564127/";
file_get_contents($url);
みたいな方法で、順番に、ネットのページをダウンロードしています。
ところが、このやり方だとすぐタイムアウトするのか、
10ページぐらいでfile_get_contents()がエラーを吐きます。
この用途に使える、file_get_contents()より緻密な設定が出来る関数はないでしょうか?
0408nobodyさん2011/12/14(水) 21:42:57.79ID:???
タイムアウトしてんの?
04093452011/12/14(水) 21:47:23.87ID:QUjeWNXA
>>408
Fatal error: Maximum execution time of 30 seconds exceeded in
すみません、phpのループの設定だった。
04103452011/12/14(水) 21:48:32.82ID:QUjeWNXA
http://pentan.info/php/30timeout.html
これみたい。
0411nobodyさん2011/12/14(水) 22:06:44.80ID:Ur9qSeou
何かの個数を表すとき何て名前にしてますか?
number_of_comments だとちょっと長いかな
0412nobodyさん2011/12/14(水) 23:47:05.88ID:???
>>411
$comment_count かなあ
$comments でもいい気がしたけど、これだとコメントが詰まった配列みたいだし
よく使う変数なら短くしたい $come_count とかさ
意識はしてないけど、「$変数の対象_変数の用途や型」って書き方してる
まあ、数えるものが限定されているなら $count でもいいかな
0413nobodyさん2011/12/15(木) 00:50:50.57ID:???
つーかスレチ
http://toro.2ch.net/test/read.cgi/tech/1311942721/
0414nobodyさん2011/12/15(木) 01:22:22.03ID:???
>>407
まず何のエラーか調べなさい
ヒント:$http_response_header
04153452011/12/15(木) 02:24:51.02ID:nOE9twus
>>414
どうもです。 あれはphpのループの設定で解決しました。
つか、文字列から↓の記号を排除する関数、ってどこかにないでしょうか?
↓の記号が出てきたら、空白に置き換えるでも、削除するだけでも、どんなんでもかまいません。

Windowsのファイル名に使えない文字。
\/:*?"<>|
0416nobodyさん2011/12/15(木) 02:37:01.83ID:???
preg_replace
04173452011/12/15(木) 02:51:10.82ID:nOE9twus
>>416
おー、どうもありがとうございます。
04183452011/12/15(木) 06:29:31.80ID:nOE9twus
>>276
ってことは、PHPで検索エンジンを作ろうとした場合、DOMを使うといい、ってことなのでしょうか?
04193452011/12/15(木) 06:33:42.81ID:nOE9twus
$title = ereg_replace("/","・",$title);
と書くと、
Deprecated: Function ereg_replace() is deprecated in C:\xampp\htdocs〜〜
が出るのですが、正しくはどうすべきでしょうか?
04203452011/12/15(木) 07:13:00.67ID:nOE9twus
しかし、こういうプログラミングは、うまく動けば天にも上る気持ちになるけど、
動かないと絶望のどん底に落ち込むから、トータルでは健康に悪いんじゃないですかね?w
04213452011/12/15(木) 07:16:20.70ID:nOE9twus
しかし、サイトを作ろうとすると、
html、css、php、ジャバスクリプトをマスターしなければならないんだけど、
こんなの1人だけでやってる人いるんですかね?
0422nobodyさん2011/12/15(木) 07:37:15.25ID:???
いい加減にしろ
0423nobodyさん2011/12/15(木) 07:39:28.13ID:???
もう、専用スレでも立ててくれ。
君だけのスレじゃないから
0424nobodyさん2011/12/15(木) 08:28:16.45ID:???
おはよぉ〜

 PHPプログラマ〜のお姉さんだよぉ〜
 今日はどんな質問が残ってるのかな?
0425nobodyさん2011/12/15(木) 12:46:01.86ID:Ddg6IIc7
お姉さん・・・ふぅ〜
0426nobodyさん2011/12/15(木) 12:51:34.48ID:???
>>421
腐るほどいる。
0427nobodyさん2011/12/15(木) 16:19:29.00ID:uDMRC9vi
>>421
さらにいうなら

html
css
php
Java script
action script
sql
perl
apache
smarty

覚えることが多すぎるのがWEB
0428nobodyさん2011/12/15(木) 16:33:58.87ID:???
たいへんだけど、むしろそこが楽しい
0429nobodyさん2011/12/15(木) 16:40:26.23ID:BuhzkLXW
楽しいけど、むしろそこがたいへんだ
0430nobodyさん2011/12/15(木) 16:55:14.47ID:IwZ5fbUN
<form method="post" action="<?php $_SERVER['PHP_SELF'];?>">
<?php
echo "<input type='submit' name='del[9294]' value='削除'>";
echo "</form>";
echo "<br>";
if($_POST){
echo "<pre>";
print_r($_POST);
echo "</pre>";
echo "<br>";
echo $_POST['del[9294]'];
}
?>
出力結果
Array
(
[del] => Array
(
[9294] => 削除
)

)
Notice: Undefined index: del[9294]

$_POST['del[9294]']で取り出すのかと思ってたら多次元配列になるとか聞いてないよー
0431nobodyさん2011/12/15(木) 17:01:15.77ID:???
ラジオボタンというものがあってだな
0432nobodyさん2011/12/15(木) 17:05:38.43ID:???
×ラジオボタン
○チェックボックス
0433nobodyさん2011/12/15(木) 17:14:02.71ID:???
>>431-432
用途次第で、buttonもcheckboxもradioもhiddenもありうるだろう。
取得値が多次元配列になるのは同じ。
0434nobodyさん2011/12/15(木) 18:10:55.11ID:???
仕様です
0435nobodyさん2011/12/15(木) 18:18:27.02ID:8PBzw4Kx
\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f 形式(ユニコード?)をデコードする方法を教えて下さい!

0436nobodyさん2011/12/15(木) 18:39:23.54ID:???
$str = "\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f";
print json_decode("\"$str\"");

utf8以外ならその後変換して
0437nobodyさん2011/12/15(木) 19:56:58.41ID:3eA/ytGy
バックグラウンド処理について質問です。php5.3.8です
今、webアプリで3つのSNSのapiに文章をポストする仕組みを作ってるんですが
フォームの送信ボタンを押した後、apiへのアクセスと投稿部分は時間がかかるため
exec()でバックグラウンド処理させました。が、それでも時間がかかりすぎる気がします
時間の捕捉方法は以下の通りです

$session->starttime = date("Y-m-d H:m:s");
funcImageUpload(~~~);//写真アップロード
funcQuery(~~~);//DBクエリ
exec(~~~);//apiへの投稿
$session->endtime = date("Y-m-d H:m:s");

この状況で処理時間が
○テキストのみ投稿
 ・exec();をコメントアウト:1秒
 ・exec();を実行:3秒
○テキストと写真を投稿
 ・exec();をコメントアウト:3秒
 ・exec();を実行:9秒

いくら3つもapiにアクセスしてるからって3秒とか9秒は時間かかり過ぎじゃないでしょうか?
バックグラウンド処理=一瞬で済むものだと思ってたのですが違うんでしょうか
exec();自体初めて利用した処理なのでおかしい点があるとしてもわかりません
初心者にありがちな穴などあるんでしょうか?
または、高速化する方法を教えてもらえると嬉しいです
すみませんがアドバイスお願いします
0438nobodyさん2011/12/15(木) 20:07:17.22ID:???
exec(~~~); の詳細を。
標準出力を nullかなんかにリダイレクトして & つけてる?
windows だったら execじゃダメ
0439nobodyさん2011/12/15(木) 20:09:19.52ID:TSU9Et/j
PHP のクラスについて質問です。
以下のように宣言した変数をさらにクラスメンバの宣言(?)で使いたいのですが、
'bar' => $piyo の部分がエラーになります。

class Hoge {
  public $piyo = 'piyo';
  public $foo = array(
    'bar' => $piyo
    // 'bar' => $this->piyo これもダメです。
  }
}

上記のように値を使い回したい場合どうすればいいでしょうか?
0440nobodyさん2011/12/15(木) 20:11:27.65ID:???
>>439
コンストラクタでやる
0441nobodyさん2011/12/15(木) 20:29:04.47ID:???
>>437
ノンブロックで行うとして、処理が成功したかどうかをしる方法はあるの?
0442nobodyさん2011/12/15(木) 21:12:38.85ID:3eA/ytGy
>>438
ありがとうございます

exec("/usr/bin/php {$execFile} {$params_exec} {$twitter_userToken} {$twitter_userTokenSecret} >/dev/null 2>&1");

{$execFile} 実行ファイル
{$twitter_userToken} パラメータ1
{$twitter_userTokenSecret} パラメータ2
という感じです
間違ってるんでしょうか?

>>441
すみません、恥ずかしいんですがノンブロックとはなんでしょう?
apiへの処理の成功の可否は、エラーコードをDBに登録するようにしてあります
0443nobodyさん2011/12/15(木) 21:14:07.20ID:8PBzw4Kx
$obj->{'value'};
      ↑このプロパティを { } で囲むのはどんな意味があるんですか?この記法に名前はありますか?
0444nobodyさん2011/12/15(木) 21:14:34.92ID:8PBzw4Kx
>>436
ありがとうございます!
0445nobodyさん2011/12/15(木) 21:30:57.86ID:???
>>442
>>438のいうとおり、&がついてないからだね。
ノンブロック(ノンブロッキング)ってのは、
何かの処理を行ったとき、その処理によってメインの処理がブロックされる/されない の意味で使われるよ。
同期/非同期みたいな。
0446nobodyさん2011/12/15(木) 21:44:25.15ID:???
>>445
>/dev/null 2>&1"); を  > /dev/null &"); に変更したら上手くいきました!
ノンブロックって言葉も勉強になりました、ありがとうございました
0447nobodyさん2011/12/15(木) 22:03:39.25ID:QbiaPFTg
URLの一番最後
member/register?codeのregisterってなんですか?
フォルダではないようなのですが
0448nobodyさん2011/12/15(木) 22:07:28.98ID:???
>>446
標準エラー出力は捨てないことにしたの?
0449nobodyさん2011/12/15(木) 22:18:40.03ID:???
>>447
ファイルだろうな
それ以外の可能性もあるけど、PHP と関係ないな

>>448
俺も思ったけど、話が PHP から逸れるからさ
>>446 は、標準エラー捨てるなら >/dev/null 2>&1 & と書きな
04504472011/12/15(木) 22:25:59.73ID:QbiaPFTg
>>449
すみません。apacheのrewriteruleの設定によるものでした。
おっしゃるとおりPHPに関係ないです
04514462011/12/15(木) 23:22:53.45ID:???
>>448,449
標準エラーってのは実行したスクリプトがエラー起こした時のエラーの返り値ですよね?
いらないから >/dev/null 2>&1 & が正しいわけですね
ちょっとまだよくわかってないことが多いみたいです、も少し勉強してみます。ありがとうございました
0452nobodyさん2011/12/16(金) 00:10:18.82ID:6sQrAgQt
settei.txt
5
1
<?php
$file = fopen("./settei.txt","r");
if ($file)
{
while (!feof($file))
{ $strBuf = fgets($file,1024);
$i++;
if ($i == 1){ $a = $strBuf / 100; }
else
{ $b = $strBuf; }
}
fclose($file);
}
else
{ die("open-err"); }
echo $a."<br>".$b;
?>
出力結果0.05
$bが表示されません。なぜでしょうか。教えてください
0453nobodyさん2011/12/16(金) 00:53:21.84ID:???
>>452
やってみたら出たよ
0454nobodyさん2011/12/16(金) 01:15:32.83ID:6sQrAgQt
>>453
>>452をコピペしたけど0.05は表示されるけど<br>も出力されてる。「1」は表示されません。
PHP Version 5.2.6-1
「1」はtrueと解釈されてるとか
0455nobodyさん2011/12/16(金) 01:16:51.05ID:???
>>454
それはない
0456nobodyさん2011/12/16(金) 01:28:30.57ID:???
>>454
settei.txtがなんかおかしいんでは?
04574522011/12/16(金) 01:29:04.38ID:6sQrAgQt
多分原因が分かりました。テキストエディタemacs23を使っているのですけど、settei.txtで3行目を
作らなかったのに上書き保存するとemacsのカーソルが3行目に移動できるようになってしまいます。
3行目ができた?ということなのかな?
0458nobodyさん2011/12/16(金) 01:38:12.17ID:???
>>457
ほうほう、それで?
04594522011/12/16(金) 01:53:56.17ID:6sQrAgQt
>>458
上書きでsettei.txtの3行目が出現したとすると$iが3になってsettei.txtの3行目の空文字?で
$bが代入されるので表示されないと思う。
ので、この書き方はせず、行を1行ずず読み込んで配列にして配列のキー0は$aに、キー1は$bにと
したほうがいいとおもいました。
0460nobodyさん2011/12/16(金) 02:04:30.27ID:???
>>459
うむうむ、それで?
04614522011/12/16(金) 02:12:35.46ID:6sQrAgQt
寝るので明日考えます。ありがとうございました。
0462nobodyさん2011/12/16(金) 02:43:47.71ID:???
いいってことよ
0463nobodyさん2011/12/16(金) 03:08:43.93ID:???
>>427
このsmartyはつっこんでいいのか?
0464nobodyさん2011/12/16(金) 03:25:19.33ID:???
使うこともあるだろ
0465nobodyさん2011/12/16(金) 05:01:14.15ID:???
完全にsmartyは仲間はずれだろ
他は言語で、一個だけテンプレートエンジンって
0466nobodyさん2011/12/16(金) 06:18:27.22ID:???
apacheは言語なのか
html css sqlあたりはプログラム言語ではないわけだが
ただ知ってる単語を列挙しただけって見ればわかるでしょう
0467nobodyさん2011/12/16(金) 06:19:51.42ID:???
domとecmascriptも入れておくれよ
0468nobodyさん2011/12/16(金) 06:21:19.23ID:???
正規表現で、u(UTF-8)とm(マルチライン)は使わない方がいい。
理由は、UTF-8でないと認識されると検索がストップする、文頭、文末の認識が確実でない。
UTF-8の文書であってもu(UTF-8)を付けずにバイナリデータとして検索はできる。
0469nobodyさん2011/12/16(金) 06:40:16.01ID:???
それならu付けるのは良いってことじゃね
0470nobodyさん2011/12/16(金) 07:08:39.26ID:8Mabj+H2
巨大な配列どうしの共通部分を短時間で求める方法はありますか。
個数は数万個〜数十万個とかです。
バイナリデータとしてディスクに格納されているケースもあります。
0471nobodyさん2011/12/16(金) 07:45:08.76ID:???
>>470
array_intersect
0472nobodyさん2011/12/16(金) 15:14:56.28ID:???
>>470
配列がディスクに格納されているとか意味不明
0473nobodyさん2011/12/16(金) 15:34:29.21ID:???
そこでHadoopですよ
0474nobodyさん2011/12/16(金) 17:46:35.62ID:???
オーバーロード使えなくてイラっとしたから書き込みますね
0475nobodyさん2011/12/16(金) 17:50:07.08ID:???
>>466
面倒くさいツッコミwww
0476nobodyさん2011/12/16(金) 19:04:57.86ID:???
PHPとあんまり関係ないかもしれませんが

ユーザー同士のメッセージのやり取りを
最新20件くらい表示するだけで、保存先はファイルにしようかなと考えています。
DBだとレコード数がすごくなりそうなんで、ユーザーが増えたら読み込みが大変になるかなと。
で、ログ解析やバックアップ用にDBにも入れようかなと。

Cache_Liteを使って、ファイルとして利用しようかなと思っているのですが
このやり方以外にいい方法ってありますか?

よろしくです
04774762011/12/16(金) 19:06:17.04ID:h9+fuNNV
あ、ID出してなかった
0478nobodyさん2011/12/16(金) 19:30:20.93ID:???
余裕で数千万件とかいく感じ?
04794762011/12/16(金) 19:48:10.33ID:h9+fuNNV
会員数が現状数万人いるんですが、長い目で見てそうしようかなって感じです
0480nobodyさん2011/12/16(金) 19:59:45.62ID:jjdr3xuV
こんなディレクトリ構造が一番。キャッシュライトでさえアクセス多ければ負荷が増える。

日付/ID/レベル1のGZファイル
0481nobodyさん2011/12/16(金) 20:05:50.06ID:jjdr3xuV
2ch掲示板なんかも、"板/スレ"でそのままファイルとして記録してるだろ。
データベース使うと照合やロックに手間・負荷が掛かる。
一ファイルごとなら他のファイルまでアクセス待ちなど起こらない。
■ このスレッドは過去ログ倉庫に格納されています