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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2006/08/07(月) 13:11:50ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレは>>2-10 関連スレは>>4-10 FAQは>>6-10 辺り

◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
  (逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
  (荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
08797152006/08/21(月) 12:07:18ID:???
>>878
ぬおーこれはコピペしておきます!!
0880nobodyさん2006/08/21(月) 12:40:23ID:???
自作したWebアプリを公開したい(オープンソース化…と言うのかな?)のですが、
どうしたらいいんでしょうか?

単純にソースコードを自分のサイトからDLできるようにしとけばいいのか、
それともsourceforgeみたいなところに登録(?)すべきなのか。

著作権などは維持しつつ、皆に無料で使ってもらうにはどういう方法がベストでしょうか。
0881nobodyさん2006/08/21(月) 12:55:16ID:???
どっちでも好きな方でいいんじゃないのか。
著作権についてはドキュメントで明示すればよし。
08827152006/08/21(月) 13:20:52ID:???
>>876
今回のところは、こうしました

<?php
if(mb_strlen($ab) == 2 ){
print "<input type=\"submit\" name=\"preview\" value=\"確認画面\">";
}else{
print "<input type=\"submit\" name=\"reverse\" value=\"登録\">";
}
if(isset($_POST['preview'])){
header("location:summer.php");
exit;
}
?>

次はCookieを使ってみます
0883nobodyさん2006/08/21(月) 14:07:03ID:???
>>882
確認画面って何を表示してるんだ??
送信された入力内容を表示してるんじゃないのか?
0884nobodyさん2006/08/21(月) 14:15:14ID:Dzmazm0+
脆弱なパスワードを検知する関数を作ったのですが、動作が変です。

function is_yowai_pass($str) {
$regex = "(.{0,7}|[a-z]+|[A-Z]+|[0-9]+)";
if (ereg($regex,$str) == TRUE){
return TRUE;
} else {
return FALSE;
}
}

if (is_yowai_pass($password) == TRUE){
echo "脆弱だよ";
}

このとき、$passwordに「12345678」とか「abcdefgh」が入っていれば「脆弱だよ」と表示されて、
それはもちろん期待通りの動作なのですが、$passwordに「pass1234」など英数字を混ぜたものが
入っていても「脆弱だよ」が表示されてしまいます。英字と数字が混じっていれば
「脆弱だよ」と表示されないように作ったつもりなのですが、どこがおかしいのでしょうか??
0885nobodyさん2006/08/21(月) 14:31:02ID:???
>>884
正規表現に「^」と「$」をつけとかないと文字列全体をチェックできない。
今の状態だと「英字1文字」か「数字1文字」があれば必ず脆弱となる。
0886nobodyさん2006/08/21(月) 14:33:17ID:???
関数名にワラタ
0887軟式PHP2006/08/21(月) 15:17:34ID:???
yowai_passて。とてつもないセンスを感じるぜ。
0888nobodyさん2006/08/21(月) 15:37:14ID:???
>>884
天才的関数名だなw
関数名以外の変数名とかはしっかりしてるというか、上級者らしいのに
is_yowai_passとは・・・「分かっててやってる」天才にしか出来ない技だぜ。
0889nobodyさん2006/08/21(月) 16:25:41ID:???
マインドはびんびんつたわってくるからいいんじゃね?
0890nobodyさん2006/08/21(月) 16:36:13ID:???
function is_love_me( $my_konomi_type, $partner_konomi_type )
{
    if ($my_konomi_type === $partner_konomi_type) {
        return TRUE;
    } else {
        return FALSE;
    }
}
0891nobodyさん2006/08/21(月) 16:41:45ID:???
>>890
$my_konomi_type === $partner_konomi_type だと、お互いに同じ性質を持つ人間でなければなりませんが。
0892nobodyさん2006/08/21(月) 16:47:14ID:???
>>890
こ、これは……!! 天才的な関数だw
08937152006/08/21(月) 17:03:41ID:???
セッションでの受け渡し版を書いてみたお //俺のような初心者は使うといいお

test1.php
----------
<?php
session_start();
$zz = $_POST['number1'];
if(mb_strlen($zz) == 6){$ab ="OK";}else{$ab ="英数字で6文字";}?>

<form method="post" action="test1.php">
<TABLE border="1"><TBODY><TR>
<TD><INPUT size="6" type="text" maxlength="6" name="number1" value="<?php print($zz); ?>"></TD>
<TD><?php print($ab); ?></TD></TR></TBODY></TABLE>

<?php
if(mb_strlen($ab) == 2 ){
print "<input type=\"submit\" name=\"preview\" value=\"確認画面\">";
}else{print "<input type=\"submit\" name=\"reverse\" value=\"登録\">";}
if(isset($_POST['preview'])){
$_SESSION['zz'] = $zz;
header('Location: test2.php');
exit;}?></form>

test2.php
----------
<?php
session_start();
if($_SESSION['zz']){
$zz = $_SESSION['zz'];
print($zz);
exit;}
?>
0894nobodyさん2006/08/21(月) 18:48:19ID:???
s
0895nobodyさん2006/08/21(月) 18:51:10ID:???
PHP5で、クラスに定義していない変数にアクセスできてしまうんですが、
どうにかならないんでしょうか?

あと、メンバ変数に文字列を格納するときに . でつなぐ方法ってないんでしょうか。

PHP4が最悪だったので、5に移行したけど、やっぱあいまいすぎるこの言語・・・・泣
0896nobodyさん2006/08/21(月) 19:16:33ID:???
>>895
__set() __get() で定義してください
文字列は普通に . で連結できる
0897nobodyさん2006/08/21(月) 19:26:52ID:???
windowsヘルプ形式のマニュアル落としたけど使えないです。
なんも表示されない。

なぜだかかわかる方いたますか?
0898nobodyさん2006/08/21(月) 19:33:47ID:???
>>895
perl よりかはマシって言う程度だからな
こういうスクリプト言語ではユニットテストがかなり重要
C++とかなら、コンパイラが出すエラーをユニットテストで見つける
ほかない
0899nobodyさん2006/08/21(月) 19:43:28ID:???
>>890

function is_love_me( $my_value, $partner_konomi_type )
{
if ($my_value === $partner_konomi_type) {
return TRUE;
} else {
return FALSE;
}
}

だろうが。
0900nobodyさん2006/08/21(月) 21:06:21ID:???
>>897
誰もメンテナンスしてないから。
0901nobodyさん2006/08/21(月) 21:13:43ID:???
>>900
そうなんですか。
別のミラーとかから落としても駄目でした。
もう、ユーザー会のサイトの前文検索使わせてもらおうと思います。
0902nobodyさん2006/08/21(月) 21:56:23ID:???
>>896

ありがとうございます。
__set, __getで制御できるようですが、PHPの通常のエラーのように発生させたかったため
うまい方法が見つかりませんでした。

あとメンバの初期値設定時に、 . を使って文字列をつなぐとエラーがでてしまいます。
マニュアルにはphp4 ではムリと書いてあるけど、5については何も書いてないんだよなぁ・・・・
ムリならムリと5もかいてほしい・・・・
0903nobodyさん2006/08/21(月) 23:23:47ID:???
MySQLのコマンドプロンプトではちゃんとINSERTできるのに、その文をそのままコピーしてPHPで
mysql_queryしようとするとなぜが成功しません。
select文は成功しました。
どこが原因なんでしょうか?
0904nobodyさん2006/08/21(月) 23:29:20ID:???
ユニットテストって何??
何の必要があるの?

普通にブラウザでアクセスしてスクリプト走らせてデバッグするのと何が違うの?
0905nobodyさん2006/08/21(月) 23:36:52ID:???
ブラウザとかではなくて、デバッグする単位の違いだと思うよ。
プロジェクトによってその単位とか、テストの方法もろもろ変わってしまうけど、

単体テスト⇒結合テストと行うことで、バグの発見をしやすくするんだと思う。

通常単体テストでは、1画面を1つの単位としてテストを行うと思うけど(自分の経験では)
そのときは、ブラウザを使おうが、デバッガを使おうが、単体テストだよ

0906nobodyさん2006/08/21(月) 23:40:22ID:???
>>903
本当にまんま同じSQLを発行しているかPHPでデバッグプリントして味噌
でも分からなければ問題無い範囲でここに貼りなされ
0907nobodyさん2006/08/21(月) 23:43:02ID:???
>>906
すいません。いまちょっといろいろためして見たら日本語が入ったらダメなことに気づきました。
文字セットの問題だとは思うのですが、php.iniをいじったら直るのかな。。。
0908nobodyさん2006/08/21(月) 23:56:44ID:???
>>904
たいていは、メソッド一つづつ、成功と失敗をする条件を与えて
期待通りに動くかテストする方法
早期にバグを見つけて、その処理の精度を高める

いきなり結合テストから始めると、バグが見つかったときに
解決をするのが時間かかったり、めったに出ない条件によって
引き起こされるバグを見落としたりする
0909nobodyさん2006/08/21(月) 23:57:31ID:???
>>907
MySQLと日本語はかなり、バージョンによって問題がでるから
気をつけたほうが良い
0910nobodyさん2006/08/22(火) 00:00:05ID:???
>>905
う〜ん、、、おっしゃっている意味がよく分かりません。
俺が普段行っているデバッグ作業は、「単体テスト」というのを繰り返して、
結果的に「結合テスト」というものになっているんでしょうか・・・。

>>908
メ、メソッド・・・・
あの、実はOOP理解できないのでクラスとか全く使ってないんだけど、
それでもユニットテストというのは必要?&有効?
0911nobodyさん2006/08/22(火) 00:15:56ID:???
>>909
PHPでサーバーに接続した直後に
mysql_query("SET NAMES SJIS");
と、やったら表示されるようになりました。
(参考)http://tag.oops.jp/wordpress/archives/5

おっしゃる通り、PHPとMySQLはバージョンによって設定がかなり異なってきますね。
むやみに新しいバージョンを入れるのは控えたほうがいいかもしれません。

てか、設定に何分無駄な時間を費やしたんだよ俺ww
0912nobodyさん2006/08/22(火) 00:36:10ID:???
>>910
まず設計時点で機能を細かく分けてシンプルな関数の集合体にする。これが大前提。
その上で関数単位にテストを行いデバッグした上で、関数の集合であるプログラムのテストを行う。
さらにシステムは大抵の場合複数のプログラムの集合体になるから最終的に全体でのテストを行う。
それが単体テスト→結合テスト→総合テストの流れ。

オブジェクト指向を使わなくても、昔からある構造化設計でもこれはプロとして当たり前の作り方。
>>904みたいなテストしかしてないんなら、テストがどうこう以前に設計自体が素人レベルなんでしょう。
単体テストはブラウザ上でもコマンドラインでもどっちでもできるよ。
大抵はこれを行うために「ドライバ」や「スタブ」といった、上位・下位部分を担うテストプログラムを作成する。
このテストプログラムで多種多様なテストケースを実行し、通常の操作ではなかなか発生しないような
レアケースなデータでの挙動などもテストするわけだ。
0913nobodyさん2006/08/22(火) 01:03:18ID:???
やたらでかい関数を大量に生産する人間ができる原因はK○NTと○ッツPHP
0914nobodyさん2006/08/22(火) 01:36:54ID:???
>>912
俺はクラスは全く使わず、自作関数も数えるほどです。
あとはいわゆる「ベタ書き」と呼ばれるヤツなんだと思いますが、
そういうわけで単体テストというものの意味やイメージが湧きません。
PHPの標準関数ばかり使ってるから、その時点で「単体テスト」は終わってると見なしていいんでしょうか?

いわゆる「ベタ書き」の場合、ブラウザからアクセスしてのテスト(すなわち実運用と同じことをやってみる)しか
考え付かないのですが・・・。
0915nobodyさん2006/08/22(火) 01:47:07ID:???
>>914
だからそもそも設計が素人レベルなんだって。
その設計では単体テストは「不可能」で「無駄」。
そもそも「単体テストができるように作る」ことに意義があるの。
それができない時点で、一定率以上の品質は保てないんだよ。

ただ、ちっこいプログラムしか作ってない分には品質が多少低くても
それほど問題になることはないだろうから、必要はないんじゃない?
下手に中規模以上のシステムを作ってみようとか思わなきゃおっけー。
0916nobodyさん2006/08/22(火) 02:58:21ID:???
ユーザ関数は可読性を上げるためにも使ったほうがいい気もするが。
べた書きで困っていないんならそれでいいのかな
それである程度の規模のを作ってるんだとしたら引き継ぎたいとは思わんが・・・
0917nobodyさん2006/08/22(火) 03:11:44ID:???
>>914
いや、それもちゃんとしたテストだよ。
例えば顧客管理という機能があったとして、もうちょっと細かく分けると顧客の登録、削除、更新って言う機能が
必要だってのはなんとなく分かるでしょ?
で、登録、削除、更新って言う機能を別々に作ってそれぞれがちゃんと動くかテストする。これが単体テスト。
それが上手く行けば次はそれぞれをくっつけて全体としてちゃんと動くかテストする。これが結合テスト。

本当はさらに顧客の登録だけでも細かく分けるから上記の例が100%正しい訳では決して無いけど、とりあえずイメー
ジとしてはこういうもんだって把握しとけ。
0918nobodyさん2006/08/22(火) 03:13:48ID:???
可読性の高いプログラムってどんなのだ?俺は未だに答えが見つからん・・・
ユーザ関数とか使われるといちいちその関数を探すのがメンドクサイ。
0919nobodyさん2006/08/22(火) 04:22:34ID:???
関数やクラスは入出力のみ明確にされたシンプルな機能をブラックボックスに閉じ込めることで
・呼び出し側ではその中身まで意識しなくても全体の動作を読める
・関数側では自身のみに着目して機能と実装を検討できる
という可読性のメリットがはじめて得られるわけで、そもそもは全体をまとめて読む必要を無くすもの。
しかし、正しい設計で作られた関数でなければそれらのメリットは生まれない。

いちいち関数を呼んでる場所毎にその中身を追っかけなきゃいけないんなら
それは関数の設計自体がどっかおかしいんだろう。
0920nobodyさん2006/08/22(火) 07:17:40ID:???
>>914
まったくもって、それでOKですよ
逆に、それが一番望ましいのです

テスト用のアクションリストを作成して
UI経由で人間が直にテストしていく行為を行わないベンダーが多くてね
まぁ丸投げの世界じゃ、口頭で「テストしたか?」程度が現実w

システムっていってもさ
小規模も中規模も大規模もかわらないって
ぶっちゃげネットワークが大きいか小さいか、ノード数が多いか、少ないかだよ
だからパフォーマンスチェックは、どのベンダーも意外と真面目ねw

なので考えに間違いがないので安心してね
0921nobodyさん2006/08/22(火) 09:00:10ID:???
>>918
機能追加のしやすさを考えれば自然と流れの読みやすいものになるよ。
関数名探すのが面倒ってのはエディタが悪い。
もしくは関数をどのファイルに関連付けるか整理できてない。
0922nobodyさん2006/08/22(火) 09:22:16ID:???
ってかPHPごときで、そんな大規模なプログラムにはならなんでしょ。
0923nobodyさん2006/08/22(火) 09:44:42ID:???
blog辺りかそれ以上の規模くらいで十分考慮しなきゃいけないレベルだと思うが。
まさか埋め込みメールフォームとかのレベルの話じゃないだろうな。
0924軟式PHP2006/08/22(火) 09:58:06ID:???
>>922
それが大企業から降りてきたプロジェクトなどは、
CI > 単体テスト > 結合テストとか結構ややこしい手順を踏まないといけないことがあるよ。
0925nobodyさん2006/08/22(火) 10:03:00ID:???
規模の大小にかかわらず、ユニットテストはしてもらいたいものだが
少なくとも、コアになるような処理に関してはね
0926nobodyさん2006/08/22(火) 11:17:50ID:???
PukiWikiのソースをちょっと見てみたけど、あれは参考に……なる?
処理ごとに細かくユーザ定義関数が用意されているんだけど。
0927nobodyさん2006/08/22(火) 11:47:11ID:???
読む力が十分に備わった人なら。
09289142006/08/22(火) 12:10:13ID:???
>>915
そうですね。確実に素人の考えです。でも「プロ」のやり方が正しいかどうかは分かりません。
俺は複数人数で開発してるわけじゃないので、プロのやり方がひどく無駄で非効率に感じてしまう時があります。
なぜ単体テストと品質が直結するのか、いまいち納得がいきません。そのやり方が全てではないと思います。

>>916
可読性という点では、ベタ書きですがかなり気をつけて書いています。
ただそれは「自分が分かりやすい」というものでしょうから、
たしかに誰かに引き継ぐとなると、引き継いだほうは多少大変かもしれません。
ただベタ書きとはいっても、一つ一つの処理は、だいたい一つの流れでまとまっているわけで、
その近辺だけを読めばだいたい分かるようになっています。
09299142006/08/22(火) 12:35:40ID:???
>>917
なるほど、そういうイメージなんですね。分かりやすいです。
ちなみに俺はベタ書きですが、「顧客の登録、削除、更新」があったとして、
それぞれの機能の終わりの部分にexit;を挿入してテストしてますので、結果的に単体テスト…になってるのかな??

>>920
そうなんですか、ちょっとホッとしましたw
俺の考えでは、要するに最終的に実際の運用で想定されるあらゆる操作・アクションを
漏れなく実行してみるテストをすればそれでいいのでは?・・・という感じです。
09309142006/08/22(火) 12:37:15ID:???
>>925
たとえば自作関数が期待通りの動作をするかどうかは当然チェックしてるので、
たぶん、みなさんが言うところの「ユニットテスト」に当たるものは
無意識にやってるんだと思います。
0931nobodyさん2006/08/22(火) 13:16:45ID:???
>>929
> 俺の考えでは、要するに最終的に実際の運用で想定されるあらゆる操作・アクションを
> 漏れなく実行してみるテストをすればそれでいいのでは?・・・という感じです。

たぶん網羅してるつもりでも出来てない気がする。
テストすべき条件が3つある処理が2つあったとして、それを同じ関数に入れると
3の2乗個の条件になる。入れれば入れるほど条件は増えるが、必ず全てを網羅できるか?
0932nobodyさん2006/08/22(火) 13:33:55ID:???
予算と時間がしっかり与えられてればテスト書くんだけどね。
実際はそんな暇ない。
フリーでやってたりすると、お客さん(発注側)がかなり無理を言うので。
普通の企業で2人月の仕事を2週間でやってくれとか、
納品まで数日しか無い所で呼ばれるとか…。
テストファーストとか言っても、まるで書いてる暇がない。
0933nobodyさん2006/08/22(火) 13:44:45ID:???
>>931
関数個別の入出力のテストはそれはそれでやっています。
あと、条件を網羅できてるかどうかは、テストの手法に関わらず気をつけるべき
ポイントであり、テストの手法には直接関係ないですよね?

あと、ユーザ入力の値(範囲)チェックやバリデートを厳密にやっているので、
関数に入れてテストすべき条件はさほど多くならないようにしています。
0934nobodyさん2006/08/22(火) 13:53:57ID:???
>>933
そこまで断言できるならここで意見を求める事もないだろう。
独自の道を進めばいいんじゃないか。

けど経験則で言うと、別に劣ってないからやらなくて良いでしょって言う時は
やらなくて良い口実を探してる事が多いんだよな。
0935nobodyさん2006/08/22(火) 14:05:19ID:???
>>934
それは違うんじゃね??
下請けチームで歯車作業をやる時の手法は、あくまでも歯車用だろ。
0936nobodyさん2006/08/22(火) 14:11:12ID:???
>>930
ユニットテストは初期開発時以外でも、リファクタリングするときにも使う
テスト用の条件をテキストに書き残して、機能を変更したときにそれをもう一度
手で行うのはめんどうなので、自動的に行ってくれるユニットテストツールが
重宝される
0937nobodyさん2006/08/22(火) 14:19:21ID:???
test
0938【みらくる】な電波ソング(w2006/08/22(火) 14:29:06ID:???
天使のスプーンですくったら
ほっぺがおちるよミラクルワールド

カモーネカモネ ミラクルかもね
作って美味香 ナンバーワン
ビビンバ ズッパ タンタンメン
クスクス カタプラーナでポイ!

味にうるさいクレオパトラも
食わず嫌いのナポレオンも
みんな大好き魔法の呪文
とっておきの呪文だよ

天使のスプーンですくったら
魔法の呪文を ハリラハリラハラリー(ハイ!)

カモーネカモネ ミラクルかもね
作って美味香 ナンバーワン
ビビンバ ズッパ タンタンメン
クスクス カタプラーナでポイ!

(NHK教育 18:00 - 18:10)
http://www.youtube.com/watch?v=tmELQUsLu2o
09399142006/08/22(火) 14:41:38ID:???
>>936
なるほど、それは一理あるというか、説得力がありますね。
0940nobodyさん2006/08/22(火) 14:46:14ID:???
>>935
歯車になる気は無いし、複雑な問題を単純化しなくても解けるし、
忘れた頃に自分の書いたコードを読み返してもすぐ理解できるし、
もしかしたら二度と忘れる事はないんでしょう。
0941nobodyさん2006/08/22(火) 14:50:21ID:???
夏っぽいな
チーム開発した事なく自己過信気味の駆け出し君に
ユニットテストの恩恵なんか説明しようとしても無駄
質問者と回答者のやり取りも微妙に噛みあってない
禅問答やってる暇があったらコード書いてた方がいい
0942nobodyさん2006/08/22(火) 14:51:47ID:???
コード書いて教えてくれればいいじゃん。
時間がもったいないだろ p
0943nobodyさん2006/08/22(火) 15:05:42ID:???
じゃ情報オリムピックの問題をPHPで解いてみよう
0944nobodyさん2006/08/22(火) 15:29:48ID:???
http://123#a,s
0945nobodyさん2006/08/22(火) 15:31:53ID:???
http://a
0946nobodyさん2006/08/22(火) 17:24:08ID:???
>>943
の口車に乗って
ttp://www.ioi-jp.org/joi/2005/2006-m1-prob_and_sol/2006-m1-t1.html
をやってみてるんだが

入力例23 4 52 1 26 3 41 2 31 1 1
出力例23 1 1 1

って
出力例24 1 1 1
じゃないか?
09479462006/08/22(火) 17:25:02ID:bNxpCiwi
>>946
あーみにくくなった
出力例2は
4 1 1 1
じゃ無いかって事
0948nobodyさん2006/08/22(火) 17:46:54ID:???
>>946
例は間違ってないよ
三角不等式について調べてみるといい
0949nobodyさん2006/08/22(火) 17:48:09ID:???
>>948
あーごめん、問題文をきちんと把握出来てなかった。
途中で処理止めずに全部判定してたわテヘ
09509462006/08/22(火) 17:49:10ID:bNxpCiwi
ちなみにforeachを抜け出すっていうか終了させる方法って無いんだっけ?
ユーザ関数化しちゃえばいいんだけどさ
0951nobodyさん2006/08/22(火) 17:57:28ID:???
あるよ
0952nobodyさん2006/08/22(火) 18:05:04ID:???
>>943
先生!PHP却下です!!
>本選ではC/C++とJavaだけが使えます
0953nobodyさん2006/08/22(火) 18:09:08ID:???
だからあえてPHPで解くんじゃないの
0954nobodyさん2006/08/22(火) 18:16:11ID:???
>>952
はきっと自己判断が出来ないって言われるタイプなんだろうな
0955nobodyさん2006/08/22(火) 18:27:18ID:???
>>950
foreachを抜け出す処理をするユーザ関数を見てみたい
0956nobodyさん2006/08/22(火) 18:33:58ID:???
>>955
function hogehoge
{

foreache($hoge as $var)
{
return $var;
}


}
0957nobodyさん2006/08/22(火) 18:45:39ID:???
百歩譲ってそれ何に使うの
0958nobodyさん2006/08/22(火) 18:52:24ID:???
>>957
無理して使う必要は無いんじゃない?
0959nobodyさん2006/08/22(火) 18:55:23ID:???
>>941
そりゃチーム開発にはOOPだのユニットテストだの必須だが、
別にそれが必ずしも優れてるとか絶対とかってわけじゃないだろう

自己過信気味で頭が硬直化してるのはむしろ喪前では?
0960nobodyさん2006/08/22(火) 19:10:44ID:???
文法ミスりまくりだし
ただ一つ目の要素返して終わりで何をしたいのかわからない
0961nobodyさん2006/08/22(火) 19:13:55ID:???
>>949
うそこくでねえだ
全部判定したら4 1 2 1だ
0962nobodyさん2006/08/22(火) 19:52:15ID:???
途中である条件を満たしたら中断したいようなループは
while使いたいな。
0963(^ω^)2006/08/22(火) 20:01:16ID:???
解答書くお
0964(^ω^)2006/08/22(火) 20:04:57ID:???
<?php
$file_name = "01.txt";
/* ここからプログラム */
$tri = 0; // 三角形
$r_tri = 0; // 直角
$a_tri = 0; // 鋭角
$o_tri = 0; // 鈍角
$fp = fopen($file_name, "r") or die("ファイル読めねーよ馬鹿");
while(true) {
 $res = sscanf(rtrim(fgets($fp)), "%d %d %d");
 //値の数が3以下なら終わり
 if (count($res) != 3)
  break;
 sort($res);
 // 三角形でなければ、さようなら
 if ($res[0] + $res[1] <= $res[2])
  break; // 終わり
 ++$tri;
 // 直角三角形
 if ($res[0] * $res[0] + $res[1] * $res[1] == $res[2] * $res[2])
  ++$r_tri;
  continue;
 // 鋭角三角形
 if ($res[0] * $res[0] + $res[1] * $res[1] > $res[2] * $res[2])
  ++$a_tri;
  continue;
 ++$o_tri;
}
fclose($fp);
echo join(" ", array($tri, $r_tri, $a_tri, $o_tri));
?>
0965(^ω^)2006/08/22(火) 20:07:23ID:???
ごめん、直角三角形と鋭角三角形の部分に{ }が必要だった
0966nobodyさん2006/08/22(火) 20:14:52ID:???
DOMDocumentでファイルにXMLツリーを書き出すときの排他制御は
どうやるんですか?
0967nobodyさん2006/08/22(火) 21:07:08ID:???
そういえば、WinのApache 2.2.3でPHP5は使えるようになったのでしょうか?
0968nobodyさん2006/08/22(火) 22:00:57ID:???
開発のテストだけどさ、テストを行う根本的な理由はさ、運用開始したときにバグが発生してまいったなこりゃ
ってことにならないように行うものだよ

だからさ、バグがありませんよって示せるようなテスト結果があればいいってことだよ

単体テスト、結合テストってプロジェクトの規模によって複数階層別になるし
ほかのみんなが言っている単体テストを質問者のプログラムに直接対応させるのは
おかしいと思う

単体テスト=個々の機能テスト
結合テスト=複数の連携テスト

ようはバグがあとあとでてこないように、発生しうるルートをすべて網羅できるように、
小さい機能から先にテストしておきましょうってことかな

複数の機能が連動するようなテストだと、すべて網羅することは難しいからね
0969nobodyさん2006/08/22(火) 22:35:57ID:pY0h5YuJ
質問でございます〜  環境はPHP5, Mysql5, Fedora5

クライアントの要望で、PHP、SQLの環境で、スプレッドシート(セル)形式のUIを作って欲しいと。
なぜか? と聞いたら、取引先のxlsからコピーできたりしたら、素晴らしいことでしょ? それとライセンスの関係でエクセルが無いPCがあるので、エクセルに依存してるのは駄目だと。
との答え。
はい。 途方にくれました。

まず、エクセル以外のスプレッドシート… 思い浮かびません。色々調べたけど、英語過ぎて分からなかった。ライセンス激高いソフトは発見したけど、SQLの兼ね合いがまるで不明。
それになんらかのスプレッドシートを作ってもSQLから出力できるのかと。

明日一日調べる予定だけど、英語てんでだから、難しいだろうなぁ;;
皆さんお知恵があれば、助けてください;;

0970nobodyさん2006/08/22(火) 22:39:53ID:???
>>969
それ、いくらで作るの?100万とかじゃないよね。
まぁ、そんなあなたに
つ Google Spreadsheets
0971nobodyさん2006/08/22(火) 23:18:42ID:pY0h5YuJ
>970
100ってことはないと思いますね。PMと営業にまだ聞いてないので、詳しくは知りません。
Google Spreadsheetsですか〜 ちょっと調べてみます〜
HTMLにさえ入れられれば… ☆(ゝω・)vキャピ
0972nobodyさん2006/08/23(水) 00:07:29ID:???
CSRF対策で、リファラのチェックってどうやるのがベストですか??

一応考え付いた方法は、$_SERVER['HTTP_REFERER']と$_SERVER['HTTP_HOST']を
取得して、$_SERVER['HTTP_REFERER']の文字列の中に$_SERVER['HTTP_HOST']が
含まれてるかどうかをチェックするというもの。

これだと何かマズイ点とかありますでしょうか?
0973nobodyさん2006/08/23(水) 00:17:37ID:???
>>972
リファラのチェックはそれでも良いだろうが、リファラなんて
簡単に偽装出来てしまうぞ。
0974nobodyさん2006/08/23(水) 00:24:27ID:???
>>973
CSRF対策での話なので、リファラ偽装は関係ないと思いますが・・・。

CSRFによる被害を受けちゃう本人がリファラを偽装してる分には
その人自身の責任ですからね。
0975nobodyさん2006/08/23(水) 00:40:33ID:???
リファラなんて返さない人も多いのに、対策でアテになんのかそれ。
0976nobodyさん2006/08/23(水) 01:01:54ID:???
次スレ:


【PHP】下らねぇ質問はここに書き込みやがれ 27
http://pc8.2ch.net/test/read.cgi/php/1156262092/
0977nobodyさん2006/08/23(水) 01:16:21ID:???
PHPでメールを送るときにmail関数を使ってるんだけどなぜか件名だけ文字化けする・・・
=?iso-2022-jp?B?".base64_encode(mb_convert_encoding("ここに日本語の件名","JIS","EUC-JP"))."?=";
って言う指定をしたらある程度文字化けを防げるようになったんだけど、一部の人間はまだ文字化けしてるって言ってる。

誰かヒントください!
0978nobodyさん2006/08/23(水) 01:42:08ID:???
>>975
リファラを返さないようなキモヲタには
そもそもシステムを使わせませんので大丈夫です。
レス数が950を超えています。1000を超えると書き込みができなくなります。