トップページ⇒php
982コメント234KB

PHP総合雑談スレ

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/01/14(月) 21:35:11ID:???
PHP全体の雑談のようなスレがなかったからたてた
反省はしていない
05965942009/03/07(土) 19:32:48ID:/9SP6JzE
そんな頭ないんだよ!
595書いてくれよ。
0597nobodyさん2009/03/07(土) 19:55:51ID:???
ろくな検索すらできない奴なんだから察してやれよw
0598nobodyさん2009/03/19(木) 00:58:24ID:???
php+winbinder使って
windows上で動くシューティングゲームを作ってみたりしてるけども
ゲームの基礎がないのでつらいw

そんな酔狂なヤツは他にいますか?
0599nobodyさん2009/03/19(木) 01:02:17ID:???
なんとなく自機が動いたり
敵機が動いたりするようになったのだが
画面の描画とか押されたキーを受け取る方法とかが自己流で
妥当な関数つかってるのかもわからないんだよなー。
0600nobodyさん2009/03/19(木) 18:49:33ID:???
お前らなんか今、個人的に作ろうとしてるものとか作りたいものとかある?
0601nobodyさん2009/03/19(木) 19:00:53ID:???
CMSを自作してる最中
0602nobodyさん2009/03/19(木) 19:37:33ID:yS9l3Qpm
http://blog.livedoor.jp/dankogai/archives/51189905.html
もうおまえらPHPerは正規表現をブログにうpするんじゃねえ!
0603nobodyさん2009/03/19(木) 20:08:17ID:???
>>602
宣伝乙
0604nobodyさん2009/03/19(木) 21:41:30ID:???
>603
このスレdankogaiがチェックしてるのか!すっげ!
0605nobodyさん2009/03/19(木) 22:48:28ID:???
similar_textとlevensteinとの関係について、ちょっと聞きたいことがあります。

文字列長がM,N(N>M)な二つの文字列の比較に必要な計算時間は
similar_textがO(N^3)でlevensteinがO(MN)ということで、similar_textの方が重い処理です。
ソースをさらっと読んだ感じでは、similar_textは(一致した文字の個数)を計算してるだけですよね。

ところで、
M+N = 2*(一致した文字の数) + (文字を挿入した回数) + (文字を削除した回数) + 2*(文字を置き換えた回数)
という関係が成り立っているので、整理して
(一致した文字の数) = (M+N - {(文字を挿入した回数) + (文字を削除した回数) + 2*(文字を置き換えた回数)} )/2
中括弧の中は、Levensteinのアルゴリズムで置き換えのコストを2に設定したものと同じになると思うので、
similar_textはO(N^3)も計算コストがかからないはず。

なんか間違ってますか?
0606nobodyさん2009/03/20(金) 07:20:05ID:???
その正規表現、ひどいよな。多分、どっかに載ってたメールアドレスの正規表現をいくつか組み合わせて、たまたま動いたから、これでいいや、みたいな感じなんだろうな。
0607nobodyさん2009/03/21(土) 22:16:06ID:???
PHPは楽しいのー^^
0608nobodyさん2009/03/22(日) 04:16:54ID:???
ム板にまでそのURL貼られててやっぱりPHPは……ってなってた
0609nobodyさん2009/03/22(日) 04:32:03ID:???
確かにメールアドレスを表現する正規表現は難しい。
しかし、いきなり/^[^0-9]で始まるわけじゃん。
1秒でこりゃダメだって気づくレベル。
0610nobodyさん2009/03/22(日) 04:33:19ID:???
PerlやJavaやCの解説サイトでは完璧なのか
0611nobodyさん2009/03/22(日) 04:40:47ID:???
正規表現のことじゃなくてレベル低いな、みたいな
0612nobodyさん2009/03/22(日) 06:01:07ID:???
>>611
http://pc11.2ch.net/test/read.cgi/php/1236532468/
0613nobodyさん2009/03/22(日) 06:56:40ID:???
>>612
(´・ω・`) 仕方ないね、うん、仕方ない
0614nobodyさん2009/03/22(日) 07:33:40ID:???
何がだ?
0615nobodyさん2009/03/30(月) 11:21:59ID:J/K5uWTc
test
06161222009/03/31(火) 02:30:38ID:???
性器表現ができないんですが
どうしたらいいですか
最大マンコでお願いします
0617nobodyさん2009/03/31(火) 11:26:13ID:???
>>616
dankogaiに聞けw
0618nobodyさん2009/04/05(日) 23:54:11ID:2BVYNxPl
PHP5とPHP4の変数の参照渡しの違い
http://ameblo.jp/itboy/entry-10228129728.html
0619nobodyさん2009/04/07(火) 02:42:52ID:???
突然フィールド変数がnullになるんでパニくってたら、private変数をサブクラスから参照しようとしてた。orz

アクセス違反ぐらい出してくれてもいいのに...。
まぁスーパークラスの内部構造変えただけで、サブクラスが正常に動作しなくなるのもマズいんだろうが。
0620nobodyさん2009/04/09(木) 00:14:34ID:???
private変数は変数名の頭や最後にアンダーバーとかをくっつける、という手もある。
private→protectedに変更する際の作業量が多くて面倒くさいが(置換使えば一発だけど)。
06211302009/04/09(木) 05:32:23ID:sBmn/pA0
グーグルランク取得したいです。PHPで
でも、その方法が調べてもわからないんです
PHP暦は一年でそこそこです
06221302009/04/09(木) 06:01:34ID:???
見つかったのでもういいです
ほんと、役に立たない人達。いつも俺は、あんたら初心者のために
泥の中をはいつくばるように質問に答えて、その上暴言を吐かれ
それでも答え続けてるのに、情けない奴らだよほんと
この程度も即レスできないようじゃ
また、この時間に寝ているとの意見もあるだろうが
そのような言い訳も聞く気もありません
本当に幻滅しました。能力の無い糞
0623nobodyさん2009/04/09(木) 09:21:00ID:???
お前は何を言っているんだ
0624nobodyさん2009/04/09(木) 10:14:16ID:???
春だからな
薬が効きすぎたのだろう
0625nobodyさん2009/04/09(木) 12:56:30ID:???
まあ、せっかく質問したのに自己解決のほうが早かった時って住民に対してイラっとくるものではあるからな。
0626nobodyさん2009/04/09(木) 13:37:09ID:???
木の芽時ってこわいなぁ
0627nobodyさん2009/04/09(木) 14:00:36ID:???
ちなみに>>621はマルチだった
0628nobodyさん2009/04/09(木) 18:42:28ID:???
>>622も以前はこんな無茶苦茶な印象批判する人じゃなかったんだけどな
0629nobodyさん2009/04/09(木) 22:03:02ID:???
あの日だからな
0630nobodyさん2009/04/11(土) 18:27:09ID:???
ホント、ごめんな!
俺がもうちょっと早起きしてたら・・・・
明日から4時起きにするから許してくれ。
0631nobodyさん2009/04/13(月) 12:46:42ID:???
PHPでウェブプログラミングしています。
GET変数について詳しいかたがいらっしゃったらお聞きしたいことがあるのですが…。

GET変数は、「変数がURLに埋め込んで渡される変数」という理解で間違いないでしようか?
必ず「…?…」の形で渡されるという考えでよろしいのでしょうか。
それとも、なにか特殊なURL記述方法でGET変数を渡せたりしますか?

よろしくお願いします。
0632nobodyさん2009/04/13(月) 12:49:28ID:???
<form action="" method="get"> ←当然これでも$_GET['hoge']で取得できるよ
<input type="text" name="hoge">
<input type="submit">
</form>
0633nobodyさん2009/04/13(月) 13:04:15ID:???
>>631
URLに埋め込んで渡すでおk
0634nobodyさん2009/04/13(月) 13:18:42ID:???
アドバイスありがとうございます。

さらに言うと、
「GET値を渡される場合のURLには必ず ? という文字が含まれる」
という認識で間違いありませんか?
0635nobodyさん2009/04/13(月) 13:45:36ID:???
何をしたいの?
0636nobodyさん2009/04/13(月) 14:32:47ID:???
>>634
全部ゲット
http//aaa.jp/?test($_SERVER['QUERY_STRING']で取得)
http//aaa.jp/?test&a=a
http//aaa.jp/?a=a($_GETで取得
http//aaa.jp/?a=a&b=b
0637nobodyさん2009/04/13(月) 14:40:26ID:???
>>636
アブダクションに推論すると,GETの場合はURLに必ずhttpという文字が含まれる,ということだな
0638nobodyさん2009/04/13(月) 14:42:21ID:???
>>637
ちがいますね
<a href="?test">test</a>
0639nobodyさん2009/04/13(月) 14:57:48ID:???
それにアクセスするとブラウザのURL欄が?testになるのかい?
0640nobodyさん2009/04/13(月) 15:01:59ID:???
おまえは何を言ってるんだ
0641nobodyさん2009/04/13(月) 15:03:00ID:???
>>631=>>634=>>637=>>639
基本がわかってなさ杉
web制作板行って濃い
0642nobodyさん2009/04/13(月) 15:05:47ID:???
=じゃねぇよ読解力無い奴だな
0643nobodyさん2009/04/13(月) 15:48:18ID:???
>>631=>>634=>>637=>>639=>>642
0644nobodyさん2009/04/13(月) 16:21:44ID:???
>>641
言いたいことは解るが=関係は違うと思うぞ
別にどうでもいいが
0645nobodyさん2009/04/13(月) 19:31:03ID:???
>>631=>>634=>>645 です。
助言ありがとうございます。レス遅れて失礼しました。

>>635
PHPとは少し離れますが、mod_rewrite で動的ページを静的ページに見せかけようとしています。
ttp://url/aaa/bbb → ttp://url/aaa.php?page=bbb
このとき、当てずっぽうでGET変数を当てられて(なかなか無いとは思いますが)、
直接ttp://url/aaa.php?page=bbbへのアクセスははじくように設定しています。
このときの判定材料を、%{THE_REQUEST} に?が含まれているかどうか、
という条件式にしているのですが、これで隙がないか調べているところでした。
0646nobodyさん2009/04/13(月) 19:56:06ID:???
なんではじくの?
あとrewrite後のページでGET使いたいとき面倒じゃない?
0647nobodyさん2009/04/13(月) 21:00:29ID:???
>>646
rewriteするときに、同時に文字列を正規表現で正規化してPHPスクリプトに渡しています。
PHPのほうではGET変数の不正チェックを行わずに生で使っています。
(二重チェックするのはリソースがおしいので)

PHPでは不正チェックを行わない理由から、apache側のGET変数のチェックはきびしめにしたいからです。
0648nobodyさん2009/04/13(月) 21:09:21ID:???
mod_rewriteで入力値の妥当性検証するのは無謀だと思うぞ・・・
0649nobodyさん2009/04/13(月) 21:26:54ID:???
>>648
無謀だという理由を簡単で構いませんので教えていただきたいです…。
無知で申し訳ないです。よろしくお願いします。

私の考えでは、副産物として値の不正チェックができるならば、という考えです。
これ自体が目的ではありませんので、デメリットが大きければ固執するのはやめようと思います。
そもそも自サイトからのリンクなので、「故意にURLを書き換えられる」という
特別なケースを考えているからフォームに入力を求めるような場合の
ゆとりある不正チェックは必要ないかなと考えています。

この考えから改めたほうがいいのでしようか…?
0650nobodyさん2009/04/13(月) 23:25:22ID:???
DBから取得した値を可変の配列に格納しようと思ってるのですが、
.NetのArryalListに似たコードはありますか?
0651nobodyさん2009/04/14(火) 01:22:41ID:???
>>650
なんかすごい名前のクラスだけど
.NetのArrayListってどんなの?
0652nobodyさん2009/04/14(火) 01:23:23ID:???
と思ったけどマルチですか
乙
0653nobodyさん2009/04/14(火) 20:58:24ID:???
>>648はさっさと答えてやれよ
0654nobodyさん2009/04/14(火) 23:05:33ID:???
リファラではじけよ、そんな当てずっぽうURL。
0655nobodyさん2009/04/14(火) 23:14:22ID:???
りふぁら(笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
0656nobodyさん2009/04/14(火) 23:38:07ID:???

URL直叩きを防ぎたいだけなんだからリファラで十分だろ?

>>650
phpのarrayはもともと可変だろ。引数に文字を入れられるからArrayListにもDictionaryにもなる。
0657nobodyさん2009/04/14(火) 23:44:39ID:???
リハラーは偽装可能だから無意味だろ
0658nobodyさん2009/04/15(水) 01:26:03ID:???
意味がないことに時間を費やすより、有意義なことにつかったほうがいいという意見もあるといえばある
しかし相変わらずPHPとはあまり関係ない話題だわなw
0659nobodyさん2009/04/15(水) 08:45:59ID:???
リファラは常にブロックしてる輩がいるから、その方法はありえないな。
0660nobodyさん2009/04/15(水) 12:58:58ID:???
結局のところ

> さらに言うと、
> 「GET値を渡される場合のURLには必ず ? という文字が含まれる」
> という認識で間違いありませんか?

これに解答できれば解決ってことだろ。
俺も気になるから誰か明快な解答を頼む
0661nobodyさん2009/04/15(水) 13:03:48ID:???
本人乙
0662nobodyさん2009/04/15(水) 13:05:17ID:???
>>660
ブラウザのユーザー入力URLではそうとは限らない(rewriteされる可能性があるから)
でも最終的にApacheのコアエンジンが解釈するURLではその通り。それだけ。
?キー1=値1&キー2=値2.... はたぶんRFCの規定かなんかで仕様扱い。
0663nobodyさん2009/04/15(水) 13:11:49ID:???
>>660
本人お疲れ〜
0664nobodyさん2009/04/15(水) 16:13:41ID:???
十分かどうかは分からないけど、ある程度の効果はある。よほどみたいページじゃなければ、わざわざ偽装してまでアクセスしようと思わないから。
0665nobodyさん2009/04/15(水) 22:17:44ID:???
無駄な努力をがんばりたいのは勝ってだが、それはPHPの雑談ではなかろうとおもった
言語は受け取ってから動作するわけで、受け渡す値は
どう考えてもHTTP仕様やHTTPサーバ実装の話題だろう
0666nobodyさん2009/04/16(木) 11:30:11ID:???
これで読み込みが速くなるとか言うけど変わらないんだけど・・・
ttp://www.ideaxidea.com/archives/2008/01/3classcompressorphp.html
0667nobodyさん2009/04/16(木) 23:00:39ID:???
>>>666
既にサーバー側で、レスポンスを圧縮して転送してるんじゃない?
0668nobodyさん2009/04/17(金) 22:21:30ID:???
げとでも?が付かない場合もあるでしょ。
ttp://aaaa.com/abc.php/gomen/suimasen/kanben/
みたいな感じで。
0669nobodyさん2009/04/17(金) 23:03:48ID:???
>668
GETリクエストではあるかもしれないが、GET変数じゃないだろ、それ。
0670nobodyさん2009/04/17(金) 23:22:19ID:???
GETリクエストでPATH_INFOとってるだけだな。
というか、そういう話ならそもそも
GETリクエストはデータ送信が主目的じゃないから
大抵のサイトのGETリクエストには?なんかついてないわ
0671nobodyさん2009/04/20(月) 08:07:56ID:???
知恵をお借りしたいです。

$str = '"aaa", 0, 2';
substr($str);

↑これを、
substr('"aaa", 0, 2');
ではなく
substr("aaa", 0, 2);
として認識させる方法はないのでしょうか?
型変換とか色々考えてみたけど思い付きませんでした。
0672nobodyさん2009/04/20(月) 08:55:32ID:???
eval
0673nobodyさん2009/04/20(月) 16:33:38ID:???
>>672
知りませんでした。ありがとうございます。
0674nobodyさん2009/04/20(月) 16:46:13ID:???
>>671-672
いただき
0675nobodyさん2009/04/20(月) 16:51:15ID:???
おいおいw
0676nobodyさん2009/04/20(月) 16:56:31ID:pbLy9Xug
えばるな。
0677nobodyさん2009/04/20(月) 22:55:11ID:???
そしてまた脆弱性のあるコードが生まれるのであった・・・
0678nobodyさん2009/04/20(月) 23:06:09ID:???
き、脆弱性(笑
0679nobodyさん2009/04/20(月) 23:41:19ID:???
なんでなんでもすぐevalで解決しようとするにゃん(´・ω・`)?

$str = '"abcde", 0, 2';

$arr = split(',', str_replace('"', '', $str));
substr($arr[0], $arr[1], $arr[2]);

さくっと分けてしまえばいいやん

むしろ
$str = "abcde";
$arg1 = 0;
$arg2 = 2;
substr($str, $arg1, $arg2);
最初から分けておくべきじゃね
0680nobodyさん2009/04/21(火) 00:31:48ID:???
ちょっと始めたらあれもこれもやりたくなってきりが無い
画像認証と確認メールで再認証てどっちがいいの?
0681nobodyさん2009/04/21(火) 00:55:01ID:HHvQ3yZ0
ここだった。

終わった・・・
今まで、MySQL(サンの傘下)で開発していたシステムが全て水の泡だ・・・

【速報】オラクルがサンを買収
http://headlines.yahoo.co.jp/hl?a=20090420-00000004-zdn_ait-sci
0682nobodyさん2009/04/21(火) 01:02:02ID:???
非リレーショナルDBMSの時代クルー!
こねえよバカ
なんだとメガトロン
0683nobodyさん2009/04/21(火) 01:22:35ID:???
ポスグレ時代到来
0684nobodyさん2009/04/21(火) 01:24:33ID:???
少し前にMysqlの開発者がSunからエクソダスってたけど、やっぱ知ってたんだろうな
0685nobodyさん2009/04/21(火) 01:51:52ID:???
ようやく話をまとめたのかって感じだな
とりあえずはOracle大勝利か
0686nobodyさん2009/04/21(火) 09:26:36ID:???
今まで定数の宣言に何も疑わず define を使ってたんですが、
軽く速度はかったら宣言するのも呼びだすのも時間かかってるようでした。

定数の宣言はどうするのがいいと思いますか?
0687nobodyさん2009/04/21(火) 10:35:44ID:???
コンパイル言語じゃない限り定数で速くなることはないと思っていいかと
0688nobodyさん2009/04/21(火) 11:05:06ID:2lbDKRu3
>>681
疎いからよくわかんないんだけど、これはMySQL終了のお知らせ?
0689nobodyさん2009/04/21(火) 13:28:13ID:???
まさか・・・Mysqlの資格試験もチケット制になり、お金をむしり取られるのですか?
0690nobodyさん2009/04/21(火) 14:13:29ID:???
PHPって変数を読み取り専用にロックって出来ないよな。
0691nobodyさん2009/04/21(火) 15:49:02ID:???
変更できない変数ってそりゃ定数じゃん
0692nobodyさん2009/04/21(火) 18:28:24ID:og7kptdR
>>690
どんなロックしたいのかにもよるな。

コードにベタ書き完璧に固定するのか(定数でおk)
最初に定義したら変更できないようにしたいのか
何らかの条件下で固定したいのか

操作者に変更されたくないのか
共同開発者に変更されたくないのか
自身のバグによる誤操作を防ぎたいのか
0693nobodyさん2009/04/21(火) 19:54:37ID:???
flock($hensuu,LOCK_EX)でできない?
0694nobodyさん2009/04/21(火) 20:17:06ID:???
なんと
0695nobodyさん2009/04/21(火) 20:28:23ID:???
天才現る
0696nobodyさん2009/04/21(火) 22:42:28ID:???
>>681
DBMSにべったりなコードなんて書くほうがわるいな。
DB関係なんて適当な汎用ライブラリ使っておいて交換可能にしとくのが基本。

まあ俺はDBなんて概念そのものが胡散臭いって気付いてたけどね。
昔からのグラマーならファイル読み書きアルゴリズムなんか自作が基本だし。
■ このスレッドは過去ログ倉庫に格納されています