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

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

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

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

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

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

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0521nobodyさん2009/03/22(日) 10:24:54ID:???
>>515
図星で逆ギレの図
0522nobodyさん2009/03/22(日) 10:56:19ID:???
>>492=499=521
m9
0523nobodyさん2009/03/22(日) 11:33:37ID:???
粘着すぎる いつもむかむかしてるのかな
0524nobodyさん2009/03/22(日) 11:39:35ID:???
邪魔なんだよね〜
これ以上やるなら専用スレ立ててやるからそっちで共食いしてくれ
0525nobodyさん2009/03/22(日) 11:46:58ID:???
>>484
バージョン管理システムを導入するといいです

>>496
いくつかのIDEでは/**と入れて改行すると自動で作ってくれます
EclipseのPHPプラグインあたりだと
最初に関数を定義してからその上に/**を入れて改行すると
下の関数を見て引数があったら@param
返り値があったら@returnを生成してくれます
その他については必要であったら自分で記述するか
デフォルトの値として設定可能なものなら設定するしかありません
0526nobodyさん2009/03/22(日) 11:49:05ID:dhNIUg3n
多次元配列へのアクセスを動的にやりたいのですが、
どうすればいいですか?

get_multi_array($array,array('hoge','fuga','poge'))
→$array['hoge']['fuga']['poge']を取得

こういう動作をさせたいのです
0527nobodyさん2009/03/22(日) 12:30:00ID:???
>>492=499=521=523=524
立場が悪くなって第三者のフリをしようとしてるけど外してるの図
0528nobodyさん2009/03/22(日) 12:43:51ID:???
>>527
邪魔なんだよね〜
これ以上やるなら専用スレ立ててやるからそっちで共食いしてくれ
0529nobodyさん2009/03/22(日) 12:56:54ID:???
>>528
無視できない時点で同類だって教わらなかったの?
というより自演バレバレだよ初級者君(笑)
0530nobodyさん2009/03/22(日) 12:57:11ID:???
おまえらケンカしろ byひきこもり塾っぽいの

いいんだよ byスレ回り先生

自作自演する若者はためが無い by湯浅誠

自作自演格差社会 〜492のレス能力格差がスレッドを引き裂く

>>528は、新自由主義者
何でも排除して、格差を作ろうとする
0531nobodyさん2009/03/22(日) 13:10:43ID:???
>>529
邪魔なんだよね〜
これ以上やるなら専用スレ立ててやるからそっちで共食いしてくれ
0532nobodyさん2009/03/22(日) 14:07:27ID:ofSdd/CM
モバイルからなのでID固定できませんが質問です
"<a href='".$value."'>"などとしたときに
htmlspecialcharsだけでは変数にscript:〜が含まれていた場合に回避できませんが
変数の前に"http://sample.com/"とURLがあれば問題ないのでしょうか
実際Firefox,safariなどでは普通にnot foundになります
0533nobodyさん2009/03/22(日) 14:09:38ID:???
>>526
こんなのどう?連想配列でも多分問題ないと思う。

<?php
function get_multi_array(array $a, array $keys) {
$tmp = &$a;

foreach ($keys as $key) {
if (! is_array($tmp) || ! array_key_exists($key, $tmp)) return null;
$tmp = &$tmp[$key];
}

return $tmp;
}

// 以下テスト
$array =array(
array(
array(1,2,3), array(4,5,6),
),
array(
array(7,8,9), array(11,12,13), array(14,15,16)
)
);

var_dump(get_multi_array($array, array(0, 1, 2)));
0534nobodyさん2009/03/22(日) 14:32:22ID:???
>>529は見えない敵と戦ってるとみた
0535nobodyさん2009/03/22(日) 14:33:52ID:???
こんな過疎板で煽り合って自分が上にしたい奴ってうつ病だろな
0536nobodyさん2009/03/22(日) 15:07:18ID:???
>>535
よくぞ見抜いた・・

社会不適合者な俺万歳
0537nobodyさん2009/03/22(日) 17:29:33ID:XWTxCtFo
test
0538nobodyさん2009/03/22(日) 17:35:05ID:XWTxCtFo
<form action="log/200902.htm" method="POST">
<input type="text" name="title" value=""><br>
<textarea cols="80" rows="7" name="text"></textarea>
<input type="submit" value="send">
</form>
<?php
$title="<h2>".$_POST["title"]."</h2>";
$text='<div class="text">'.$_POST['text'].'</div>';
if ( get_magic_quotes_gpc()) {
$title = stripslashes($title);
$text=stripslashes($text);}
$text = nl2br($text);
$log = 'log/200902.htm';
$lock = 'lock.txt';
$lock_fp = fopen($lock,"w");
flock($lock_fp,LOCK_EX);
$old_log = file_get_contents($log);
$fp = fopen($log,"w");
fwrite($fp,$title);
fwrite($fp,$text);
fwrite($fp, $old_log);
fclose($fp);
flock($lock_fp,LOCK_UN);
fclose($lock_fp);
?>
これ、とあるサイトから引用してきたスクリプトなんですけど、どうやっても$_POSTの値を取得できずにlog/200902.htmの内容が<h2></h2><div class="text"></div>と内容が空になってしまいます。
POSTの値を取得するにはどうしたらいいんでしょう?どなたか知識のある方、ご教授下さい。
0539nobodyさん2009/03/22(日) 17:37:44ID:???
とりあえず、<?php の直後で
var_dump($_POST);exit;
0540nobodyさん2009/03/22(日) 17:39:58ID:???
それと form のアクションプロパティはそれでいいのか?>action="log/200902.htm"
自身に送るなら空白
0541nobodyさん2009/03/22(日) 17:50:34ID:???
>>535
よくぞ見抜いた・・

社会不適合者な君万歳
0542nobodyさん2009/03/22(日) 17:52:24ID:XWTxCtFo
早速ありがとうございます。var_dump($_POST);exit;としてみたのですがarray(0) { }としか表示されません...
formのアクションプロパティは合ってるかと思いますが…。log/200902.htmというファイルに書き込みたいので。
0543nobodyさん2009/03/22(日) 17:55:25ID:???
formのactionには
データを渡すスクリプトのパスを書くんだよ

どのファイルに書き込むかとかは、
スクリプトの方で処理すること

$_POSTの中身が空の配列ってことは、
データが渡されてないってこと
0544nobodyさん2009/03/22(日) 18:02:21ID:XWTxCtFo
あ!formのaction属性を空にしてみたらこんな表示が出ました。
array(2) { ["title"]=> string(4) "test" ["text"]=> string(4) "test" }

これはデータが渡されてるということなんでしょうか。しかしlog/200902.htmの中身は相変わらずです…。
0545nobodyさん2009/03/22(日) 18:09:39ID:???
exitしてるからログは書き込まれないよ
それはそうとまずHTMLを理解しないと
0546nobodyさん2009/03/22(日) 18:12:30ID:XWTxCtFo
すみません…。あまりにも無知でした。exitすると処理が終了するということはリファレンスサイトで見たはずなのに…。恥ずかしいです。
HTMLにも理解がありませんでした。重ね重ね恥ずかしいかぎりです…。
0547nobodyさん2009/03/22(日) 18:17:48ID:XWTxCtFo
できました!ご教授下さった方のいう通りにしたらlog/200902.htmに書き込むことができました!
本当に無知な私にここまで親身になってくれてありがとうございました。本当に感謝します。
また何かわからないことがあったら自分で調べて、それでもわからなかったらまたこのスレにお世話になると思います。その時はどうか暖かい目で見てやってください…
0548nobodyさん2009/03/22(日) 18:27:06ID:???
ログファイルがhtmってのなんだかな〜
0549nobodyさん2009/03/22(日) 18:34:08ID:XWTxCtFo
はい。htmlにさせて頂きました...
0550nobodyさん2009/03/22(日) 18:45:54ID:???
いやそういうことをいってんじゃないんだけど
まあいいや
0551nobodyさん2009/03/22(日) 19:52:51ID:???
普通はログはテキストのまま、つまり記事本文だけを保持する。
例えば2chは、以下のようなテキスト形式でデータを保存している(本当は違うんだが、まあ割愛)。
 nobodyさん<><>2009/03/22(日) 18:34:08 ID:XWTxCtFo<> はい。htmlにさせて頂きました... <>
そのログファイルの内容を読み込んで、HTMLとして整形して書き出すPHPで本文を表示させるわけだ。

HTMLで保持しない理由はいくつかある。パッと思いつくのは
柔軟性
 例えば、表示されるHTMLを別の形にしたいとか、RSSも書き出したい、という時に再利用しづらい。
 記事削除passをつけたいとか、データ保持先をDBにしたいとか、色んな拡張性が失われたりもする。
セキュリティ
 本文に<script>alert('うけけけけけ');</script>と書かれたらどうなる?とか。
 どちらにせよ対策は必要なのだが、ログをHTMLとして持っていると、どこで対策すりゃいいのかが曖昧になりやすい。
容量
 無駄にデカくなる。大した問題じゃないが。
0552nobodyさん2009/03/22(日) 20:56:06ID:???
実体参照化してからHTML化すれば?
0553nobodyさん2009/03/22(日) 23:17:35ID:???
やり方にもよるかな
ログをhtmlとして書き出す掲示板はkentも作ってたな
0554nobodyさん2009/03/22(日) 23:23:17ID:???
やり方にもよるって・・

ログをHTMLとして書き出しておくのは
論外といったら失礼かもしれないけど、
明らかに保守性なさすぎじゃないか?
05555542009/03/22(日) 23:29:53ID:???
書き出しておく・・じゃなくて
保持しておくだった
0556nobodyさん2009/03/22(日) 23:30:00ID:???
テンプレートとログを分けておいて、記録するときにテンプレートを元にhtml化すればおkだけどな
0557nobodyさん2009/03/22(日) 23:30:47ID:???
XMLみたいなもんと思えば、アリじゃないかとも思う。
一件一行で、ヘッダとフッタを除いた状態で保存するなら、そんなに保守性もわるくないと思うが。
0558nobodyさん2009/03/22(日) 23:34:55ID:???
閲覧が多くて書き込みが少ないのならhtml化してもいいかな
0559nobodyさん2009/03/22(日) 23:43:37ID:???
あめぞうスクリプト見れ
0560nobodyさん2009/03/22(日) 23:49:52ID:cLpptsUH
現在自分が作成しているPHPとMySQlを使ったログイン認証システムで
穴がないか不安になってきたので、質問します。
要点のみを記載します。

・ID(又はメールアドレス)とパスワードをフォームに入力して、
 MySQL内の情報を照合
・正しければトークン用のコードを発行し、ユーザ情報を更新
 (テーブルのtokenフィールドに作成した値を追加)
・その他、セッション変数にはログイン時のUAとIPアドレスを代入
・各ページアクセス毎にセッション情報が正しいかをIFで調べる
(会員情報編集などの場合、ユーザIDとトークンコードが正しいか照合)
・パスワードはmd5で保存

と言うことをしています。他に「これもしろ」と言うことはありますでしょうか?
0561nobodyさん2009/03/22(日) 23:50:51ID:???
ソースを見せるのが早い
0562nobodyさん2009/03/22(日) 23:51:39ID:???
ID(又はメールアドレス)とパスワードをフォームに入力して、
 MySQL内の情報を照合


(1)この時に、SQLインジェクション対策はされているのか?
0563nobodyさん2009/03/22(日) 23:52:30ID:???
md5は破られるのでsha2にしたほうが無難
0564nobodyさん2009/03/22(日) 23:52:40ID:???
>>560
そういうしつもんすると>>562みたいな質問がきりがなく出てくるのでソース出したほうが早い
0565nobodyさん2009/03/23(月) 00:10:54ID:???
>>533
やっぱり再帰ですね
ありがとうございました
05665602009/03/23(月) 00:16:39ID:???
>>562
しています。まず入力値にhtmlspecialcharsをかけて
DBアクセス時にmysql_escape_stringをしています。

ソースに関してですが、莫大な量になるので掲載を控えます。
それにソースや構文の組み立てを聞きたいのではなく、
自分の足りない知識・誤っている知識を指摘していただきたく思い、質問しました。
0567nobodyさん2009/03/23(月) 00:29:46ID:???
( ゚д゚)
0568nobodyさん2009/03/23(月) 01:02:57ID:???
>>566
>まず入力値にhtmlspecialcharsをかけて

らめぇええええ
0569nobodyさん2009/03/23(月) 01:35:27ID:???
>>565
否。ただのループ。
0570nobodyさん2009/03/23(月) 02:53:59ID:RPfvHZ0v
test.txt
> 0123456789

test.php
> $fp = fopen("test.txt", "r");
> while(!feof($fp)) {
>   print fread($fp, 1);
>   flush();
>   sleep(1);
> }
> fclose($fp);

test2.php
> $fp = fopen("test.txt", "w");
> fwrite($fp, "aaaaaaaaaa");
> fclose($fp);
>
> $fp = fopen("test.txt", "r");
> print fread($fp, 10);
> fclose($fp);

test.phpが走ってる最中にtest2.php走らせても
test.phpの出力にtest2.phpの書き換えは反映されなかった。

読み出しに関してはルーズな実装してもOKって事?
0571nobodyさん2009/03/23(月) 05:27:55ID:???
flushされるタイミングの都合で、たまたまじゃないかなぁ。
0572nobodyさん2009/03/23(月) 05:29:12ID:???
良く見たら明示的にflush は、してるのか。
ごめん。
0573nobodyさん2009/03/23(月) 22:30:27ID:???
>>560とは別人で悪いんだけど、気になったからよこやり入れさせて。

>>568
ID(もしくはメールアドレス)は、必ずしもブラウザで表示するわけじゃないから、
 ・DB内の情報と照合する時 → mysql_escape_string(mysql_real_escape_string)
 ・ブラウザに表示する時   → htmlspecialchars
みたいにする、ってことでおk?
じゃないと、ID(もしくはメールアドレス)を更新する際に、'<'が'<'って保存されてしまうからっていうことかな。
見当違いだったらすまん。
0574nobodyさん2009/03/23(月) 22:33:45ID:???
連続書き込みスマソ

>>573訂正
じゃないと、ID(もしくはメールアドレス)を更新する際に、'<'が'&lt;'って保存されてしまうからっていうことかな。
0575nobodyさん2009/03/23(月) 22:38:01ID:???
そうやって保存されてしまうからっていうのと、
保存されてしまうことによって再利用するとき不便になるからだね
0576nobodyさん2009/03/23(月) 22:58:16ID:???
test
0577nobodyさん2009/03/23(月) 23:07:14ID:???
>>575
なるほど、いい勉強になった。
ありがとう。
0578nobodyさん2009/03/23(月) 23:45:08ID:uVBii4+5
サーバを再起動したらapacheのerr.logに
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\PHP\\ext\\php_curl.dll'
と同じようなログがたくさん出ます。
でも、該当のファイルは存在します
何が原因でしょうか?
0579nobodyさん2009/03/23(月) 23:53:02ID:???
>>573-575
でもさ、ID・メールアドレスを更新する時に<を使う場合ってあるの?
IDはだいたい半角英数字だし、メールアドレスもそうでしょ?
0580nobodyさん2009/03/24(火) 00:01:55ID:???
どこでサニタイズするかは勝手だが、
100%ってことはないので出口でサニタイズしろってエロい人が言ってた
0581nobodyさん2009/03/24(火) 00:17:34ID:???
サニタイズニダ!
0582nobodyさん2009/03/24(火) 00:41:05ID:???
>>578
PHPのバージョンは?

DOS窓から、php -mや、php -iって打っても、エラー出る?

5.2.9-1なら
> Please note that the cURL related function is disabled when open_basedir or safe_mode enabled.
ってニュースが出てたけど、関係しそうなとこある?
0583nobodyさん2009/03/24(火) 04:21:02ID:???
すいません。PHP勉強して半年になります。順調に進んでいたのですが
echo $a[0] = 'aaa';
echo $a[0][0] = 'news';
こうすると、なぜかバグルのですが、なぜですか?
0584nobodyさん2009/03/24(火) 04:25:00ID:???
そりゃechoですからね
出力だけしてくださいよ
0585nobodyさん2009/03/24(火) 04:25:16ID:???
それは、君が>>1を読めない子ちゃんだから。
0586nobodyさん2009/03/24(火) 04:26:30ID:???
すいません、なぜこれでバグになるかわからないんです
echo $a[0] = 'aaa';
echo $a[0][0] = 'news';
print_r($a);
↓結果
Array ( [0] => jaa )
0587nobodyさん2009/03/24(火) 04:26:58ID:???
>>584
おまいさんは、輪をかけてドアホーみたいだけどな
0588nobodyさん2009/03/24(火) 04:28:52ID:???
>>586
バグってないじゃん。仕様通り
文字列の1文字目を置換してる
0589nobodyさん2009/03/24(火) 04:30:23ID:???
バグって増すよ
<?php

$a[0] = 'aaa';
$a[0][1] = 'jjjjk';

print_r($a);
Array ( [0] => aja )
0590nobodyさん2009/03/24(火) 04:32:35ID:???
>>589
バグじゃないよ。
$a[0]は文字列
$a[0][1]はその2文字目を代入しようとしてる文字列の1文字目で置換せよ
だから、$aは1要素配列のまま。
そんだけ。
0591nobodyさん2009/03/24(火) 04:34:04ID:???
>>590
そうなるんですか。知りませんでした。今までやってきて
そんな配列あったんですか 適当に使ってました
0592nobodyさん2009/03/24(火) 04:34:50ID:???
>>591
マニュアルに書いてあるよ。
0593nobodyさん2009/03/24(火) 04:35:22ID:???
自分は初心者なので、配列=箱としか書いてあるものをみたことが
なかったんです。助かりました>>1-589
0594nobodyさん2009/03/24(火) 04:39:30ID:???
変数を array で初期化しないで、いきなり配列として使うのは、どうも生理的・本能的にダメ。
0595nobodyさん2009/03/24(火) 04:42:07ID:???
arrayで初期化しても置き換えられますよ
自分初心者だったのでこんなのあったんだとびっくりしました
0596nobodyさん2009/03/24(火) 04:46:27ID:???
残念ながら>>594が言ってるのは次元の違う話だ
PHP使いは適当がモットーだから気にしなくていい
0597nobodyさん2009/03/24(火) 04:49:11ID:???
>>596
そうですか。今まで掲示板とブログ作ったんですか
そのような配列の使い方を書いてあるのがみたことなくて
気になりました
0598nobodyさん2009/03/24(火) 07:45:46ID:???
2重配列って呼び方であってる?
0599nobodyさん2009/03/24(火) 07:53:32ID:???
2次元配列じゃないよ。そのケース。
単に、1次元配列の要素が文字列で
その文字列にstring offsetでアクセスしてるだけ
06005862009/03/24(火) 08:34:05ID:???
難しいなあそんなの出てこなかった
初心者本には、
あくまで 配列は個々の箱だと意識してました
データ型を指定しなくていいように、箱も好きに使っていいと
思ってました。
0601nobodyさん2009/03/24(火) 08:34:37ID:???
そりゃ初心者本だからだろ
0602nobodyさん2009/03/24(火) 08:52:05ID:???
>>589
バグ

>>590は下のコードと勘違いしてるんじゃないのかね
$str = "12345";
$str[0] = "a";
echo $str; // a2345
0603nobodyさん2009/03/24(火) 08:55:32ID:???
>>602
いや、だからそれとやってることは一緒だろ
0604nobodyさん2009/03/24(火) 08:56:49ID:???
602が勘違いしてるんじゃないのかね
0605nobodyさん2009/03/24(火) 09:01:48ID:???
コンパイラ言語はデータ型ちゃんと指定するから
静的な変数(配列)の型定義というのは
型に応じたメモリ領域を確保するということ(Javaでint型なら4バイトlong型なら8バイト等)
PHPはインタプリタだからその辺を動的にやってるわけ
この辺をちゃんと理解してないと正しいイメージはわかない
配列は箱ではなく連続したデータというイメージが正しい
メモリ上ではそのように配置されている
0606nobodyさん2009/03/24(火) 09:45:45ID:VfITkfEn
>>582
versionは5.2.3だったと思います
C:\php>php -m としたら、「isqlt09a.dllが見つからなかったため、このアプリケーションを開始できませんでした。
インストールし直すと解決する場合があります」 とアラートが出ました

C:\php>php -m
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_ifx.dl
l' - 指定されたモジュールが見つかりません。
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_oci8.d
ll' - 指定されたモジュールが見つかりません。
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_pdo_oc
i.dll' - 指定されたモジュールが見つかりません。
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_pdo_oc
i8.dll' - 指定されたモジュールが見つかりません。
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_pspell
.dll' - 指定されたモジュールが見つかりません。
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_sybase
_ct.dll' - 指定されたモジュールが見つかりません。

C:\php>php -pでも同じ結果です
見つからないって言われてるモジュール、extの中にちゃんと存在してるんですが、、
06075862009/03/24(火) 19:06:44ID:???
誰かプロの人
$aiueo[0] = "a";
$aiueo[0][0] = "aa";
とPHPで入れると置き換わったりする理由を書いて下さい
0608nobodyさん2009/03/24(火) 19:09:04ID:???
>>606
記憶違いかも知れんが、依存関係の都合でライブラリを読み込む順序によって、
そんなメッセージがでたかも。

以前、Windows版のPHPってサンプルのphp.iniの順番だとエラーが出てずいぶん
悩んだことがある。
0609nobodyさん2009/03/24(火) 20:03:31ID:???
>>607
>>1
0610nobodyさん2009/03/24(火) 20:04:24ID:???
>>606
書いてないから確認しとくけどinclude_pathの設定は?
0611nobodyさん2009/03/24(火) 20:09:50ID:???
>>607
置き換わる理由は仕様だから。それだけ。

$a[0] = 'abc';
$as = 'abc';
if ($a[0][0] === $as[0]) {
echo ' $a[0][0] equal $as[0]' . " <br />\n";
}
echo "target :" . $as . " = " . $a[0] . " <br />\n";
echo "offset0:" . $as[0] . " = " . $a[0][0] . " <br />\n";
echo "offset1:" . $as[1] . " = " . $a[0][1] . " <br />\n";
echo "offset2:" . $as[2] . " = " . $a[0][2] . " <br />\n";

$as[1] = $a[0][1] = 'xxxxxxx';
if ($a === array($as)) {
echo ' $a is array of $as' . "<br />\n";
}

echo "replaced:" . $as . " = " . $a[0] . " <br />\n";
echo "offset0 :" . $as[0] . " = " . $a[0][0] . " <br />\n";
echo "offset1 :" . $as[1] . " = " . $a[0][1] . " <br />\n";
echo "offset2 :" . $as[2] . " = " . $a[0][2] . " <br />\n";
0612nobodyさん2009/03/24(火) 20:14:05ID:???
>>606
併せて、php.iniで、extension_dirがC:¥PHP¥extになってるか確認してみて。
0613nobodyさん2009/03/24(火) 20:15:53ID:???
すまんinclude_path関係ないね
0614nobodyさん2009/03/24(火) 20:36:16ID:???
>>606
phpinfo()を実行してみて、php.iniをどこから読み込んでいるのかも確認してみて。

以前、WINDOWSディレクトリと、phpの展開先の両方に異なる設定のphp.iniを置いていて、はまったことがあるので。
0615nobodyさん2009/03/24(火) 20:37:10ID:???
始めの頃ありがちw
0616nobodyさん2009/03/24(火) 21:07:22ID:/zsLtnA9
クラスの数が多くなってきたので(__autoloadで読み込み)
複数クラスを一つのファイルにまとめたら速くなるのではと
思うのですが、それって実際どの程度の効果があるでしょうか?
まとめなくても、元来OSがファイルキャッシュするので、
あんまり変わらない気もします
0617nobodyさん2009/03/24(火) 21:09:24ID:???
計れば良いのでは?
0618nobodyさん2009/03/24(火) 21:18:30ID:???
>複数クラスを一つのファイルにまとめたら速くなるのではと
再利用とか無視して一人で使うんだろうから別にいいとは思うけど
それでも基本どおり1クラス1ファイルにしときな
06196062009/03/25(水) 00:12:15ID:4yhBz/QX
みなさんたくさんのレスありがとうございます

>>612
そうなってました
>>614
C:\WINDOWS  でした。正しいですよね…

>>608さんの書いてる原因かなぁ
もうwindowsで作るの自体やめよっかな
0620nobodyさん2009/03/25(水) 00:32:37ID:???
>616
ボトルネックがわかっていない状態でチューニングをしてはいけない。
まずは測定。

ファイル数云々というより、__autoload()の呼び出し回数が減ることによる高速化は一応期待できるかな。
マジックメソッドの類は総じて重い。
まあ、DBやファイルへのアクセスがあるならそっちがボトルネックになってるとは思うけど。
0621nobodyさん2009/03/25(水) 01:59:46ID:???
>>616
環境いじれるなら、APCとか使うのが良いんじゃないかなぁと思う。
ソースコードは扱いやすい単にしておいた方が、いろいろ良いし。

自分ははクラスはモジュールぐらいの単位の方が扱いやすいんで、
1クラス1ファイルにはしてないけど。
■ このスレッドは過去ログ倉庫に格納されています