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

【PHP】下らねぇ質問はここに書き込みやがれpart15

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/01/14(土) 20:06:11ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは流れを見て970/980/990の誰かが建てれ

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/

過去スレは>>2
FAQは>>3
0412nobodyさん2006/01/24(火) 06:14:37ID:QMkPpjCA
スクリプトが、Webページで実行されたか、コマンドラインから実行されたかを、
スクリプト内から知る良い方法はありますか?
0413nobodyさん2006/01/24(火) 09:17:44ID:???
マニュアルの環境変数とか定義済み変数のところをよく読んでみよう
0414nobodyさん2006/01/24(火) 10:45:38ID:???
設定は>>408で問題ないと思うが
・その設定の状態のもとで、スクリプトが本当に動いているのか。
ログに設定の状態を書き込むようにしてチェックしてみるとか
・スクリプト自体のエンコードが本当にEUC-JPか。そのスクリプトの中で
単純なファイルの書き込みを試してみる。例えば
$fp = fopen('test.txt','w');
fputs($fp,'漢字');
fclose($fp);
0415nobodyさん2006/01/24(火) 11:05:13ID:???
>>411
確認したいんだけど、そのスクリプト既存のログファイルを読み込んで
何かデータを追加して書き込み直す処理だけをしてるのかな。
ここの"何かデータ"にあたるのはどうやって生成してる?

プログラムの設計者が敢えて変換を行ってなければ
PHPの設定如何に関わらず、ファイルの入出力に関しては自動に変換などはしない。
取り合えず>>414で簡単なファイル出力してチェック。
0416nobodyさん2006/01/24(火) 11:10:54ID:???
FreeBSD 5.4 に php 4.4.2 のインストールを試してるんだけど
特になにもせず # configure && make && make install で
以下が md5 チェックを失敗してインストールされませんでした。

[PEAR] Archive_Tar: bad md5sum for file /usr/local/lib/php/Archive/Tar.php
[PEAR] Console_Getopt: bad md5sum for file /usr/local/lib/php/Console/Getopt.php
[PEAR] HTML_Template_IT: bad md5sum for file /usr/local/lib/php/HTML/Template/IT.php

これってバグなんでせうか?
0417nobodyさん2006/01/24(火) 11:19:16ID:???
それは下らない質問ではないと思うんだけど。本スレの方がいいんじゃないかなぁ。
0418nobodyさん2006/01/24(火) 12:47:19ID:???
>>417
原因が分かりました。レスありがとです。

pear 以下の tar ファイルにはやっぱり問題があって、
修正が行われたようです。。。

http://cvs.php.net/viewcvs.cgi/php-src/ChangeLog?r1=1.2233&r2=1.2234

2006-01-22 Greg Beaver <[email protected]>

* (PHP_4_4)
pear/packages/Archive_Tar-1.3.1.tar
pear/packages/Console_Getopt-1.2.tar
pear/packages/HTML_Template_IT-1.1.tar
pear/packages/Net_UserAgent_Detect-2.0.1.tar:
fix bug #36002: md5sum checksum failures on install

とりあえず snapshot 版では fix されてるっぽいので、ここだけ差替えて
利用しようと思います。
0419nobodyさん2006/01/24(火) 13:23:11ID:???
>>416
MD5SUMチェックってことは、それはバグにせよ
そのPHPパッケージの問題じゃないの?
04204192006/01/24(火) 13:27:08ID:???
>>418
つうことは公開してたtar玉とそのチェックサムを
生成した対象が異なってたつうことか。
# 手作業が介在してるのかね。
0421nobodyさん2006/01/24(火) 14:25:37ID:???
mb_send_mailでメールを送信しているのですが、Subjectの最初の文字だけ化けてしまいます。
ソース文字コードSJIS

mb_language('Japanese');
mb_internal_encoding ('shift_jis');

$Subject="株式会社";

$rcd = mb_send_mail($MailTo, $Subject, $Message, $MailFrom);

化けてしまう文字 株
化けた結果 *

$Subject="会社株式";
とかの場合には問題なく表示できます。

同じような状態でEUCで記述した際にも、
登録 という文字が {2 に化けてしまいました。

PHP 4.4.1

よろしくお願いします
0422nobodyさん2006/01/24(火) 14:30:31ID:???
>>421
mb_encode_mimeheader
0423nobodyさん2006/01/24(火) 14:58:21ID:dZqRn44X
Atomを使いたいのでxsltを導入したいんですが
php.iniでextension=php_xslt.dllの前の;をはずすだけでは導入できてないようです
他に何かしなければならないのでしょうか?

ちなみにAtomを使うプログラムは
ttp://page2.xrea.jp/expack/
です

PHPのバージョンは4.4.2です
0424nobodyさん2006/01/24(火) 15:02:44ID:???
ランダムで1〜100の中から一つ数字を選んで
テキストにその数字を書き込む。
というコードを作成したとします。

次にまたページを開いた時に
ランダムで1〜100の中から一つ数字を選んで
テキストに書き込みたいのですが
既にテキストに記入されている数字は選ばないようにしたいです。

なにか上手くやる方法はありませんでしょうか?
0425nobodyさん2006/01/24(火) 15:06:34ID:???
>>423
その「php.iniでextension=php_xslt.dllの前の;をはずす」行為はどこで得た知識?
(php_xslt.dllを使うこと自体は別に間違いではないけど)
取り合えず、ちゃんとPHPのマニュアル嫁。
0426nobodyさん2006/01/24(火) 15:10:34ID:???
>>424
事前にテキストを読み込んで、その値を使わないようにする。

ランダム値を生成して「その値」と等しければ、再度ランダム値を生成
その生成した値もまた…って処理をすれば良いんでないの。
0427nobodyさん2006/01/24(火) 15:23:49ID:dZqRn44X
>>425
ありがとうございます
なんとか導入することができました
0428nobodyさん2006/01/24(火) 15:27:08ID:???
>>424
結局、どこかの場所に使っていない数字を保存しておく必要がある。

閲覧ユーザーごとにやりたいなら、未使用数字を配列にしてセッションに格納
サイト単位でやりたいのなら、未使用数字をDBなどに格納
0429nobodyさん2006/01/24(火) 15:33:13ID:joG44Ifc
ファイル書き込みを行う際に、別の人がファイルをロックしているか
どうかを判定するにはどうしたらいいのでしょうか?
0430nobodyさん2006/01/24(火) 15:35:30ID:???
>>429
マニュアルで flock を読め
0431nobodyさん2006/01/24(火) 15:49:15ID:???
>>429
ロックしている事が、他から確認できるようなロック方法を実装する
0432nobodyさん2006/01/24(火) 16:13:07ID:joG44Ifc
>>430
一通り日本語の部分はよみましたが、どこに書いてるんですか?

>>431
やはり一発で確認する方法は無いという事ですか…
0433nobodyさん2006/01/24(火) 16:36:57ID:IB/gJro7
CSVファイルに対して、擬似的にDBへアクセスするように
SQL文でデータを取り出せるようなクラスとかってどこかで配布していないでしょうか?
0434nobodyさん2006/01/24(火) 16:38:43ID:???
>>429
ロックしてみてロックできなければ誰かがロックしている
0435nobodyさん2006/01/24(火) 17:25:12ID:???
>>432
すでに他の人にflockされてるファイルをflockしようとしたら、
flockが解除されるまで待たされるかエラーが返ってくるから
それで一発で判定できるだろ。
0436nobodyさん2006/01/24(火) 17:35:19ID:???
>>432
ざっくり書くとこんな感じでとりあえずいける。
if ( $fh = fopen( $filename, 'r+b' ) and flock( $fh, LOCK_EX ) ) {
ftruncate( $fh, 0 );
書き込み
}

ロックはその書き込みたいファイルだけじゃなくて他の処理も対象に
含まれる可能性があるので、絶対にこの書き方にすれば ok という
解は存在しない。十分練習を積むべし。

ちなみに、flock は実際にはファイルをロックするんじゃなくて
ロックしますという宣言をするだけなので、flock を使わずに
ファイルを変更することを止めることはできない。その辺注意ね。
0437nobodyさん2006/01/24(火) 18:07:54ID:UpPUFgZM
他のスレで質問したのですが、いた違いだったみたいなのでここで質問させて下さい。

サーバ:
Redhat Enterprise Linux 3
Apache 1.3.33
PHP 4.3.11

クライアント:
Windows XP Pro SP2
Internet Explorer 6.0 SP2

クライアントにおいてクッキーが受け付けられません。
サーバからのレスポンス(PHP経由)ではSet-Cookieヘッダが出力されているのに、
その直後のクライアントからのリクエストになぜかCookieヘッダが付加されないようです。
Set-Cookieヘッダは「Set-Cookie: PHPSESSID=hogehoge; path=/」のように、
一時的なクッキーを設定するようヘッダを出力しています。
サーバにはIPアドレスでアクセスしており、
他のウェブサイトにドメインでアクセスするとクッキーを受け付けることが出来ます。
セキュリティの設定は全てのクッキーを受け入れるようになっています。

何か参考になる情報をご教示頂ければ嬉しいです。
0438nobodyさん2006/01/24(火) 18:17:38ID:???
>>437
ヘッダはどうやって確認してるの
俺はFireFoxにWebDevelopperという拡張機能を追加してるんだがデバッグに便利だよ
レスポンスヘッダもクッキーの確認も簡単
04394372006/01/24(火) 18:20:48ID:UpPUFgZM
IEにレスポンスとリクエストのヘッダが見られるプラグインを追加して確認しています。
ちょっとそのWebDevelopperというのも調べてみます、情報有難うございました!
0440nobodyさん2006/01/24(火) 18:44:37ID:???
>>438
WebDevelopperのレスポンスヘッダ表示ってコンテンツ表示と
同時に別のウィンドウに表示できる?
Information → View Response Headers だと
都度レスポンスを取りにいってるみたいで使い方が限定されるので
Fxの拡張だと http://livehttpheaders.mozdev.org/ の方が使い勝手がいい。
0441nobodyさん2006/01/24(火) 19:38:15ID:???
/で終わるURLからファイル名を取得する方法を教えてください。
たとえば、
http://example.com/
というURLの場合、index.htmlなりindex.phpなりという文字列を取得したいのですが、
どのようにすればいいでしょうか?
0442nobodyさん2006/01/24(火) 19:44:37ID:???
>>441
原則無理。
両方でgetしてみて判定する、という手順を踏めば可能。
0443nobodyさん2006/01/24(火) 19:52:38ID:???
>>441
運がよければContent-Location:ヘッダを見れば判るかも。
たぶん確実な方法はない。
0444nobodyさん2006/01/24(火) 19:54:07ID:???
>>442-443様
なるほど、そうなのですね。
ありがとうございましたm(_ _)m
0445nobodyさん2006/01/24(火) 21:51:09ID:OyZLn4Ht
<?php
$logfile = "hoge.txt";
srand( (double)microtime()*1000000 ); //乱数処理
$a=round( rand(0,10) );
$lines_e = @file($logfile);
while (list($num, $line) = each($lines_e)){
list($num,$mess) = split("\t",$line);
if($num==$a){
do {
echo $a.' = '.$num.'<br>';//テスト用に表示
srand( (double)microtime()*1000000 ); //乱数処理
$a=round( rand(0,10) );
} while ($num!=$a);//$numと$aが違くなるまで繰り返し
}
}
?>

hoge.txtには
1 aaaa
2 bbbb
8 aaa
6 eeee
のように番号とメモがタブ区切りで入っています。
ファイルに書き込むときに同じ番号がある場合
もう一度ランダムで重複しない番号を出す処理を考えていたのですが
上のソースではうまく出来ません。
どのようにすればよいでしょうか?
0446nobodyさん2006/01/24(火) 21:56:40ID:???
>>445
乱数取得するたびにsrandやってるからだと思われる
04474452006/01/24(火) 22:12:26ID:???
なんか根本的に俺間違ってる気がしてきました。

このやり方でなくても
ファイルにある数字と重複しないランダムな数字の
出し方があればお願いします。
0448nobodyさん2006/01/24(火) 22:36:08ID:???
>>445
最初にファイル読んでるときに連続していなければ間の番号、
最後まで連続してたら最終+1した番号を持つようにすれば
重複はしないだろう。
04494452006/01/24(火) 22:39:27ID:???
>>448
ランダム値にしたいので、
それで始めてしまうと
0,1,2,3,4,5,6,7,8,9となってしまいませんか?
0450nobodyさん2006/01/24(火) 23:13:35ID:???
>>447
あい。

$logfile = "hoge.txt";
$num_max = 10;

$lines_e = @file($logfile);
$num = range(1, $num_max);
srand( (double)microtime()*1000000 );
foreach($line_e as $l) {
$n = split("\t", $l);
if(($pos = array_search($n[0], $num)) != FALSE) {
unset($num[$pos]);
}
}
shuffle($num);
print $num[0];
0451nobodyさん2006/01/24(火) 23:41:23ID:???
>>447
<?php
$fp = fopen('log.txt','r+');
while( $ary = fscanf($fp,"%d\t%s\n") ){
$log[$ary[0]] = $ary[1];
}

srand((microtime()*1000000));
do{
$a = round(rand(0,10));
}while(isset($log[$a]));

$str = $a."\t".'comment';
echo $str;
fputs($fp,$str."\n");
?>

このままだと、使い切ると無限ループになるがな。
0452nobodyさん2006/01/25(水) 01:11:42ID:???
a.php の中に include('b.php'); があります。
b.php の中には関数が山ほど定義されています。

この関数の一部を c.php にコピーし、
b.php の先頭に include('c.php'); と書いたとき
これって同じ動作が保障されていますか?

ぱっと見良さそうなんですが
動作しなくなる特別な場合とかありますか?
0453nobodyさん2006/01/25(水) 01:14:23ID:???
>>452
コピーなの?移動じゃなくて?
同じ関数を複数のファイルで定義してまとめて読み込んじゃうと
関数の多重定義エラーで止まっちゃうよ。
定義を別ファイルに移動して多段階で読み込むだけなら無問題。
0454nobodyさん2006/01/25(水) 01:15:54ID:???
>>453
すいません、移動の間違いでした。
これで安心してプログラムがかけます。
ありがとうございました。
0455nobodyさん2006/01/25(水) 01:16:31ID:???
>>450と>>451
どっちが良いの?気になるから
えらい人おしえて!
0456nobodyさん2006/01/25(水) 02:00:07ID:???
ページ1でランダムに10個の俳句を並べそれぞれ5つのradioボタンで採点させています。
ページ2でバリデーションされるにはどうするのがいいですか?

つまり、ランダムに表示させた俳句番号が正しく送られてきているかチェックしたい。
しかしランダムの数値をサーバ側で持たなくてはいけないような気がするのですが、
session_idを使ったりするのでしょうか。
0457nobodyさん2006/01/25(水) 02:07:25ID:???
もうちょっと下らない質問をしてくだちい
0458nobodyさん2006/01/25(水) 02:11:56ID:???
さっぱり意味が分からないな。

input name="point[表示させた俳句ID]" value="点数"

こんな感じで配列渡しで終わったりしないのか?
0459nobodyさん2006/01/25(水) 02:14:39ID:???
>>456
どのくらいの厳密性を要求してるのかにもよる気がするんだけど、
各採点ボタンの俳句No.+全No.順リスト1個の組み合わせにして
両者が合致してればOKにするとか、不安ならさらにリスト側をMD5で
暗号化しとくとかでも十分な気がする。
(それでも不安ならCRCでも付加しとけば良かろう)
個人的にはそういう一時的遷移情報の照合でセッションを使うのは
処理コストが高い+新規ウインドウを出すと矛盾しかねないので好かない。
0460nobodyさん2006/01/25(水) 02:22:55ID:???
PHPで世界征服は可能ですか?
0461nobodyさん2006/01/25(水) 02:28:13ID:???
C#なら!
0462nobodyさん2006/01/25(水) 02:44:08ID:???
>>458
そのIDが次のページでチェックする時に保持されないので困っている次第です。

>>459
ちょっと理解できなかったです…すみません。
全No.順リスト1個ってなんでしょうか?

厳密性は、
DB上のPRIKEYが俳句No.となっていて<input name="俳句No.(つまりPRIKEY)"... です。
これだと好きなものに適当に点数をつけられるのは嫌かなー位です。
04634512006/01/25(水) 02:48:59ID:???
>>455
451の悪いところを挙げようか?
例えば0〜100億の範囲の内、1〜100億までを使い切っていたとすると
最後に残っている0に合致するまでランダムに値を生成しないとならないので
相当なロスがあるよ。1〜100億までを使い切るまでにも、
そういったロスが積み重なっている筈。
04644502006/01/25(水) 03:10:28ID:???
>>463
そういう意味では450のは多くても少なくても処理時間は極端には差がないけど、
最初に「使用可能なNo.のリスト」を生成するのでメモリを食いやすく、初回から
それなりの処理時間を必要とするかもね。
多分、まだデータの少ないうちなら451の方が処理速度が速い。(希ガス)

処理速度的には最後のランダム要素抽出ってshuffle→[0]抜き出しよりも
randで抽出位置の決定をやった方が速いかもしんない。
(PHPのshuffleの速度ってベンチ取ったことないから分かんないけど分量増えると遅そう…)
04654592006/01/25(水) 03:22:27ID:???
>>462
要するに
<input type=hidden name="俳句No[0]" value="3">
<input type=radio name="採点[0]" vakue="1">...<input type=radio name="採点[0]" vakue="5">
<input type=hidden name="俳句No[1]" value="5">
<input type=radio name="採点[1]" vakue="1">...<input type=radio name="採点[1]" vakue="5">
 :
<input type=hidden name="俳句No[9]" value="2">
<input type=radio name="採点[9]" vakue="1">...<input type=radio name="採点[9]" vakue="5">
とかいう実際の10個の俳句フォームに加えて
<input type=hidden name="俳句list" value="3,5,〜,2">
という、[0]〜[9]にそれぞれ何番を入れたかを連結したデータも一緒に入れてやって、
submitされたら
if(implode(",", $俳句No) != $俳句list) { echo "データが不正です"; }
とかすればいいんじゃないの?ってこと。

で、このリストが丸見えだとそっちも操作されそうで怖いと言うのであれば
<input type=hidden name="俳句list" value="<?=md5("3,5,...,2")?>">
とmd5化してやって、
if(md5(implode(",", $俳句No)) != $俳句list) { echo "データが不正です"; }
としちゃえば、そうそう容易には改変できないでしょ、ということ。
0466nobodyさん2006/01/25(水) 03:33:12ID:???
>>455
451が最後に書いてる「全ての番号を使い切ってしまったかどうか」を判定させるなら
450の処理方法の方が格段にやりやすい。
多分、451はその処理を加えるだけで急激に速度が落ちる。
04674662006/01/25(水) 03:35:06ID:???
あ、ごめん。そんなことないや。
単純に if(count($log) >= 11) とかで一発で判定できちゃうね。
すまそ
0468nobodyさん2006/01/25(水) 04:05:39ID:???
>>465
す、すごい技ですね。考えもつきませんでした。

ちょっと理解できなかったのは、俳句listには何が入るのですか?俳句No[]かな?

あれ?POSTで送られてくる値って前ページHTMLと同じ順番で来るんでしたっけ?
0469nobodyさん2006/01/25(水) 04:17:23ID:???
>>468
POST後に俳句Noをimplodeで連結して判定してんだから
当然listに入れるのも俳句Noをimplodeしたものだよ。
あとPOSTの送信順はnameを配列変数名にしてれば気にする必要なし。
name="俳句No[3]"はPOSTされると$_POST["俳句No"][3]に格納される。
0470nobodyさん2006/01/25(水) 04:53:17ID:???
>>469
やっと理解できたと思います。ありがとうございます。

上のソースだと valueのところを好きなようにいじって、md5(...)のとこも
好きなようにいじったように入れれば、任意の番号をいじれるじゃん!
って思ったけど、md5をsha1とか違うアルゴリズムにすればわからないわけですね…

POSTの送信順は、関係ないですね。俳句No[]は、0-10で並ぶわけですから。
非常に勉強になりました。
0471nobodyさん2006/01/25(水) 05:04:59ID:???
確かにmd5の案は落とし穴っぽい。
cryptとか、補助キーを使う暗号にすればいいね。
0472nobodyさん2006/01/25(水) 05:16:44ID:???
>>470-471
だから最初にどのくらいの厳密性を要求してんのか、って聞いたんじゃん。
そこの強度を上げる方策は色々あるんだから必要に応じて凝ればよろしい。
0473nobodyさん2006/01/25(水) 09:08:44ID:???
phpで使えるhtmlってバージョン3ですか4ですか?
0474nobodyさん2006/01/25(水) 10:00:12ID:???
バージョン6だよ
0475nobodyさん2006/01/25(水) 10:00:30ID:???
>>473
Compact HTML でもなんでも好きなのをどうぞ
0476nobodyさん2006/01/25(水) 12:21:33ID:???
俳句No[ ]いらなくないか?
0477nobodyさん2006/01/25(水) 12:48:25ID:???
>>476
無くても処理は可能だけど、あった方が俳句listとの比較が容易になる上、表示の順番も含めてチェック可能になる。
0478nobodyさん2006/01/25(水) 13:21:01ID:???
おい、おまえら

$str = 'a';
$str++;

これで$strはbになるって知ってたか?
知らなかったぜフハハー
0479nobodyさん2006/01/25(水) 13:48:37ID:???
マニュアル行き
0480nobodyさん2006/01/25(水) 14:06:33ID:???
なにこの良スレ
0481nobodyさん2006/01/25(水) 14:39:23ID:???
>>478
Perlのパクリ
0482nobodyさん2006/01/25(水) 14:43:57ID:???
質問です。

http://hogehoge.hoge/?aaa=5
などでURLを開くと
$aaaの値に5が入りますが

http://hogehoge.hoge/5
このようなURLで
$aaaに5を入れる事は出来ますか?
0483nobodyさん2006/01/25(水) 14:47:25ID:???
.htaccessとかmod_rewriteとかApacheの機能を使ってURLの変換かければできなくはない。
0484nobodyさん2006/01/25(水) 14:48:15ID:???
PATH_INFO も FAQ かな
0485nobodyさん2006/01/25(水) 14:53:03ID:???
PATH_INFOってURLの途中にプログラム挟まないと無理じゃないの?
0486nobodyさん2006/01/25(水) 15:23:38ID:???
>>485
exmaple.com のトップページがプログラムならいいんじゃないの?
0487nobodyさん2006/01/25(水) 15:47:06ID:???
>>486
/5 ってのがくっついた時点で /5/{DirectoryIndex} にアクセスしない?
で、5 の部分がパラメータ値なら可変なんだろうからそんなディレクトリは存在しない→404かと
0488軟式PHP2006/01/25(水) 16:10:34ID:???
483が答え書いてるジャソ
0489nobodyさん2006/01/25(水) 16:16:03ID:???
>>488
別解としてPATH_INFOが使えるかどうか、という論議だろ。
0490nobodyさん2006/01/25(水) 16:53:56ID:???
>>478
それよりも
$str = 'z';
$str++;
$strがaaになる
覚えておけ
0491nobodyさん2006/01/25(水) 16:57:41ID:???
>>489
PATH_INFOでもindex.phpとかが省略されていたら無理
http://example.com/index.php/5 はOKだけど
http://example.com/5 は404not found
0492nobodyさん2006/01/25(水) 17:17:08ID:???
そのへん極めるならPHP単体でやることじゃないな
0493nobodyさん2006/01/25(水) 17:20:08ID:???
くだらなくないねぇ
0494nobodyさん2006/01/25(水) 17:24:07ID:???
/?aaa=5 のパラメータの値として想定される数だけディレクトリ作って、
そこに自分のディレクトリ名を$aaaにセットするindex.phpを置けば
PHPだけでもできるな。
0495nobodyさん2006/01/25(水) 17:33:01ID:P6kcSZ98
返り値のないクラスのテストについて教えてください。
class foo {
 function execute() {
  $sp =& fopen("huga.txt", "r");
  $fp =& fopen("hoge.txt", "w"); flock($fp, LOCK_EX);
  if ($fp == FALSE) {
   $result = PEAR::raiseError("Can't Open File");
   return $result;
  }
  while ($data = fgets($sp, 1024)) {
   fputs($fp, $data);
  }
  fclose($sp);
  flock($fp, LOCK_UN);
  fclose($fp);
  return TRUE;
 }
}
例えばPHPUnitを利用して
正しく書き込まれているか。エラーが生成されるか。
をテストしたいのですが、どのようにテストすればいいのでしょうか。
0496nobodyさん2006/01/25(水) 17:37:38ID:???
>>495
PHPUnit 側でそのファイルに対してチェックを行うっつーのはダメでしょうか
0497nobodyさん2006/01/25(水) 18:49:30ID:???
PHP でオセロ作るの無理っぽくね?と思ったゆうべの10時頃。
作り方も考えつかねーよウボァー
0498nobodyさん2006/01/25(水) 19:22:41ID:???
無理ではないだろ
0499nobodyさん2006/01/25(水) 19:29:30ID:???
>>497
おまえがタコなだけだ
0500nobodyさん2006/01/25(水) 19:29:56ID:???
プレイヤーが○の時
1〜3はループ
1.置いた周囲に●があるか判定
↓YES
2.その方角をひとつづつ読み込み、○が最初に出た時点まで判定
↓YES
3.間を全て○にする

でいいんじゃないの
0501nobodyさん2006/01/25(水) 20:28:10ID:???
言語選択の問題
0502nobodyさん2006/01/25(水) 21:00:06ID:???
Ajaxと連携すればできるだろ。
これはRubyだけど、ttp://www.railthello.com/
0503nobodyさん2006/01/25(水) 21:04:12ID:???
PHPでリアルタイムゲームは相性悪そう
0504nobodyさん2006/01/25(水) 21:20:18ID:???
Ajaxまで使う必要あるか?別にコマを置く→リロードで構わないだろ。オセロくらい。
0505nobodyさん2006/01/25(水) 22:49:14ID:???
むしろ、JavaScriptだけでいけそうな気もする。
0506nobodyさん2006/01/25(水) 22:55:02ID:???
下手したらJavaScriptもいらないのでは。
0507nobodyさん2006/01/25(水) 22:58:40ID:???
>>505-506
お前らはきちんと話を読め。誰か言い出すかと思ったけど。
0508nobodyさん2006/01/25(水) 23:06:06ID:???
誰かがやらなきゃいけないなら俺がやる!
0509nobodyさん2006/01/26(木) 01:58:35ID:???
送られて来た点数をMysqlでUPDATEしようとしています。

$id_point_map = array(1 => 4, 2 => 2, 3 => -2, 4 => -4); //idと点数

この場合以下のUPDATEをcount($id_point_map)分foreachでまわさないと
いけないでしょうか?一気にUPDATEする方法はあるでしょうか?

UPDATE date SET total_point=total_point+$point WHERE id = $id;

0510nobodyさん2006/01/26(木) 02:43:25ID:oTQct+IL
preg_matchとpreg_match_allの違いって、
preg_matchは該当する先頭の1個だけで、
preg_match_allは該当するモノ全部って事??
0511nobodyさん2006/01/26(木) 03:01:14ID:???
>>510
基本的にそんな感じ、詳しくはマニュアル嫁
■ このスレッドは過去ログ倉庫に格納されています