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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/02/07 21:47:15ID:???
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
0591nobodyさん05/02/24 00:01:36ID:???
>>590
サンクス
エディタのほうの設定を調整してみます。
0592nobodyさん05/02/24 02:05:13ID:???
サーバとブラウザーのやり取りのhttpを覗くプロクシみたいなツールってありましたよね?

名前が思い出せない。布だったかそんな名前で、トレイに常駐してる、白いアイコンのやつ。

探してます。
0593軟式PHP05/02/24 10:15:42ID:???
>>592
ベクターでも漁れや。いくらでもあるだろ。
0594nobodyさん05/02/24 14:56:48ID:???
例 3. URLからドメイン名を得る

// URLからホスト名を得る
preg_match("/^(http:\/\/)?([^\/]+)/i",
"http://www.php.net/index.html", $matches);
$host = $matches[2];
// ホスト名の最後の二つを得る
preg_match("/[^\.\/]+\.[^\.\/]+$/",$host,$matches);
echo "ドメイン名: ".$matches[0]."\n";

マニュアルのpreg_matchからですが、上記のスクリプト中に出てくる
「^」や「?」や「+」や「$」はなんとか演算子ってヤツですか?
それぞれどんな意味と、役割があるのでしょうか?
またなぜ2つ目のpreg_match()はパターンを()ではなく[]で囲ってるのでしょうか?
それとマニュアルに載ってますか?
0595 05/02/24 15:08:17ID:???
>>594
>それとマニュアルに載ってますか?
とりあえずマニュアルを読め。
話はそれからだ。
0596nobodyさん05/02/24 15:23:52ID:???
>>595
もちろん演算子のページは読みましたよ。
ココでいいですよね?
http://jp.php.net/manual/ja/language.operators.php
これを読んでも理解できません。ただ、結合させるって意味なんでしょうか?
0597595 05/02/24 15:41:21ID:???
>>596
OK、では聞くときには「なんとか演算子」とかじゃなくて、
自分が思ったのでいいから具体的に書いてくれ。
じゃないと「何がわからないのか」がわからんので。
で「マニュアルに載ってますか?」と聞かれると「マニュアル見てないの?」となるので
マニュアルは見たけど見つからない、それっぽいのは見つけたけど意味がわからない、とちゃんと書いてくれ。
「情報は小出しにしない」というのが暗黙のルール。

で、上でおまいさんが聞いている記号は「メタ文字」と言って、正規表現の話。
「php 正規表現」とかでググれば色々出てくると思われ。
例えば
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm
とかな。
正規表現について詳しく知りたかったら

正規表現道場@2ch Part4
http://pc5.2ch.net/test/read.cgi/php/1105930285/

とかで過去ログ読んだり質問したりしる。
まあガンガレ。
0598nobodyさん05/02/24 15:56:09ID:???
まぁ、なんだ。マニュアルにも正規表現の解説が載ってるんだけどな。
ttp://jp.php.net/manual/ja/pcre.pattern.syntax.php
0599nobodyさん05/02/24 16:02:44ID:???
>>597-598
ありがとうございます。
非常に助かりました。
0600nobodyさん05/02/24 16:37:52ID:???
漏れはJS/AS/VB/Perlをやってる人です。
オブジェクト指向に慣れ親しんでるからver5が良さげなんですが、現在の主流や将来性を考えると今からPHPを学ぶとした場合、Ver4と5のどちらが良いんでしょうか?
0601nobodyさん05/02/24 17:33:58ID:???
>>600
「学ぶ」んだったらPHP5
「使う」んだったらPHP4(プログラマだったらPHP5か)
0602nobodyさん05/02/24 18:36:51ID:S+cLCUGy
指定した個数分($inv)、同じ文字('a')を連結したいのですが、
つまり、
$inv = 5 なら、aaaaa
ループ以外にやり方ないでしょうか?
0603nobodyさん05/02/24 18:43:29ID:???
アンケートを取りたいんですが、

・賛成
・反対

のradioボタンで選択させ、反対票だけ2倍にカウントするには
どうしたらいいんでしょうか?
0604nobodyさん05/02/24 18:50:14ID:???
>>603
自分で答え書いてるじゃん
0605nobodyさん05/02/24 19:29:46ID:???
全然PHPじゃないな
0606nobodyさん05/02/24 19:31:46ID:???
>>602
http://jp2.php.net/manual/ja/function.str-repeat.php
0607nobodyさん05/02/24 19:49:33ID:???
>>606
ありがとうございます。
助かりました。
0608nobodyさん05/02/24 21:02:37ID:???
>603
そんな某国の情報操作みたいなことはヤメレ
0609nobodyさん05/02/24 22:01:18ID:???
>>603
warata
0610nobodyさん05/02/24 23:07:50ID:???
>>600
将来性を考えればどちらがいいか明らかだと思うけど
0611nobodyさん05/02/24 23:19:05ID:???
将来性より、明日の受託業務
0612nobodyさん05/02/24 23:35:47ID:sdrJy1MC
PHPでチャットって作れるん?
0613nobodyさん05/02/25 00:07:01ID:???
>>612
<?php
$DATFILE = 'hoge.dat';

if($_GET['msg']){
 $fp = fopen($DATFILE,'a');
 fwrite($fp,$_GET['name'].' says:'.$_GET['msg']);
 fclose($fp);
}
print_r(file($DATFILE));
exit;
?>
0614nobodyさん05/02/25 00:10:09ID:???
>>612
探せ
0615nobodyさん05/02/25 00:53:28ID:VA4tKjSS
掲示板を作りたいのですがどうすれば良いでしょうか
0616nobodyさん05/02/25 00:54:33ID:???
>>615
大いにやりたまえ
0617nobodyさん05/02/25 01:54:56ID:???
>>613
header('Content-Type: text/plain');
入れとかなきゃデフォルトだとhtml扱いされて(+д+)マズー
0618nobodyさん05/02/25 02:02:40ID:???
PHPというか他のプログラムに共通するかもしれませんが、

検索して検索結果が表示されてそのページ内の個々のデータを
見てブラウザの戻るボタンで前に戻ろうとすると
「警告 : ページの有効期限切れ」が表示されます。
Javascriptのhistory;back()でも同じ状態になります。

これを回避して検索結果の状態に戻す方法は無いのでしょうか?
0619nobodyさん05/02/25 02:33:32ID:???
>>618
別にブラウザのキャッシュを表示しても構わないようなものなら
静的なhtmlにすればいいような気がするけど。

header() で Cache-Control: とか設定すればよかった気がする。
httpのRFCを読むなりしてそれらしいヘッダがあれば設定してみれば?
0620nobodyさん05/02/25 02:41:50ID:???
ああ、検索結果なのね。データベースが頻繁に更新されないようなものなら
ブラウザのキャッシュに戻れた方がいいのかな。

google は確か検索結果をキャッシュするようにしてたから、
telnet google.co.jp 80 してみて、それらしいヘッダを設定する手もあると思う。
062161805/02/25 12:32:03ID:???
>>619-620

いや、検索結果というのは自身で作成したプログラムです。

例えば会員検索のPHPプログラムがあったとして
検索フォーム(HTML)→検索結果(PHP)→詳細情報(PHP)→
検索結果に戻る→有効期限切れエラー

やはりブラウザに依存するんですかね。。
0622nobodyさん05/02/25 12:49:33ID:???
検索フォーム(HTML)→検索結果(PHP)
ここをmethod="get"にしたらどう?
062361805/02/25 14:40:24ID:???
>>622
出来ました!!!盲点でした!ありがとうございました。
0624nobodyさん05/02/26 00:15:54ID:DKGm/bS1
sessionの一つのキーに連想配列で100個近く情報を保持する
ことになったのですが、sessionに保存できる上限値みたいな
ものはあるのでしょうか。

昔Perlでcookieを使っていたとき、一つのキーに3000バイト
くらい入れたら500エラーが出たことがあるので、質問させて
いただきました。

サーバサイドで持つものなので大目に取れるのではとは
思っておりますが、ご教示いただけますと幸いです。
0625nobodyさん05/02/26 02:37:43ID:???
php-nukeについてなんですが
Lovemorgue.orgで使われてる右側のメニューのモジュールは
なんですか?
0626nobodyさん05/02/26 05:44:25ID:???
>>624
試せば良いじゃん。自分のさばーで。
0627nobodyさん05/02/26 06:16:31ID:???
>>624
実装上の制限はあるかも知れないけど、100程度だったら問題無いんじゃないの?
心配ならphpのソースコードを見てみれば良いかと。

cookieに関しては、RFC 2109(新しいものが出てるかも知れない)の
6.3 Implementation Limits に、
at least 4096 bytes per cookie の一文がある。
0628nobodyさん05/02/26 07:28:59ID:1NcE1tZV
fopenしようと思ったら
Resource id #2
と出たんですがこれって何をうったえてるんでしょうか?

ちなみにやりたい事は↓これなんですけども…
$handle = fopen('aaa.txt', 'r');
echo $handle;
fclose($handle);
もしかしてaaa.txtのパーミッションは644じゃダメですか?
0629nobodyさん05/02/26 07:52:03ID:???
>>628
PHPは型にうるさくない言語なので普段は意識しないかも知れないが、
スカラー型 - 論理値・整数・浮動小数点数・文字列
複合型 - 配列・オブジェクト
特別な型 - リソース・NULL
の計8個の型が存在する。

リソース型の一覧は、
ttp://www.php.net/manual/ja/resource.php
に載ってるが、このうちfopenはファイルハンドルを扱うリソースを生成する。
ファイルハンドルつーのは、、、説明していくとキリが無いな・・
そのページにファイルハンドルを扱う関数の一覧もあるから、それらの説明を参照してくれ。
0630nobodyさん05/02/26 08:56:17ID:LIYJX+3j
すいません、いつのまにか、すべてのphpファイルが
Internal Server Errorになってしまいました。
なお、mod_php5, freebsd5.3,apache1.3.33です。

上記の「いつのまにか」が思い出せないのですが、
どなたか、可能性のあるコトや解決方法を教えていただければ幸いです、

なぜmod版なのにInternal Server Errorなのかも不思議ですが。。。
063163005/02/26 09:06:46ID:LIYJX+3j
なお、php.iniが原因かとおもい
mv php.ini php.ini.tmp
してみても、症状変わらずです
063263005/02/26 09:14:57ID:???
すいません、apacheのmodwriteがわるさをしてることにきづきました、すみません
0633nobodyさん05/02/26 11:02:34ID:???
while($line = array_pop($log)){

}
って使えないのですね
$lineが空になります
0634nobodyさん05/02/26 11:38:37ID:???
>>633
マニュアルによると、
mixed array_pop ( array array)
だから、$lineになんらかの値が入るよ。$logがnullや非配列だったら論外だが。

むしろ疑うならwhileの方じゃないかねぇ。
while(boolean) だから、$lineにarray_popの結果が入った後に
booleanとして評価される(型の変換)。
$lineが FALSEなら当然そこで終了になるし、数値の0や空文字''、文字列の'0'なんかもfalseになる。
063563305/02/26 11:46:04ID:???
>>634
apacheのアクセスログを\nで分割して配列に入れていたのですが
今ログを開いてみたら最後に改行が入っていました;
お騒がせしました
0636nobodyさん05/02/26 12:47:00ID:???
別ファイルの<!--- --->で囲まれた部分を読み込んで出力したいのですが
$GrabURL = "hoge.html";
$GrabStart1 = '<!--- aaa1 --->';
$GrabEnd1 = '<!--- /aaa1 --->';
$GrabStart2 = '<!--- aaa2 --->';
$GrabEnd2 = '<!--- /aaa2 --->';
$OpenFile = fopen("$GrabURL", "r");
$RetrieveFile = fread($OpenFile, filesize($open_file));
$GrabData = eregi("$GrabStart1(.*)$GrabEnd1", $RetrieveFile, $DataPrint);
fclose($OpenFile);
echo $DataPrint[1];
だと当然のことながら<!--- aaa1 --->しか出力されません。
これを<!--- aaa2 --->も一緒に出力させるにはどうしたら良いのでしょうか?

# $GrabDataとechoのあたりが怪しいと思うのですがどこをどう書き換えたらいいのかさっぱり…
0637nobodyさん05/02/26 13:02:24ID:???
>>636
$reg = "/<!-- (.+?) -->(.+?)<!-- \/\\1 -->/";
preg_match_all($reg,$RetrieveFile,$DataPrint);

こうかな?
063863605/02/26 13:33:05ID:???
すみませんなんとか自己解決しました…力技で、ですが…_| ̄|○
0639nobodyさん05/02/26 13:42:55ID:???
>>636=638
まさか、
$GrabData1 = eregi("$GrabStart1(.*)$GrabEnd1", $RetrieveFile, $DataPrint1);
$GrabData2 = eregi("$GrabStart2(.*)$GrabEnd2", $RetrieveFile, $DataPrint2);
・
・
echo $DataPrint1[1];
echo $DataPrint2[1];

じゃないよな?よな?
637が一番綺麗でスマートだと思うぞ・・・
0640nobodyさん05/02/26 13:52:37ID:zRP2Hji7
掲示板を作っているのですが、設定ファイルを別ファイルにして管理しています。

設定ファイルには掲示板のタイトルや表示件数などがあり
フォーマットは

----------
Sample BBS,10,5
-----------------

のようにカンマで区切られています。

カンマで区切ると、ユーザーがタイトルのところにカンマを入れた場合
区切り文字だと誤認してしまいます。

これを回避するには、特殊文字に変換するか、URLエンコードして保存するというの
があると思うのですが、通常はどちらの方法をとるのでしょうか?
0641nobodyさん05/02/26 15:35:04ID:???
フォーマットを変えよう
0642nobodyさん05/02/26 15:48:19ID:???
データベース使おうよ
0643nobodyさん05/02/26 16:22:16ID:???
カンマ変換すれば。
0644nobodyさん05/02/26 18:22:21ID:???
もの凄くくだらない質問でわるいのですが、教えてください。

echo $_SERVER["REMOTE_ADDR"];
echo $_SERVER["REMOTE_HOST"];
echo $_SERVER["HTTP_REFERER"];
echo getenv("REMOTE_ADDR");
echo getenv("REMOTE_HOST");
echo getenv("HTTP_REFERER");

これを試すと表示されるのは両REMOTE_ADDRだけで、HTTP_REFERERに至っては怒られます。
php.iniの設定の問題でしょうか?
どこを見れば良いのかわからないんですが、関係ありそうなところは
register_globals = OFF
register_argc_argv = On
くらいでしょうか?他に見る必要がある場所ありますか?
0645nobodyさん05/02/26 18:33:50ID:???
>>644
<pre>
<?=print_r($_SERVER)?>
</pre>

REMOTE_HOSTはサーバーからDNS逆引きしてるわけじゃなく、
クライアント側で付加するかしないかなので、
表示するやつとしないやつがいるのは仕方が無い。

んで、「怒られる」とか訳の分からない表現を使うな。
エラーが出るならそのエラーをまるまるコピペ。
あと、バージョン周りの表記も必要。

php.iniは関係無い気がする。
0646nobodyさん05/02/26 18:56:53ID:???
何となく匿名関数を使って見たのですが、string codeに<?が含められないので
絶対パスでファイルの内容が丸見えになってしまいますね。
拡張子でアクセス制限するのではなく他に良い手だてはないものでしょうか?。

>>644
E_ALLで変数が存在していないだけでは?
0647nobodyさん05/02/26 18:58:51ID:???
エラーはNotice: Undefined index: HTTP_REFERER in D:\(略)test.php on line 6です。
バージョンはPHP Version 4.3.6
Server API ISAPI
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\WINDOWS\php.ini
PHP API 20020918
PHP Extension 20020429
Zend Extension 20021010
Debug Build no
Thread Safety enabled
Registered PHP Streams php, http, ftp, compress.zlib
こんなもんでいいでしょうか?
0648nobodyさん05/02/26 19:03:52ID:???
>>646
error_reportingですか?
確かにE_ALLにしてます。
E_ALL & ~E_NOTICEにしたらエラーは表示されなくなりました。が、REMOTE_ADDRしか表示されないのは変わらずです。
表示されないのもあるとの事なのでしょうがないんですね?HTTP_REFERERもそういうことなんですか?
0649nobodyさん05/02/26 19:32:12ID:???
>>648
しょうがないのではなく、そういうものです
環境変数が何であるのかを勉強して来た方が良いですよ
065063605/02/26 22:20:10ID:???
>639
ご、ごめ…そのまさかです…動くからいいかなって…w
>637のは大変有り難いのは分かってるんですが仕事が鮮やかすぎて
今の俺のスキルではどう使ったらいいのかすら分からなかったんだ…
現状はこのままで、試行錯誤していずれ>637のアイテムを理解できるように頑張ってきます

# 本音:マニュアル読んでも全然わかんねぇ…
0651nobodyさん05/02/26 22:35:45ID:???
>>648
REMOTE_HOST はWebサーバ自身が逆引きをしておかないと設定されない。
apacheなら HostnameLookups on。
全アクセスに対して逆引きが実行されるのであんまりお勧めできない。
(webサーバではなく)PHPが逆引きするにはgethostbyaddrという関数が用意されている。
0652nobodyさん05/02/26 23:43:58ID:zgM2ruO5
ちょっと自分の力量では無理っぽいので質問させて頂きます。
POSTでバイナリーデータを受け取り、変数に入れる場合、どのようにすれば
良いのでしょうか?どんな情報でも結構ですがので、どうかアドバイスお願い
致します。
0653nobodyさん05/02/26 23:55:56ID:???
>>652
ttp://php.s3.to/man/features.file-upload.html
065465205/02/27 00:04:35ID:Quvh5uNr
>>653 様

情報ありがとうございます!
クライアントから送られてきたバイナリファイルは、$HTTP_POST_FILES
でサーバ(PHP)側で受け取れるということであってますでしょうか?
0655nobodyさん05/02/27 00:12:08ID:G/Og0QBF
買い物カゴをperlで作成する際に、クライアントのカゴを保持したいのですが、
カゴとクライアントをどのようにつなげてよいかわかりません。

つまり、カゴにIPアドレスを付ければある程度誰の買い物籠か
わかりますが、それではproxyを経由しているPCたちはみんな同じ
カゴになってしまいます。どうしたらよいのでしょうか?
0656nobodyさん05/02/27 00:16:33ID:???
perlのスレにいけばよいかと
0657nobodyさん05/02/27 00:21:39ID:???
>>655
ここはPHP(言語)スレですよ。

買い物カゴのように複数のhttpアクセス間でデータを継続するには
セッションと呼ばれる仕組みを使います。
perlにもセッションを提供するモジュールがありますが、
簡単な物の場合は自作してしまってもよいでしょう。
自作する場合には、
1. cookieや urlの一部に データそのものを付加する
2. データ本体はサーバ上のファイルに保持しておき、
 そのデータへのIDとなるものをcookieやurlの一部に付加しておく
の2つの方法があります。
0658nobodyさん05/02/27 01:13:03ID:G/Og0QBF
>>657
なるほど、ありがとうございます。場違いな場所…すいませんでした。

クッキーを使ってみます。本当にありがとうございました!!
065965205/02/27 02:28:21ID:Quvh5uNr
なんどもすいません。
受け取ったバイナリデータを$dataに入れ
filesize($data);
とやってもエラーになるのですが、バイナリデータのサイズはfilesize()
では取れないのでしょうか・・・(T.T)
0660nobodyさん05/02/27 03:02:55ID:???
>>659
変数のバイト長ならstrlenでいいんじゃない?
アップロードされたファイルのサイズを知りたいなら一時ファイルのサイズで
filesize()すればいいだけだよ。
066165905/02/27 03:51:26ID:Quvh5uNr
>>660
そうでした。strlen()でいけました。
ありがとうございます。
0662nobodyさん05/02/27 18:49:25ID:/nNhQDUH
あるhtmlファイルを ftp_put でアップロードする際に、
内部の文字列を一部変更したいのですが、
どのようにすればいいでしょうか?
0663nobodyさん05/02/27 18:56:05ID:???
>>662
先にナメて痴漢した上でうp。
0664nobodyさん05/02/27 23:32:30ID:???
DBにアクセスするためのパスワードなど各種設定を別ファイルに保存しておいて
実行時に読み出すようにしているのですが、この設定ファイルを当該スクリプト以外から
読み出されないようにするにはどうすればいいでしょうか?

ちなみに共用サーバーなのでサーバー側の設定はいじれません。
0665nobodyさん05/02/28 00:41:54ID:???
>>664
>当該スクリプト以外から
自分の設置するスクリプト以外からってこと?

んで、サーバの情報ヽ(`Д´)ノクレヨ
0666nobodyさん05/02/28 00:53:52ID:???
>>664
無理。
0667nobodyさん05/02/28 00:54:06ID:???
>>665
そうです。
もしくは読み出されても悪用されないようにデータを暗号化しておくなどでもいいのですが。

あと、サーバー情報ってどんな事を書けばいいのですか?
0668nobodyさん05/02/28 09:08:11ID:Cd7H0ok5
Win32のApache 2.0.48と、PHP4.3.5で、問題なく動いていたのですが、
PHPを4.3.10にしようと思い、

・c:\php\以下を全部削除、
・4.3.10の中身をコピー
・php.iniをwindowsフォルダにコピー

そしてapacheの再起動しました。
エラーで起動せず、イベントビューワーにはphp4apache2.dllが見つからないと。
もちろんパスは合っているし、直前まで前VERで動いていた、
何か変更でもあったのでしょうか?

0669nobodyさん05/02/28 09:22:35ID:???
>>668
apache2.dllのパスが合っているならts.dllも入れ替えろ
窓ユーザーってこんなんばっかか・・・
0670nobodyさん05/02/28 09:32:11ID:???
>>669
うるせー馬鹿
067166805/02/28 09:55:08ID:???
>>669
あ、忘れてた・・・サンクス
067266905/02/28 11:21:28ID:???
>>670
犬ユーザーに言わせるな、カス!笑

>>671
動いて良かったね^^
0673nobodyさん05/02/28 11:23:49ID:???
参照元が検索エンジンからの場合にキーワードを抜きたいと
考えているのですが何処かにパターンマッチの参考になる
スクリプト等をご存じないでしょうか?
0674nobodyさん05/02/28 21:09:40ID:NQSvt/75
自分で作った連想配列をスーパーグローバル変数にすることって可能でしょうか?
0675nobodyさん05/02/28 21:22:22ID:???
>>673
parse_url() を使うのはどうだろう。
0676nobodyさん05/02/28 21:57:28ID:???
$logfile = "***.dat";
のようにDATAファイルのファイル名を不特定にする表現ってどうするのでしょうか?
英字や数字もカバーしたいんですが「.*」じゃだめでした。

もう一つ質問なんですが、PHPとあまり関係なくて申し訳ないのですが
Windowsは半角のバックスラッシュ(\)は普通に打ち込めるものなんですか?
当方Mac+miなんですがマニュアルサイトをIEで見ると\に化け、
iCabで見るとちゃんと半角バックスラッシュ、それをコピペするとやはり\。
文字パレットでバックスラッシュを打ち込もうとしたんですが
全角しか無く、参ったんですが…
0677nobodyさん05/02/28 22:06:46ID:???
>>676
とりあえずプログラミング…というか、PC自体素人?
半角の場合、¥と表示するか、「\」とするかはフォント次第。

Macの見やすいOsakaフォントをWinで使おうプロジェクト
http://osakattf.hp.infoseek.co.jp/

このOsakaフォントはきちんと「\」になってるよ。
漏れ、WinでのPGはOsakaしか使ってない気がする・・・。


で、"*.dat"だけど、どんなときに使うの?
使用する場所によりけりで実装の仕方変えるべきだぞ。
preg_match("/^[0-9A-Z]+\.dat$/i",$hoge)なり使うとかになりそう。
0678nobodyさん05/02/28 22:06:59ID:???
くだらない質問スレに池・・・ってここがそうか。。
ではドゾー
↓
067967805/02/28 22:07:38ID:???
ヒィィ
>>678
>>677
っと
0680nobodyさん05/03/01 15:36:15ID:???
ちょっと行き詰まってしまったので、質問させて下さい。

php4+smarty+jpgraphで、グラフを作っています。
以下を参考にして、MVC(よく理解してませんが)で作ろうとしています。
ttp://www.stackasterisk.jp/tech/php/phpMvc01_02.jsp

この場合、グラフを出力する処理はどこに書くべきでしょうか?

1. index.phpでGETを受け付け、そのGETをそのまま、表示部で引っ付ける
<img src="index.php?action=display_graph&以降パラメータ" >

controller.phpの中でclass/graph.phpを呼び出して、その中で処理。
index.phpがページ表示とグラフ表示を両方行う。

2. graph.phpという別単独スクリプトを作って
<img src="graph.php?以降パラメータ" >
index.phpがページ表示、graph.phpがグラフ表示を行う。

2.は MVCでないような気がします。
1.もなんとなく間違っている気がします。
1.の場合だと、一度パラメータを受け取って、もう一度それを出力すると
いう無駄な処理があるのですが、これでいいのでしょうか?

スマートな方法を教えて頂けないでしょうか?
よろしくお願いします。



0681nobodyさん05/03/01 21:32:45ID:3VPrEAk/
変数は何個まで使っていいの?上限ってあるの?100万個使っても大丈夫?
0682nobodyさん05/03/01 22:17:17ID:???
何を考えてるのかな
0683nobodyさん05/03/02 01:28:12ID:???
>>681
マニュアル読め
Linux系は1000個、 Windows系は100個
0684nobodyさん05/03/02 01:46:25ID:???
>>664
呼ばれるファイルがPHPであれば定数の有無で判別できるけどな
完璧じゃないが‥‥
0685nobodyさん05/03/02 02:32:19ID:???
>>683
正確には
Uinux系は1024個、 Windows系は128個
じゃなかったか。リファレンステーブルの限度だよな。
0686nobodyさん05/03/02 03:13:37ID:???
掲示板を作成しているのですが、親記事と子記事を
ひとつのファイルにまとめて


1<>0<>〜〜
2<>1<>〜〜
3<>1<>〜〜

1番目は記事番号、2番目は0が親記事、1が子記事として
読み込み時に判定させる方法と

親記事と子記事を別々のファイルに保存し、
子記事は親記事の記事番号をキーとして持っており、
親記事は子記事がいくつ存在するかの情報を持たせて、
3つ存在するなら、子記事ファイルのほうから自分の記事番号と
一致する子記事を3つ読み込む

というような方法のどちらを使ったほうが効率がいいのでしょうか?

効率がいいか悪いかの判断は書き込みのほうが多いのか表示するほうが多いのかで
判断するのでしょうか?

0687nobodyさん05/03/02 03:40:35ID:???
>>686
親記事と子記事は入れ子になるの?

>効率がいいか悪いかの判断は書き込みのほうが多いのか表示するほうが多いのかで
>判断するのでしょうか?
意味がわからない。
0688nobodyさん05/03/02 03:58:19ID:???
>>686
単純に表示だけで考えたら
もしKENTのYY-BOARDのような表示形式を考えてるなら
前者の方が効率がいいと思う
2chのようにスレッドタイトル(親記事)を一覧表示させて
そこから子記事(スレッド)を表示させるっていうなら後者の方が効率がいい

あとファイルサイズとファイル数の問題もある
前者は大規模で使われると途端にファイルサイズがでかくなり
目的の記事を探すのに時間がかかるだろうし
後者は大量の親記事に1個2個程度の子記事が作られたとき
小さいファイルが大量に出来ていく

全然答えになってなくてゴメンって感じだが
要は用途を想定しないと効率なんて考えられないってことだ
0689nobodyさん05/03/02 05:09:54ID:XnVo8Giw
if 文の()内で、$name が文字列 abc または def に一致する、
という条件はどう書くんでしょうか?

if ($name == ('abc'|'def'))

ダメですorz

0690nobodyさん05/03/02 06:27:07ID:???
if($name == "abc" or $name == "def")
■ このスレッドは過去ログ倉庫に格納されています