【PHP】質問スレッドPart2
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/10/17 10:52ID:zLTg5ihK答えられる方、返答よろしくお願いします。
参考リンク
■本家
http://www.php.net/
■PHP日本語マニュアル
http://www.php.net/manual/ja/
■Japan PHP Users Group
http://www.php.gr.jp/
■PHP 日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/
■前スレ
http://ebi.2ch.net/test/read.cgi/php/982687820/
0508名無しさん@お腹いっぱい。
02/01/07 01:08ID:???まずマニュアル見ろヨ
基本だろ
0509某orgさん
02/01/08 12:53ID:Y4AwAOoJあるんですけど、v3ってPHPポータルのソフトパッケージかなんかですか?
それとも、PHPのver3.xってことなんでしょか?
オネガイシマス。
0510名無しさん@お腹いっぱい。
02/01/08 12:55ID:2L3br/FV0511教えて君
02/01/08 18:45ID:???これのことじゃねーNO?
0512名無しさん@お腹いっぱい。
02/01/09 20:49ID:9gW4Zmo9どういう考え方で取り組んでいけば良いのでしょうか。
PHP始めて5日目でできる事じゃないかもしれないんですが
ゲームを作りたくてPHPに手をつけたもので。
とりあえず>221のサイトめぐってソース漁りしてきます。
0513名無しさん@お腹いっぱい。
02/01/09 22:05ID:???と言うのは置いといて、ロジックと表示が有ってサーバサイドだと
それをネットワーク越しに行うって感じ。
俺は思考型のゲームは書いた事が無いけど、オセロも相当深い気がした
丁度良いスレが有るから書いとく
http://pc.2ch.net/test/read.cgi/tech/1004395614/l50
0514名無しさん@お腹いっぱい。
02/01/10 07:34ID:???どっかにtemp.datとか作って、それを読み書きすればいいと思われ。
1行目にターン、2行目に現状の配置、3行目に経過データとかを置く感じで。
あとはCとかで書くのと同じ。
対戦のみなら、ロジックも必要無いし結構楽。
つか、ロジックの方もいいかげんなので良いなら簡単。
置くことの出来る場所割り出して、ランダムで置かせるとか。
0515名無しさん@お腹いっぱい。
02/01/10 10:31ID:I1iMP6AJ<?php
session_register("count");
$count++;
?>
これだとうまくいくんだけど、
$HTTP_SESSION_VARS["count"]++;
ってかたちで参照するとインクリメントできないっす。
これってなんでなんでしょう?
ちなみにtrack_vars, register_globalsともに有効になってます。
ガイシュツだったらごめんなさい。
0516436
02/01/10 10:49ID:tl6P+ZV7書いて試せるようになりました。
勉強のために、掲示板のような実際に動くものを作ろうと思います。
(DBMを含めて)DBが使えないウェブスペースで掲示板を作る場合、
データの保管にはどのような方法があるのでしょうか?
考えついた方法は、
1、 ファイルをいっぱい作る。テキストの形で保管する。
正規表現関数などを使って、読み書きの処理をする。
2、 ファイルは少数にとどめる。キー=値 のような形で保存及び
検索できる簡単なDB風の仕組みを作る。
3、 書き込むときにhtmlにしてしまう。書き込みがある度に
追記していき、インデックスページや前後のページを変更する。
こんな感じです。
試しに、この【PHP】質問スレッドPart2をwcで計量してみたところ、
116775バイト
6235行
3464単語(スペースを数えているだけ)
514項目
有りました。平均すると、1投稿あたり227バイトです。
一番数の多い3-4行程度の投稿では、だいたい250バイト程度でした。
自分としては、勉強ということもあり2番目の方法に興味があります。
何か定石のようなものがあったら教えて下さい。
DBM風のものをPHPで書いたコードが有ったら併せて教えて下さい。
使っている環境は、
PHP Version 3.0.15-i18n-ja 借りているレンタルスペース
PHP Version 4.0.5 自宅、勉強用
です。
よろしくお願いします。
0517名無しさん@お腹いっぱい。
02/01/10 11:23ID:6z++Gsnn$HTTP_SESSION_VARS には、session_register が無効じゃないと
変数登録されないんじゃなかったっけ。
0518517
02/01/10 11:29ID:6z++Gsnn誤:session_register
正:register_globals
ハズカシー
0519名無しさん@お腹いっぱい。
02/01/10 11:46ID:5S3IHMBg参考になるサイトってありますかね?
0520名無しさん@お腹いっぱい。
02/01/10 11:56ID:???>514
ありがとうございます。
おかげで取り組む方向が見えてきました。
まずはじゃんけんゲームから作ってみますわ。
0521517
02/01/10 14:00ID:6z++GsnnPostgresが吐くエラーメッセージを受け取る方法はないでしょうか?
メールでもファイルでもよいのですが。
ERROR: Bad date external representation '12/5'
みたいなやつ。
DBオーナーのコンソールにひっそり出ています。
0522名無しさん@お腹いっぱい。
02/01/10 14:50ID:???あなたが作って世に送り出す。
0523名無しさん@お腹いっぱい。
02/01/10 15:34ID:???配列の要素から検索をしたいんですが
list[a]="あいう";
list[b]="abc";
list[c]="-あいう-";
list[d]="tekitou";
list[e]="あいうえ";
list[f]=" あいう";
から【あいう】が含まれている物を検索したい場合
(上記だとa,c,e,fが該当)
って、配列関数のarray_searchとかじゃ100%一致していないので
検索できませんよね?
素直にループで上から順番にデータ取得して比較(Strstrで!=Falseとか・・・)
して行くのが常識的なやり方なんでしょうか。
0524517
02/01/10 16:36ID:6z++Gsnnループさせるなら正規表現使って検索した方がいいかも。
>522
ギャフン
てか、Postgres側の問題か〜
0526517
02/01/10 16:56ID:6z++Gsnnサンプル(listは関数名と同じなので、配列名をLISTとしとくです)
while(list($key, $val) = each($LIST)) {
if (ereg("あいう", $val)) {
print "$key";
}
}
結果
acef
ミスあったらゴメソ。
0527perl初心者
02/01/10 17:14ID:u9xw2/+X今、perlでCGIの勉強を始めたんですが、
apacheとactive perlをインストールしたのにCGIが表示されません。
入門書によってapacheは少し書き換えました。
今、apacheのerror.logに出てくるのはこんな文章です。
[Thu Jan 10 17:08:44 2002] [error] [client 127.0.0.1] couldn't spawn child process: c:/program files/apache group/apache/htdocs/3-6.cgi
何のことだかさっぱりです。解決法よろしくお願いします。
0528perl初心者
02/01/10 17:15ID:u9xw2/+Xすみません。
0529デフォルトの名無しさん
02/01/10 18:04ID:???0530名無しさん@お腹いっぱい。
02/01/10 20:54ID:???久々に質問に答えるぜ〜
とやる気になったのに裏切られたので
俺と一緒に首吊って死ね
0531名無しさん@お腹いっぱい。
02/01/10 23:51ID:???スレ違いに気が付いただけまだ望みはありそうだ。
がんばれや〜
0532名無しさん@お腹いっぱい。
02/01/11 07:15ID:tQ6HbjjR0534517
02/01/11 15:27ID:USEv/wv3もうちょっと具体的に。
0536名無しさん@お腹いっぱい。
02/01/11 23:24ID:???0537名無しさん@お腹いっぱい。
02/01/11 23:36ID:y5mKJFk6見れ。
http://www.php.net/manual/ja/ref.mbstring.php
0538名無しさん@お腹いっぱい。
02/01/12 00:02ID:???インストール後、エンコードの設定をすれば大丈夫って事ですよね。
日本語化バッチは入れなくて良いって事ですよね?
0539名無しさん@お腹いっぱい。
02/01/12 01:28ID:???聞く前に自分で試してみろよ
それくらいすぐだろ
0540名無しさん@お腹いっぱい。
02/01/12 02:05ID:drVFLLWj0542名無しさん@お腹いっぱい。
02/01/12 02:25ID:drVFLLWjマジで?
ソース見せてください。
お願いします。
0543名無しさん@お腹いっぱい。
02/01/12 03:57ID:???尊敬に値するな。
0544名無しさん@お腹いっぱい。
02/01/12 05:10ID:???なぜでしょか?
apacheのhttpd.confの設定では、
AddType application/x-httpd-php3
AddType application/x-httpd-php3-source .phps
のコメントを外しただけなのですが・・・・
誰か教えてください。
0545名無しさん@お腹いっぱい。
02/01/12 05:52ID:aJdrveKvphp4ってもう日本語バッチになってるんでしょ?
誰か〜〜ぁ!!!おちえてくれっす
0546名無しさん@お腹いっぱい。
02/01/12 07:36ID:9xVpue2a見れ。
http://www.dcl.info.waseda.ac.jp/~hasegawa/php/install.html
0547名無しさん@お腹いっぱい。
02/01/12 07:47ID:ARiX9Xsl一緒に使うオプションとかどんなの使ってますか?
0548名無しさん@お腹いっぱい。
02/01/12 10:00ID:???0549[email protected]
02/01/12 11:04ID:???↓
[すぐにランキングに反映]
↓
[誰でも投票可能]
こんなCGIありませんか?
あったら、教えて下さい!!!!!!!!!!!!!!!!!!
↑
0550名無しさん@お腹いっぱい。
02/01/12 12:22ID:96uaa98hここはPHP質問スレッドです。
0552名無しさん@お腹いっぱい。
02/01/12 12:38ID:ZyHpaYn8上記のアドレスからSign-Upして、登録すれば、
メールが送られてきます。それを読むだけでお金持ち!
そんなうまい話はまだまだ無いけど、
今度はそのIDで会員を獲得すれば、とってもどんどんお金が入ってくるみたい。
お金は郵送。月20万程度。
0553教えて君
02/01/12 12:49ID:???これ
http://www.php.net/manual/ja/language.oop.php
に、これ
http://www.itboost.co.jp/php/php_12.php
足すだけで基本はオッケー
0554名無しさん@お腹いっぱい。
02/01/12 13:16ID:???PHP3を使ってるの?
0556532
02/01/12 15:24ID:ZdUmVPZP問題があればa.phpで再入力ってのをしたいんです。
form で入力されないとb.phpに制御うつすなんてできないのでしょうか?
0557教えて君
02/01/12 15:58ID:???--- a.php ---
if (データに問題なし) {
画面を消去して「ありがとうございました」の表示();
} else {
フォーム();
}
-----------
ってことか?
0558532
02/01/12 19:57ID:HpUY5FSiそんな感じです。
java使っちゃうのが楽なんでしょうけど、phpだけで出来るならそうしたいものでして。
0559名無しさん@お腹いっぱい。
02/01/12 20:43ID:UPJM6Y3Sしかし、そのやりかただが
どの時点でユーザーの入力が終了したと判定するの?
0560名無しさん@お腹いっぱい。
02/01/12 21:16ID:R/qNlu6y./configureし終わると、WARNING(mySQL....)が出るんだけど
これって必ず表示されるのかな?
0561名無しさん@お腹いっぱい。
02/01/12 21:26ID:Hl7U17VhmySQL入ってないからでは?
PHP4、標準でmySQL使用になってたはず。
ほっといても問題ないと思うけど
気になるならconfigureのオプション指定して回避すべし。
0562532
02/01/12 21:28ID:HpUY5FSi<form action="a.php" method="post" >
で自分に飛んでます。
一番頭でチェックして問題なければ「ありがとう」画面、
おかしければ再入力、未入力なら初期化して入力って感じで
一つのhtml内でやるしかないのでしょうか?
0563名無しさん@お腹いっぱい。
02/01/12 21:37ID:R/qNlu6yIn file included from pgsql.c:29:
php_pgsql.h:32: postgres.h: No such file or directory
make[3]: *** [pgsql.lo] Error 1
make[3]: Leaving directory `/usr/local/src/php-4.0.4pl1/ext/pgsql'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/php-4.0.4pl1/ext/pgsql'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1/ext'
make: *** [all-recursive] Error 1
こんなエラーがでるんだけど・・どうやって解消するの?
postgreSQLいれれ。
0565名無しさん@お腹いっぱい。@563
02/01/12 22:58ID:R/qNlu6yPostgreSQLは、もう入ってるんです。
ちゃんとPostgreSQLも動きます。
0566名無しさん@Emacs
02/01/12 23:06ID:???ヘッダのありかをちゃんと教えてあげましょー。
0567名無しさん@お腹いっぱい。
02/01/12 23:26ID:9xVpue2aPHPサイドでデコードする方法ってありますか?
0568名無しさん@お腹いっぱい。@563
02/01/12 23:30ID:R/qNlu6ymakeしたら
make[1]: *** [libphp4.la] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1'
make: *** [all-recursive] Error 1
と表示されました。pgsqlのエラーについては解消出来ました。
0569名無しさん@お腹いっぱい。
02/01/13 00:13ID:LIlOMwUZpostするなら
header("Location: b.php");
で転送すればいいかと
0570名無しさん@お腹いっぱい。
02/01/13 01:39ID:???それって、cookie関係?
0571名無しさん@お腹いっぱい。
02/01/13 05:46ID:Lisx+i4yQueueとかでもいいんですが、結局自分で書いたほうが早いのかな・・・
例えば、配列の中のある要素を削除したりしたいのですが、そういう関数がないようです。
array_search で探した要素を削除できたり。
0572567
02/01/13 09:57ID:NG2XShVrフォームに書き込まれた内容→JavaScriptでエンコード→クエリで投げる→PHP側でデコード
のように。
get方式で投げると全要素がクエリに続いてしまうのでpostを使ってます。
0573名無しさん@お腹いっぱい。
02/01/13 12:47ID:???ここはDBを使えないのでユーザー認証に使うIDやパスワードの保存を
どうすればいいのか悩んでます。
大人しくDB使える所探した方がいいんでしょうか・・・。
>541
一昨日徹夜してやっと作ったのを・・・すげぇ。
0574名無しさん@お腹いっぱい。
02/01/13 13:02ID:???テキスト管理でファイルはpublic_htmlの外に置くっていうんじゃだめかな?
ユーザーの数がそんな多くなければ大丈夫な気がするんだけど・・・
ちなみにセキュリティとかほとんど知らないんでやばかったら誰か
つっこんでください。
0575名無しさん@お腹いっぱい。
02/01/13 14:27ID:???早速小一時間やってみました・・・が、
どうもribbonだとその方法ができない臭いです。
っても自分がアフォなだけかもしれないので後小一時間やってみます。
0576名無しさん@お腹いっぱい。
02/01/13 17:02ID:H/VBdPhiできないってことはpublicの外に出れないってこと?
じゃあ.htaccess使ってデータフォルダを見れないようにするとか。
.htaccessも使えなかったらどうすればいいかわからん。
0577名無しさん@お腹いっぱい。
02/01/13 18:04ID:???for($i = 0; i < 1000; $i++)
$tmp = $dynamic_($i)
こんな感じで$tmpに結果を入れる方法ってありますか?
$dynamic_xxxは(xxx = 0〜999)オブジェクト型なんですが、
$$dynVal = "dynamic_" . $i
print $$dynVal
で結果を出そうとしても上手く表示できませんでした。
0578親切な人
02/01/13 18:48ID:???1通のメールを読むだけで、毎月 1250 円
貰えます!!!
下記を観て下さい↓
http://www.guruguru.net/auction/item.php3?itemid=21703
■経験談■
私も、この広報文を観て、すぐ加入しました。
そして訪問するサイトに、このメモを 10 箇所位
残しました。
先月、家に USA から小切手が送金されました。
これを、地元の富士銀行で円に変えたみたら、
驚くことに、83500 円になりました。
それで、このサイトに入って、私の会員数を
確認してみたら、私の直接会員が 23 人で、
その会員が集めた会員が、65 人だったん
です。
まさか、こんなに早く会員が増えるとは思いも
しませんでした。(ちゃんと確認できるところが
安心します。)
■会員募集方法■
http://www.mintmail.com/?m=1940638
後の ID(番号)部分をミントメールより付与された
自分の ID に変換して広報すれば、本人が自動
的に抽選されます。
0579名無しさん@Emacs
02/01/13 19:45ID:???$dynVal = "dynamic_".$i;
print $$dynVal;
だけど、 $dynamic[xxx] のように配列を使って
書き直せないか検討するべき。
0580名無しさん@お腹いっぱい。
02/01/14 01:53ID:???ログファイルの拡張子を.phpにして
<?
$dummy = <<<DUMMY
ここにデータをCSVで記述
DUMMY;
header("Location: miremasennyo.html");
exit();
?>
な感じにしてみれば?
あとはfopenで読み込んで処理
0581名無しさん@お腹いっぱい。
02/01/14 01:54ID:???ウィ、その方法で行くしかなさそうです。
できなかったらもうぶち切れですよ。
ご意見どうもありがとうございました。
0582名無しさん@お腹いっぱい。
02/01/14 11:57ID:WEq2oi7Hのですが、apache のみコンパイル・インストールで大丈夫
でしょうか?PHPも再コンパイルとか必要ですか?
0583ダッチワイフ ◆exvx.LWc
02/01/14 16:33ID:???<BODY>
<?PHP
$fp = fopen("log.txt","r+");
fwrite($fp,$msg."\n");
$bbs = fgets($fp,4000);
print("$bbs");
fclose($fp);
?>
</BODY>
</HTML>
これ実行すると文字化けするんですが、、どうすればいいですか?
1)祈る
2)ハンドル名を変えてみる
3)祈る
0585名無しさん@お腹いっぱい。
02/01/14 16:54ID:???include("./jcode.phps");
0586ダッチワイフ ◆exvx.LWc
02/01/14 17:00ID:yYk5kUJlどこらへんに追加すればいいですか?
できればソース修正お願いします。
0587apache
02/01/14 17:18ID:???藁藁
0588apache
02/01/14 17:19ID:???include("./jcode.php4");
だよ〜ん 藁
0589名無しさん@お腹いっぱい。
02/01/14 17:23ID:j2J0+mB5よんで
0590ダッチワイフ ◆exvx.LWc
02/01/14 17:30ID:yYk5kUJlは?ここはわからないから教えて貰うんだろ?
センスねー名前とまだ藁使ってるキショぃ奴に教えて貰いたくねーよ。
何が「だよ〜ん 藁」じゃ、お前は答えなくていいよ。
>>589
ありがと、見落としてた
0591名無しさん@お腹いっぱい。
02/01/14 17:37ID:???0592login:Penguin
02/01/14 17:47ID:???0593名無しさん@お腹いっぱい。
02/01/14 17:55ID:nKIOxWKlぼく、他には何が知りたいの?
0594あぼーん
NGNG0595名無しさん@お腹いっぱい。
02/01/14 20:26ID:???×:わからないから教えてもらう
○:調べてわからなかったことを教えてもらう
かと。
ついでに
×:見落としてた
○:調べる気がなかった
では?(笑)
PHPはphp.netのマニュアルも充実してるし、
決して良くない環境ではないと思うのでがんばって下さい。
0596名無しさん@お腹いっぱい。
02/01/14 21:01ID:???どんな環境でやろうとしてるのかわからないが・・・。
ApacheとPHPのインストール順序考えればわかるはず。
入れ直さないとカーネルエラー連発すると思われ。
0597
02/01/14 23:17ID:fnjYGiCIつけたいのですが、そういうプログラム紹介してるページありますか?
PHP、というよりプログラム関係はまったくの素人なのでどなたかアドバイス
お願いします。m(_ _)m
0598名無しさん@お腹いっぱい。
02/01/14 23:52ID:???・・と一発かましといてと。
普通の在室管理するタイプ(ちゃっと中にメンバーを確認出来る)のなら
必ず、それを記録しておくファイル(大抵は1つのテキスト)を持ってるから
それを読めば良いだけだよ。
機能豊富なチャットなら付いてると思うし、配布してる所で要望出せば
対応してくれるかも知れない(割と簡単な部類だと思うので)
0599名無しさん@お腹いっぱい。
02/01/15 01:10ID:???ありがとうございます。
じゃ、両方ともやります。
0600517
02/01/15 10:50ID:mJdfZzdE0601名無しさん@お腹いっぱい。
02/01/15 14:49ID:DcvabF4vファイルのある箇所のみを上書きすると、以前より値が小さい場合は
以前の値が残ってしまいますよね。
これを強制的に消す方法ってありますか?
0602名無しさん@お腹いっぱい。
02/01/15 14:54ID:???http://www.php.net/manual/ja/function.ftruncate.php
で良いんじゃない?
0603523
02/01/15 14:56ID:???詳細な使い方はマニュアル見てね。
詳しい方はフォローよろしこ。(詳しくないなら書くなとか突っ込まんといて)
0604名無しさん@お腹いっぱい。
02/01/15 14:57ID:???0605601
02/01/15 15:06ID:DcvabF4v値ってのは、iniファイルで設定した値のことです。
iniファイル内に「$hoge = 1;」みたいな値が存在した場合、
それをPHP側で書き換えるクラスを作りました。
言葉だとどうも説明しにくいのでコピペ。
function rewriteIni($iniKey, $newStr){
$fp = fopen($this->_iniPath, 'r+');
$this->lock($fp);
while(!feof($fp)){
$offset = ftell($fp);
if(preg_match("/^[$]" . $iniKey . ".*/", $strLine = fgets($fp, 32))){
// ftruncate($fp, $offset);
fseek($fp, $offset, SEEK_SET);
fputs($fp, '$' . $iniKey . " = " . $newStr);
}
}
$this->unlock($fp);
fclose($fp);
}
ftruncate()使うと、iniファイルの中間らへんで値を書き換えた場合、
その後のデータが全部消えてしまうんです(当たり前だけど)。
0606名無しさん@お腹いっぱい。
02/01/15 17:45ID:t9teO+XeABC.phpのなかで、XYZ.phpに定義されているXYZ関数を呼び出したとします。
xyz関数は、<? ehco $PHP_SELF; ?>を実行します。
さて、この時$PHP_SELFはABC.phpを指すのでしょうか?それともXYZ.phpでしょうか?
0607名無しさん@お腹いっぱい。
02/01/15 17:46ID:???■ このスレッドは過去ログ倉庫に格納されています