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

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

■ このスレッドは過去ログ倉庫に格納されています
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カテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0478nobodyさん2006/08/15(火) 18:07:05ID:???
まぁまぁ。
>>476の内容で十分じゃないか。検索キーワードも書いてるんだし。
0479nobodyさん2006/08/15(火) 18:10:09ID:???
>>476
>別ファイルにこだわる理由としては、作ろうとしているページが30ページくらいになる予定で
>その30ページのどのページも記事が違うだけで、デザインは同じにしたかったので

普通に外部cssで良いじゃん?
0480nobodyさん2006/08/15(火) 18:20:32ID:D3BJyJj0
スレ違いかもしれませんが、

fopen(サイズが大きいファイル,"r");
fopen(サイズが小さいファイル,"r");

これって処理速度は変わるんですか?
0481nobodyさん2006/08/15(火) 18:26:27ID:???
変わらんよ
0482nobodyさん2006/08/15(火) 18:57:49ID:D3BJyJj0
>>481
開くファイルが大きかろうが、小さかろうがファイル用のバッファの大きさは変わらない、ファイルを開いた時に全てメモリに展開するわけではない という理解でいいんでしょうか?
0483nobodyさん2006/08/15(火) 19:02:04ID:???
>>482
そもそもファイルオープンという処理は、ファイルをファイルハンドルに結びつける処理に過ぎない。
04844722006/08/15(火) 19:27:14ID:???
>>474
精進いたします。
ご迷惑おかけしました。

>>477
----- style.php の方の変更点 -----
拡張子をcss → php
ファイルの一番最初に
<?php header("Content-Type: text/css"); ?>
を追記
これで、このファイルは拡張子がphpなのでphpとして処理され
しかし、htmlからはcssとして解釈してもらえるみたいです。

-----example.phpの方の変更点-----
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" type="text/css" href="../style.css">
となっていたものを
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" type="text/css" href="../style.php">
と書き換えるだけです。
すべてのcssをphpに書き換えるわけではなく、あくまでもファイル指定する部分の拡張子だけをphpに直すとうまくいくみたいです。

>>479
普通の外部cssだとphpとして処理してもらえないので
example.php側からの処理を受け取って、cssを書き換えたかったのです。

程度の低い質問に付き合ってくださった方々ありがとうございました。
0485nobodyさん2006/08/15(火) 19:40:18ID:D3BJyJj0
>>483
バッファ(ストリームであってるかな?)は、いつ作られるんですか?
0486nobodyさん2006/08/15(火) 20:29:25ID:???
>>485
ストリーム is not バッファ
0487nobodyさん2006/08/15(火) 20:31:05ID:lK1TSrGk
ごめん457です。
文字化けの原因はmb_convert_encodingだった。

お騒がせいたしました。
0488nobodyさん2006/08/15(火) 20:51:22ID:D3BJyJj0
>>485
では、ストリームとはなんなんでしょうか?
0489nobodyさん2006/08/15(火) 20:55:06ID:???
連続した区切りのない入出力のこと
0490nobodyさん2006/08/15(火) 22:39:52ID:???
>>482
正しい
0491nobodyさん2006/08/16(水) 00:45:48ID:???
class B
{
 function getB()
 {
  return "nullpo";
 }


class A
{
 var $elements = array();

 function newElement()
 {
  $element[] = new B;
 }

 function getCurrentElement()
 {
  echo end($this->elements)->getB();
 }
}

>  end($this->elements)->getB();
こんな感じで配列にはいってる最終の要素のメソッドを呼び出したいんですが
うまくいかないですー

どこがおかしいかってのと
どうやったらうまくいくかってのをどうかご教授ください
0492nobodyさん2006/08/16(水) 01:05:43ID:NkNMn0ad
質問させてください。
windowsXP SP2
apache2.0
PHP 5.1.4
という環境です。

アップローダーで、必ず画像とコメントを一緒に表示させたいのですが、どのようにしたらよいでしょうか。
つまり、画像のアドレスを開くと必ず、アップロード時のコメントとセットで表示するようにしたいのです。
以下のような形で試したのですが、画像ではなくバイナリが表示されてしまいます。
<HTML>
<HEAD>
<META http-equiv="Content-Style-Type" content="text/css">
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<TITLE></TITLE>
<body>
こめんと<br />
<?PHP
readfile("./files/1/1.jpg");
?>
</body>
<HTML>
・flashでHTMLを読み込んで出力
・javascriptで画像ファイルを読み込んで出力
必死扱いて他の方法を考えて探してみたのですが、やり方がわからずじまいでした。
どうかお力添えをして頂けないでしょうか。
0493nobodyさん2006/08/16(水) 01:29:11ID:???
>>491
Perlじゃあるまいし、関数の戻り値に直接->なんて演算子は使えないんじゃない?
 function getCurrentElement()
 {
  $e = end($this->elements);
  echo $e->getB();
 }
でどうよ?
0494nobodyさん2006/08/16(水) 01:30:32ID:???
>>488
ストリームは概念。
データを出力する処理を連続して行う事が出来る相手が出力ストリーム
逆が入力ストリーム。
たとえばコンソールは文字出力を連続して行う事で文字列を表示できるわけだ。

ファイルの場合、ファイル名と位置を指定して読み書きが出来るが、
printで文字列を連続して出力するようなインターフェイスを間にはさむ事
によって、ストリームとして利用することも出来る。
というか、ファイルをストリームとして扱う仕組みを、だれかが作ってくれた
からそれが利用できる。そういうもの。
0495nobodyさん2006/08/16(水) 01:32:56ID:???
>>492
HTMLの基本として、HTML本文と写真は必ず別ファイルでないといけない。
同じプログラムでいっぺんに両方とも表示させようとしてもムリ
そもそもそのHTMLじゃIMGタグがどこにもないじゃんか。
<HTML>
<HEAD>
<META http-equiv="Content-Style-Type" content="text/css">
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<TITLE></TITLE>
<body>
こめんと<br />
<IMG SRC="別のPHPプログラム">
</body>
<HTML>
ってやって、その別のPHPプログラムで画像を出力させなきゃダメかと。
つーかこれ、
<IMG SRC="./files/1/1.jpg">
じゃダメなのか?
0496nobodyさん2006/08/16(水) 01:37:30ID:???
>493
やっぱそれしか方法がないんですね.

どうもありがとうございました.
0497nobodyさん2006/08/16(水) 01:37:57ID:???
HTMLすら理解して無い人間がPHPをやろうとするってのが時代の流れなんだなぁ
悪い事だとは思わんが
0498nobodyさん2006/08/16(水) 01:51:44ID:???
>>497
出典は忘れてしまったが
“HTMLを取得してからプログラムの勉強に取り付け”と言って有名になった人が居たなあ。

実際、ハイパーテキストマークアップ言語はプログラム言語ではないし、何の関係があるんだろう……?
0499nobodyさん2006/08/16(水) 02:09:56ID:???
>>491
 function newElement()
 {
  $this->element[] = new B;
 }

>>495
過去ログ嫁。>455
05004952006/08/16(水) 02:13:14ID:???
>>499
俺かよ!?
0501nobodyさん2006/08/16(水) 02:16:19ID:???
if(hoge){
 hogehoge
}

if(hoge)
{
 hogehoge
}

どっち派?
0502nobodyさん2006/08/16(水) 02:17:59ID:???
>>501


Cでも上な書き方してる
0503nobodyさん2006/08/16(水) 02:21:13ID:???
俺も上
0504nobodyさん2006/08/16(水) 02:22:25ID:???
>>501
functionやclassならともかくifなら上。Cでもそう。
PEAR他PHPの主要開発系でも上推奨。
0505nobodyさん2006/08/16(水) 02:24:26ID:???
俺もfunctionとclassは後者。
C言語でも歴史的(というか習慣的?)な理由でそうなってる。
0506nobodyさん2006/08/16(水) 02:24:29ID:???
functionやclassでも俺は上だけど
0507nobodyさん2006/08/16(水) 02:25:32ID:???
if(hoge)
{
 hogehoge
}

見やすいのでこっち
05084922006/08/16(水) 02:37:12ID:???
>>494
仕組みの解説有り難うございます。

>>495
<IMG SRC="別のPHPプログラム">
こういう方法があったのですね。知りませんでした。
これを使おうと思います。
有り難う御座いました。

画像イメージアドレスへの直リンも防ぎたかったのです。
0509nobodyさん2006/08/16(水) 02:47:53ID:???
>>508
Content-Typeには気を付けてな。
うっかりするとセキュリティホールになりかねないし。
0510nobodyさん2006/08/16(水) 03:07:20ID:665idoIE
Shift_JISのWEBページから「〜」の値をスクリプト(UTF-8)に渡すとその時点で
なぜかUnicodeの「〜(もう少し太くてぎざってるやつ」になってしまいます。
スクリプト自体はUTF-8で動いておりUTF-8のページから書き込んだ場合は正常に取得できます。

どういった原因が考えられますか?
0511nobodyさん2006/08/16(水) 03:11:52ID:???
>501
if (hoge){

}
0512nobodyさん2006/08/16(水) 03:12:05ID:???
ちなみに文字コードに関してはmb_convert_encodingで変換も試してみましたが駄目でした。
0513nobodyさん2006/08/16(水) 03:58:59ID:???
>>510
http://pc8.2ch.net/test/read.cgi/php/1153652403/
でも書いたけど、それが有名な「波ダッシュ問題」だ。
個別に置換して対応して下さい。
0514nobodyさん2006/08/16(水) 04:01:00ID:???
ごめん。番号忘れてた。
http://pc8.2ch.net/test/read.cgi/php/1153652403/822
どうせ見れないだろうけど。
0515nobodyさん2006/08/16(水) 04:10:58ID:???
>>513-514
29chで見てきた。
ありがとう。
俺の選択が間違っていたとわかりますた。
0516nobodyさん2006/08/16(水) 04:27:21ID:???
周辺環境が Unicode 化されてきたからってのは分かりますが
Unicode が抱えている諸問題をろくに知りもせずに
安易に UTF-8 を勧める人が最近多いと感じます。
0517nobodyさん2006/08/16(水) 04:42:30ID:???
Unicodeの諸問題が知られて無いのが気になるならここで広めてください。
最終的にEUC-JPがベストって事?
0518nobodyさん2006/08/16(水) 04:56:14ID:???
?から"♪"をとるのはわかるんだけど
"♪"から?を得るにはどーすればいいですか?
0519nobodyさん2006/08/16(水) 04:58:21ID:???
?は & # 9 8 3 4 ; です
0520nobodyさん2006/08/16(水) 05:04:23ID:???
>>517
自分は結構書いてきたつもり。
「波ダッシュ問題」は文字コード変換が介在しなければ表に出てこない問題なので
UTF-8 で統一してれば問題なし、とでも思っているんでしょう。
自分は EUC-JP が無難だと思いますがね。
ただ、EUC-JP で統一出来ない事例(携帯向けなど)も多々あるので
どれが最適かってのは一概には言えないと思います。
0521nobodyさん2006/08/16(水) 05:06:18ID:GaCZ9Sq1
あれからぐぐってみたりいろいろしたんですが、
ストリームの理解ってこんな感じでいいんでしょうか?

可変幅のメモリ領域である(そもそも大きさという概念がない??)
ストリームの開始位置がファイルポインタに記憶される
ストリームから実際にファイルにフラッシュする作業は自動的に行ってくれる
0522nobodyさん2006/08/16(水) 06:32:13ID:???
>>521
様々なリソース(ファイル、文字列、バッファ、ネットワーク上のオブジェクト etc)に対して、
統一された手段で(主にシーケンシャルな)アクセスを提供するのがストリームという概念。
ま、理解出来るか知らんけどがんばれや。
0523nobodyさん2006/08/16(水) 08:10:44ID:???
セッションについて質問なのですが、
session.cookie_lifetimeを「0」に設定しているのに
時間が経つとセッションが切れてしまいます。
その時によってどれくらいの時間で切れるかはまちまちなのですが、
早いときには20分程度で切れてるようです。

セッションが切れる時間の長さから考えて、
session.gc_maxlifetime(値は1440)あたりが関係していそうな気もしますが、
session.cookie_lifetimeの設定(ブラウザ閉じるまで)はなぜ無視されちゃうのでしょうか・・・。
05245232006/08/16(水) 08:12:26ID:???
補足ですが、最後のアクセスから20分程度でセッションが切れる場合もあれば、
24時間経っても切れてない時もあります。
0525nobodyさん2006/08/16(水) 08:30:48ID:???
>520

UTF-8の問題って何?
0526nobodyさん2006/08/16(水) 09:04:15ID:???
>>523
ん?
session.cookie_lifetimeっていうのは
session id をcookieに保持しておく時間だったような。
でもって「0」は特殊な意味を持っていて、ブラウザ閉じる
とcookie破棄を意味するから、「0」を設定している限り
「ブラウザを閉じる=セッション切れる」を意味するはず
ですけど?
0527nobodyさん2006/08/16(水) 09:08:31ID:???
session.gc_maxlifetime は、
session id に結び付けられたセッションデータ
を破棄するまでの時間だったかな
ただ、その時間を経過すれば「必ず」破棄されるわけでは
なかったような。gcなんとかって他に定義あるでしょ?
そこでgcを行う確率を設定できたような
0528nobodyさん2006/08/16(水) 09:09:21ID:???
>>501
オレは括弧の使い方に統一性を持たせてるんで>>507
0529nobodyさん2006/08/16(水) 09:17:37ID:???
>>521
ストリームとは プログラミング
とかでぐぐった?
>>522 が書いてる通り
概念だから、まぁ、こんなもんか。ぐらいの理解で
いいんじゃないの。
0530nobodyさん2006/08/16(水) 09:22:13ID:???
ファイルからデータを読む。ってごくごく普通に言うけど、
実際には、HDDという機械の動きだから、1byte読むと命令
してもすぐには読めない。命令→待ち→データを受取る
というような「制御」を行う必要がある。OSがストリームとか
いう概念で、そのへんをうまくオブラートに包んでくれてる。
OSレベルで言うところのストリームってこんな感じかな
05315232006/08/16(水) 09:34:15ID:???
>>526
あ、分かりにくかったかもしれませんが、>>523>>524の状況は全て「ブラウザは一切閉じない」状況です。
ずっとブラウザを開き続けているのに、ときどきセッションが切れてしまうんです。

>>527
gcの確率は1000分の1にしてあり、なおかつ、セッションを使って
同時にログインするユーザー数は2(まだテスト中なのでどちらも自分でログイン)しかないので、
ガーベッジコレクションの影響は無視できる程度、と私は解釈しているのですが・・・
0532nobodyさん2006/08/16(水) 09:57:17ID:???
>>523
session.cookie_lifetime=0
session.gc_maxlifetime=1440
session.gc_probability=1
session.gc_divisor=1000(確率1/1000)
で、ブラウザを開きっぱなしにしていると約20分程度で
セッションが切れる。ってことですね。
なんでだろ?
ブラウザのcookieの有効期限確認してみるとか
PHPデフォルトであるなら/tmpのセッションデータファイルの
タイムスタンプみてみるとか
あっ、PHP4.2.2以前でWindowsでFatとか条件がハマれば
早く切れるバグってのがあったぽいね
0533nobodyさん2006/08/16(水) 09:58:36ID:???
ん。。
LinuxとかならCronで/tmpを掃除してる処理が動いてたりして
0534nobodyさん2006/08/16(水) 10:12:18ID:???
セッションデータファイルが消えちまってるのか
cookieが取得できねーのか
そのあたりを切り分けろ
0535nobodyさん2006/08/16(水) 10:34:55ID:GaCZ9Sq1
レスありがとうございます。

ストリームは、概念であるという事は理解できました。
ストリームが具体的にどういうものになるかは、状況や環境よって、違うということですよね?

でも、多くの場合、それはメモリ上のバッファのようなものでしょう?
0536nobodyさん2006/08/16(水) 10:37:44ID:GaCZ9Sq1
ちなみに、ここを参考にしました。
ttp://koho.osaka-cu.ac.jp/~sugi/Clang/C9.html
05375232006/08/16(水) 11:22:32ID:???
>>532
おっしゃる通りの設定です。PHPのバージョンは4.3.1です。
また、スクリプトが動いているのはLinuxで、クライアント側はXPです。
で、ブラウザ側になぜかCookieが見当たりません。他のサイトのCookieは確かにあるのですが、
自分が今問題にしている自サイトのCookieファイルが保存されていないようです。

でも実は以前にはセッションを開始すると確かにCookieがブラウザに保存されていたのですが、
あるタイミングから保存されなくなってしまいました。
おそらくクライアント側パソコンの「マシン名」を変更した時からだと思います。

しかし、Cookieファイルが見当たらないにも関わらず、「ieHTTPHeaders」を使って通信内容を確認してみますと、しっかり
「Cookie: test-session=6e24cc246481866c7d52f*********」といった感じで、セッションIDが正しく送信されています。
セッションの動作(ログインやログアウトなど)も期待通りの動作ですが、前述のように時々勝手にセッションが切れてしまうのが唯一の問題です。
もう何がなんだかワケがわかりません・・・。
0538nobodyさん2006/08/16(水) 11:24:18ID:???
>>535
変な理解に仕方だな
ストリームという概念を、実装するときにメモリを利用するけど
ストリーム=バッファ ではないよ

車を動かすのに、エンジンを使用するけど
「多くの場合、車はエンジンのようなものでしょうか?」
と聞いているようなものだ
05395232006/08/16(水) 11:24:50ID:???
>>533
cronでは掃除しておりません。

>>534
セッションが意図しないタイミングで切れてしまった時にsession.save_pathで指定されている
ディレクトリを確認してみましたところ、セッションデータファイル自体が
消えてしまっているようです。
0540nobodyさん2006/08/16(水) 11:49:29ID:???
>>532
その設定だと、アクセスがあるごとに1/1000の確率で
そのアクセスよりも20分以上前のセッションファイルが消去される。
アクセス数が少なければ消されにくい。
また、例えアクセス数が多くても、確率で動いているので運が悪ければいつまでたっても消されない。

>>537
期限が0のクッキーは保存されない。そういう仕様。
0541nobodyさん2006/08/16(水) 11:50:33ID:???
>>538
ストリームを実現するために、バッファが使われる事がある という事ですね?
ありがとうございました。
0542nobodyさん2006/08/16(水) 12:34:06ID:???
>>539
リロードしてるうちに普通にgc起動しちまって
セッションデータが消えてるだけじゃね?

http://jp.php.net/manual/ja/ref.session.php
session.gc_divisorはPHP 4.3.2以降ってなってるけど
使ってるのは4.3.1なんだよな?
0543nobodyさん2006/08/16(水) 13:35:57ID:???
まず4.3.1というバグありまくりのからバージョンアップ汁
05445232006/08/16(水) 13:37:07ID:???
>>540
> そのアクセスよりも20分以上前のセッションファイル
これは「ファイル生成時刻が20分以上前の」セッション・ファイルのことだと解釈して良いのでしょうか?

> 期限が0のクッキーは保存されない
とのことですが、ではその場合ブラウザはどうやってセッションIDを(一時的にでも)保存し、どうやってサーバーに対して送信しているのでしょうか?
前述しましたように「ieHTTPHeaders」で確認しますと、たしかにセッションIDはローカルのどこかに記憶されているようです。
Cookieファイルが見当たらないのに値が保存されているということは、あとはメモリ上に確保されている?というくらいしか思いつきません。
05455232006/08/16(水) 13:41:27ID:???
>>542
>リロードしてるうちに普通にgc起動

私もその可能性くらいしか思いつかないのですが、
なにしろgcの確率が1/1000で、しかもアクセス回数は自分だけなので
せいぜい数十分の間に数回〜数十回程度です。

なのに、こうした数字の割には、頻繁にセッション切れが起こっている気がします。

それと、「session.gc_divisorはPHP 4.3.2以降」という記述がそのページに見当たらないのですが…??
念のため私の環境でphpinfoをやってみましたが、たしかに4.3.10でsession.gc_divisorの項目も存在しています。
05465232006/08/16(水) 13:43:43ID:???
>>543
実は鯖にPleskが入っておりまして、
なかなか怖くてPHPのバージョンアップに踏み切れません・・・
(Plesk自身がPHPで構築されているため、いろいろ依存関係とかあるらしいです)

どなたかPlesk環境でPHPのバージョンアップを経験された方いらっしゃいますでしょうか?
0547nobodyさん2006/08/16(水) 14:22:32ID:???
randで1〜20まで乱数を生成して、
10以下の場合は終了で、
11以上の時は10以下になるまで乱数の生成をやりなおし、
10以下になったところで終了し、
何回乱数を生成しなおしたかをカウントしたいのですが、
どのように書いたらいいのかわかりません・・・

$rand = rand(1, 20)
if($rand <= 10) {
echo "終了";
}
elseif($rand >= 11) {
ここでループの処理?
}

どなたかお助けくださいorz
0548nobodyさん2006/08/16(水) 14:41:55ID:???
function hoge($a, $b) {
$rand = rand($a, $b);
if ($rand <= 10) {
echo $rand;
} else {
hoge($a, $b);
}
}
試行回数調べたいなら静的変数使うといい。
0549nobodyさん2006/08/16(水) 14:42:01ID:???
>>547
夏休みの宿題か?

while(1) {
// 乱数生成
// 何回生成したかカウントアップ
// 10以下だったらbreak;
}
0550nobodyさん2006/08/16(水) 15:05:19ID:???
>>548-549
どうもありがとうございます。
早速ソースを参考にさせていただきましたが、
まだ思ったとおりにいかないので、
このソースを元に試行錯誤してみたいと思います。

>夏休みの宿題か?
確率の計算のものがあって、どうしても計算しきれなかったので、
ずっともやもやしていて、シミュレーターでもつくって、
だいたいどのくらいの値か出してみようと思った次第ですorz
0551nobodyさん2006/08/16(水) 15:09:32ID:???
フォームから渡されたデータを
半角と全角の数字のみ
入力を受け付けるにはどうしたらいいでしょうか?
0552nobodyさん2006/08/16(水) 15:14:20ID:???
>>551
正規表現、もしくは条件分岐。普通は前者
[0-9][0-9]
0553nobodyさん2006/08/16(水) 16:00:57ID:oFrHrQOU
この掲示板を荒らして下さい。非力なぼくの代わりにこいつらを懲らしめて下さいhttp://look2.jp/friend2006/
0554nobodyさん2006/08/16(水) 16:03:46ID:???
>>551
全角数字を半角数字に置換
後は数字かどうかのチェック(正規表現、is_なんたら関数、ctypeなんたら関数)
0555nobodyさん2006/08/16(水) 17:23:22ID:???
>>551
mb_ereg('[0-90-9]', $_POST['num']);
0556nobodyさん2006/08/16(水) 17:30:47ID:???
>>550
確率?
n回目に10以下が出る確率
1/2のn乗
てことか?これでPHPを使う意味がわからんw
0557nobodyさん2006/08/16(水) 17:45:27ID:???
>>550
数学板いって訊いてこればいいだろう
0558nobodyさん2006/08/16(水) 18:40:10ID:???
実践したいってんだから止める理由も無いだろうに
0559nobodyさん2006/08/16(水) 18:46:29ID:???
数学板には「King」が居るからヤダ
0560nobodyさん2006/08/16(水) 18:54:51ID:???
いまだ! 600げっと!
05615502006/08/16(水) 19:05:28ID:???
>>556
いいえ。確率と一言でいったので誤解を招きましたが、
実際はもっと複雑な問題なんです。
上のほうのソースは部品として使うだけなので。
他の計算部は別に作ります。
0562nobodyさん2006/08/16(水) 19:18:58ID:???
既出かもしれませんが一応ググってみて見つけられなかったので質問です。

文字列変数が、マルチバイト文字を含んでいるかどうか、の判定ロジックで
ベター、もしくはベストなものってどうやるんでしょうか?

とりあえず思いつくのはstrlenとmb_strlenで値が違えばマルチバイト含む、
といった判定方法くらいなのですが…
0563nobodyさん2006/08/16(水) 19:22:41ID:???
>>562
このスレではその方法がベストじゃね?でFAになってるぽい
0564nobodyさん2006/08/16(水) 19:22:51ID:???
>>562
/[^ -~]/

これに引っかかるならマルチバイト含んでる。
文字コード依存なし。
0565nobodyさん2006/08/16(水) 19:25:15ID:???
>>563
レスどもです。
とりあえず様子みながらこの方法で行ってみます。
0566nobodyさん2006/08/16(水) 19:31:37ID:BwdVe+rW


xsasというWAMPパッケージで、php_openssl.dllとphp_curl.dllを「F:\XSAS_XCP\diskw\usr\local\PHP\extensions」へ
置いて、php.iniで;を消しました。 しかし、xsas起動時つまりApache起動時に「・・・モジュールが見つかりません」
となってしまいます。

0567nobodyさん2006/08/16(水) 20:11:39ID:???
>>564
なにその顔文字ふざけてるの
0568nobodyさん2006/08/16(水) 20:14:19ID:???
>>564 はmb関数が無くても動くけど、正規表現だから少し重いね
0569nobodyさん2006/08/16(水) 20:21:34ID:???
>>566
php.iniのextension_dirがその
F:\XSAS_XCP\diskw\usr\local\PHP\extensions
になってる?
0570nobodyさん2006/08/16(水) 20:29:20ID:???
>>568
mb関数が1文字ずつ全半角を判定するのって正規表現より速いの?
0571nobodyさん2006/08/16(水) 20:29:24ID:???
>>564
それ、アポストロフィとかあると誤判定になる
0572nobodyさん2006/08/16(水) 20:35:44ID:???
>>571
なんで?ascii(コントロールコード以外)全部入ってるような気がするけど
0573nobodyさん2006/08/16(水) 21:09:25ID:???
どこできいたらいいかわからないのでここでききます

PHP + MYSQLで膨大なデータベースから全文検索したいんですが
text like "%検索語%" みたいにすると死ぬほど遅いです。

レンタルサーバー(XREA)を使っているのであまりいじれないんですが
どうすれば高速化できますか?
0574nobodyさん2006/08/16(水) 21:16:26ID:???
textカラムもlike演算子もチューニングの厳しいネタだなぁ…
少なくともtextにindexは振ってあるんだよな?もちろん。
とりあえずここで聞くよりDB板の方がマシそうだけど…
DB以外での解決方法を模索してるのか?
0575nobodyさん2006/08/16(水) 21:27:10ID:???
mysqlの場合、like検索で頭に%つけると、indexは使われないんです
ていうかマニュアル見てください
http://mysql.com/doc/refman/4.1/ja/fulltext-search.html
0576nobodyさん2006/08/16(水) 21:31:34ID:???
ひとまず質問者はsageてID出せ
0577nobodyさん2006/08/16(水) 21:32:50ID:???
じゃとりあえずsageます
■ このスレッドは過去ログ倉庫に格納されています