【PHP】質問スレッドpart22【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/09/16 18:17:37ID:/HV017tY・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-4
0757701
04/10/01 14:16:05ID:???はい
配列にファイル名を格納してソート、count()で配列数を数え
countの数だけテーブルを作りました
ここの人が見たらさぞかし汚いソース何だろうな、と
0759nobodyさん
04/10/01 16:55:07ID:???0760nobodyさん
04/10/01 17:06:45ID:???0762760
04/10/01 17:32:44ID:???もしよろしければ教えて下さい。お願いします。
0763nobodyさん
04/10/01 17:45:29ID:???0764nobodyさん
04/10/01 19:21:08ID:???$_SERVER[HTTP_REFERER]等のように個々に指定するのではなく、
まとめて取得したいのですが。
0765nobodyさん
04/10/01 19:40:35ID:???読んだ方が早いのに・・・・・・
0766nobodyさん
04/10/01 19:48:01ID:???0767nobodyさん
04/10/01 19:54:38ID:???0768nobodyさん
04/10/02 00:22:35ID:???なんでそんなことしたいのか分からないけど、
$_SERVER["QUERY_STRING"] をごにょごにょいじれば?
0769カポコン
04/10/02 00:30:21ID:???ど ん な マ ニ ュ ア ル で し ょ う か (ドキドキ)?
0770nobodyさん
04/10/02 00:39:13ID:???と同じだな
辞書の使い方が分からなければ、分からない
辞書引いても、用例が分からなければ分からない
0771nobodyさん
04/10/02 00:46:44ID:???0773nobodyさん
04/10/02 00:50:33ID:???0774nobodyさん
04/10/02 00:54:10ID:???$_SERVERにまとまってるわけだが。
あるいはこういうのか? http://jp.php.net/apache
0775nobodyさん
04/10/02 00:54:13ID:???∩___∩
| ノ ヽ/⌒) あばばばばばば
/⌒) (゚) (゚) | .|
/ / ( _●_) ミ/ ∩―−、
.( ヽ |∪| / / (゚) 、_ `ヽ ヨメマチェェェン
\ ヽノ / / ( ● (゚) |つ
/ / | /(入__ノ ミ あばばっあびゃばびゃばば
| / 、 (_/ ノ
| /\ \ \___ ノ゙ ─ー
| / ) ) \ _ >>770
∪ ( \ \ \
\_) >>769
0776nobodyさん
04/10/02 00:56:48ID:???ぱそこんの使い方ならよそで教わってこいよ
0777nobodyさん
04/10/02 01:09:07ID:???勉強すれば便利になる関数とかあるじゃん?
そういうのをさらっと書いてあれば便利なんだが。
それとも全部読まなきゃいけないのか?
辞書を全部読まなきゃいけないみたいで嫌だ
0778nobodyさん
04/10/02 01:13:35ID:???0779nobodyさん
04/10/02 01:17:41ID:???普通、あれをしてみたい!と一番初めに思うよね
そうしたら、それに関係する関数を探すの?
そのつど、辞書全部引いて探すの?
どうしてる?
0780764
04/10/02 01:18:16ID:???まさにこんな感じです。ありがとうございました。
$_SERVERでなく、クライアントがサーバに渡すヘッダだけ拾いたかったのです。
0783nobodyさん
04/10/02 01:45:23ID:???メールしたい -> マニュアルの目次を見る -> メール関数発見 (終)
Fromに日本語を入れたい -> MIMEヘッダ(常識) ->
mimeで検索或いは文字変換関係の関数を調べる -> mb_encode_mimeheader()
マニュアルとWebProg(更にはWeb以外のプロトコルも)の知識がありゃ
自力でもなんとかなるもんだよ。
そこを吹っ飛ばした質問が多いから飽きれてきつく言う人もいるんでないの?
0784nobodyさん
04/10/02 02:45:37ID:gzZ8+fHBユーザ関数とは違うんですか?
0785nobodyさん
04/10/02 02:47:15ID:???0786nobodyさん
04/10/02 03:11:17ID:???なんかホームセンターの中を回ってる気分
想像力が膨らんできた
0787nobodyさん
04/10/02 03:17:27ID:???0788nobodyさん
04/10/02 03:19:54ID:???いいじゃん
マニュアル嫁じゃ分からんだろ。全部調べなきゃならなくなる
0789nobodyさん
04/10/02 03:19:59ID:???0791nobodyさん
04/10/02 03:32:33ID:???んー…。
何がしたいのかが分かれば、全部調べなくても良い。
ある程度は絞れる。
文字を表示したい。で例えると…
http://www.php.net/manual/ja/funcref.php
↓
http://www.php.net/manual/ja/ref.strings.php
っと、言った感じで。783と言ってること殆ど変わりないけど。
「マニュアルのココを読め」と答えるか、「マニュアル読め」と
答えるかどうかは、答える人が決めても良いと思うけどな。
0792nobodyさん
04/10/02 03:32:36ID:???それが分かっていたら、自分で調べるだろ
0793nobodyさん
04/10/02 03:36:24ID:???どう答えるかは、本人の自由かと。
0794nobodyさん
04/10/02 03:38:41ID:???自分のポジションを明確にしたい為に質問してるのに、
マニュアル嫁はない。
0795nobodyさん
04/10/02 03:41:09ID:???0796nobodyさん
04/10/02 03:42:30ID:???そもそも何も分からん奴はとりあえず書店行け
0799nobodyさん
04/10/02 03:46:32ID:???0801nobodyさん
04/10/02 03:53:01ID:???いや、例えば○○がしたいんだけど、どうしたらいい?という質問があったら
じゃ、マニュアルのココとココをココを読めば?でいいやん。
1つの事柄について、マニュアル全部読むなんて非効率でかなわん。
0802nobodyさん
04/10/02 03:55:54ID:???それを自分で超えられるかどうかなんでないの?
まあ俺は友達や先輩に聞きながら覚えたが、
最終的には自分で乗り越えられるかどうかだよな。
2chに友達や先輩の役割を求めてる人が多いって事なのかね。
なんかしら一個言語覚えちゃえば、後は楽なんだけどな。
あの関数はどこだろうなーみたいなおおよそのアタリをつけて調べられるし。
0804nobodyさん
04/10/02 04:25:28ID:???質問者と回答者の考え方から勉強したほうがいいよ
0806nobodyさん
04/10/02 04:46:38ID:???0807nobodyさん
04/10/02 05:15:29ID:4Xpk7UM0調べる方法はなにもマニュアルだけじゃない。
グーグルもある、本だってある。
くだらない質問してくる奴は大抵、辞書も満足に使いこなせない奴だろ。
俺はそう思ってるし、それでなんとかやってこれてる。
おまえの考えを押しつけるな。
0808nobodyさん
04/10/02 05:27:01ID:???スレ番的に、なちじょあ ◆yEbBEcuFOU=軟式?
どうでもいいが(´_ゝ`)
0809nobodyさん
04/10/02 05:28:05ID:Y9+HS0d0禿同。
0810nobodyさん
04/10/02 07:49:51ID:???自分である程度調べたら質問文もそれなりに要領を得た物になるんだよね。
質問が間違った知識を元に的を外している、
もしくは複数の意味に捉えられるような書き方した場合は
「マニュアル嫁」で却下される場合が多いな。
>>764は最初の質問が後者のパターンだった、と。
最初から>>780の聞き方をしてれば良かったんだけど
httpリクエストヘッダはhttpサーバを経由して得る、という考えに至らなかったと。
0811nobodyさん
04/10/02 08:35:58ID:ze3q/U93をデコードできますか??
0812nobodyさん
04/10/02 08:54:29ID:???エンコード文字列だけのスレ
http://pc5.2ch.net/test/read.cgi/php/1065258181/l50
0813nobodyさん
04/10/02 08:59:42ID:???俺の知ってるエンコードがなされたものかも知れないが、
実際になされたエンコード方式を教えてくれないとデコードの可否は回答できない。
0814nobodyさん
04/10/02 09:48:48ID:???0816nobodyさん
04/10/02 11:53:08ID:uhB5BMdpPEARから
http://pear.php.net/pepr/pepr-proposal-show.php?id=48
を探してきたのですが、使い方がいまいちわかりません・・・
トラックバックを受信した時トラックバックのデータを保存するにはどうすればいいか
教えていただけませんか。
具体的には
他のblogからトラックバックを私の日記へ送信。
↓
トラックバックを受信(受信した場合の保存方法がわかりません。。)
↓
日記に私のトラックバックを表示
どうかよろしくお願いします。
0818nobodyさん
04/10/02 12:14:20ID:uhB5BMdpなんどか試してみたんですが・・・、
// store data in your storage
のところで保存処理を行えばいいと思ってたんですが、
どうもうまくいきません。
私だめですね;;
0820nobodyさん
04/10/02 12:29:06ID:???それで合ってるよ。どの辺が判らない(うまくいかない)?
先ずは戻り値の$data配列の中身でもvar_dump()してみ。
0821nobodyさん
04/10/02 13:32:37ID:XE0I1+gL認証後に表示されるデータなどを取得したいのですが
どうすればよいのでしょうか?
当然、ユーザー名やパスワードは自分のものを使ってです。
0822nobodyさん
04/10/02 13:46:39ID:???どうすればいいって・・・とりあえず自分でやってみれ。
HTMLを読んでAction属性で指定されたドキュメントに必要な値をPOSTすればいい。
書式は認証機構による。初心者はブラウザのHTTPリクエストとレスポンスを
横取ってながめてみるといい、というあたりが一般常識かな。
0823nobodyさん
04/10/02 13:55:44ID:???認証がBASIC認証だったら、それに対応したHTTPクライアントライブラリを利用する。
認証フォームを使ってPOSTで送ってるタイプの認証も同様にPOST送信が可能なライブラリを利用。
どちらもPEARにある。また他にも公開されてるライブラリがある。
自分でSOCKET通信しても良いと思うけど、既に有用なライブラリがあるんだから
それ使うのが良いでしょうな。
他には外部の対応しているプログラム(例えばwget)を利用する手もある。
0824nobodyさん
04/10/02 14:05:29ID:???http://sourceforge.net/projects/snoopy/
あと、最初は全部自分で書いてみた方がいいね。コーディング量もたいしたこと無い。
エラー処理が必要な個所や、とくにHTTP/1.1の決まりごとはざっと知っておく必要がある。
Socket関数は無理だろうから、fsockopenかstream_socket_clientを使って。
0825nobodyさん
04/10/02 14:22:25ID:???まずはfsockopenのサンプル使ってPOSTを成功させてみるところからじゃないの
0826nobodyさん
04/10/02 14:22:55ID:???<?php
$a = "abc";
if (ereg($a, abcdef)) {
echo "1";
}
?>
B
<?php
if (ereg("abc", abcdef)) {
echo "1";
}
?>
AとBは、目に見える結果としては同じになると思うのですが
実行速度やメモリ使用量などの観点から見ると
どちらのほうがメリットが大きいのでしょうか?
それともまったく変わらないのでしょうか?ご教授ください。
0827nobodyさん
04/10/02 14:40:00ID:???A, Bともにダブルクウォートを使用しているためパースされるロスがある
Bは変数に代入してい分早くメモリ消費も少ない
以上はマニュアルと常識的な思考ができれば自明。
A, Bの差異はエラーを除いて誤差の範囲であり、実際上無意味なので気にするのはナンセンス。
初心者ほど速度や負荷ネタで盛り上がるが、答える方は無意味な質問に答えされられるため
大変うざったく死んでほしいといつも願っている。
0828nobodyさん
04/10/02 14:44:19ID:???早い糞コードより読みやすく移植性の高いコードを書けよ。
毎度毎度毎度同じ回答で申し訳ないとは思うがね。
0831nobodyさん
04/10/02 14:51:28ID:???別ライブラリつかってるままなんだっけ?
0833nobodyさん
04/10/02 15:03:18ID:???そのままじゃない
どっちもeregだから関係ないけど
ここの質問見てるとereg使ってる人が妙に多いけど、なんの影響だろうね
0836nobodyさん
04/10/02 15:22:02ID:???メモリの使用なんてPHPをソースハック出来るレベルになって初めて分かることだろ。
理由わからずにどっちが速いなんて丸暗記してどうすんの。
正攻法で学べよと思う。
速度にしたってmicrotime()でベンチとればいいだけだし、""のパースとかでかい変数は
参照渡しにするとかDBの正規化とかっていうのはいちいち聞かれてたらたまらんつーの。
基礎の組み合わせなんだから、ベンチやって人のソースを読んでマニュアル読んで少しずつ
分かっていけばいいのにさあ。
やってみて巨大なボトルネックが出来て質問されたなら答える方も挑戦してみようと思うじゃない。
マニュアルに書いて有るようなレベルで速度がどうとか聞かれてもうざいだけだわ。
つーかなんだこの分量バカだろ俺はほんとに
0838nobodyさん
04/10/02 15:27:00ID:???普通の初心者はそういうこと聞かないマナーは心得てるよ
PHPはたまたま池沼がおおいだけだ
あまり気にするな
http://pc5.2ch.net/test/read.cgi/php/1077753522/271-n
気にしちゃだめだぞ
0839nobodyさん
04/10/02 15:46:24ID:f1jlg8jO$changed = preg_replace( "/([\"\\\])/", "\\ \\1", $str );
こうすると「\ "」「\ \」となるんですが、置換文字列のスペースを詰めて
$changed = preg_replace( "/([\"\\\])/", "\\\\1", $str );
とするとうまく行きません。
どうしたら良いでしょうか?
0840839
04/10/02 15:50:41ID:f1jlg8jO$changed = preg_replace( array("/\"/", "/\\\/"), array('\"', '\\'), $str );
こんな感じにすれば動作はすると思うんですが、見た目がややこしいのでもっと簡潔に書きたいんです。
どなたかよろしくご教授お願いします。
0842nobodyさん
04/10/02 15:53:09ID:???0843nobodyさん
04/10/02 15:58:44ID:???'/(["\\\])/' か "/([\"\\\])/" どっちかだな。
細かいことは正規表現スレのリンク読めば分かるかな。
# そもそも正規表現の仕事じゃないような気がしないでもないが。
0844nobodyさん
04/10/02 16:26:08ID:UuykfYQHまだ安定性にも不安があるしバージョンアップの間隔も短いので、
やっぱりPHP4で作る方が安心ですよねぇ。
PHP4のクラスは、インスタンスごとにメソッドまで作る(共有しない)らしいので
インスタンスをたくさん作るプログラムはPHP5の方がよさそうですが…
0845839
04/10/02 16:30:35ID:f1jlg8jOありがとうございます。
ヽ(´▽`)ノ
# それにしても \\\\\1まではやってみたんですが、\6個だったとは...ムズカシイ orz
0846nobodyさん
04/10/02 16:30:42ID:???今はちょっと反省している
0847nobodyさん
04/10/02 16:42:00ID:???$1で参照するなら \\\\$1 の4個。
後者推奨とマニュアルにはある。
0848nobodyさん
04/10/02 16:45:51ID:???文字化けしてるときはどしたらいいの?
ねぇねぇ
0851nobodyさん
04/10/02 17:42:51ID:???ファイルへの書き込みで、
ファイルの先頭へ書き込みたいんですが、
うまいやり方がわかりません。
w モードで開いて、新しく全部書き込む方法は
行数が増えた時に負荷も大きくなりそうで心配です。
行数が増えても負荷を小さくして書き込むことはできないでしょうか?
お願いします。
0852nobodyさん
04/10/02 17:52:33ID:???'a' 書きこみのみでオープンします。ファイルポインタをファイルの 終端に置きます。ファイルが存在しない場合には、作成を試みます。
これの意味分かるか?
0853852
04/10/02 17:53:52ID:???いや、スマン。
読み間違い。
'x' 書き込みのみでオープンします。ファイルポインタをファイルの先頭に置きます。
こっち。
0854nobodyさん
04/10/02 17:57:26ID:???知らなかったよ
どうもありがとう
バカ!
0855nobodyさん
04/10/02 17:58:49ID:???どこにファイルポインタを置こうが今回の件に関しては関係無いのではなくって?
■ このスレッドは過去ログ倉庫に格納されています