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

【PHP】質問スレッド Part15

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/03/07 02:03ID:???
PHP全般の質問スレです。
上級者用や雑談スレを立てたくなった場合は後から適宜立ててください。

■本家
 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-5
066666304/03/23 11:01ID:???
>>664
このスレ検索してみましたが、>>395はもう無いみたいだし
他に解決法も載ってないみたいなので聞きました。
0667nobodyさん04/03/23 11:02ID:???
>他に解決法も載ってない
解ってるなら訊くなよ
066866304/03/23 11:04ID:???
>>667
載ってないことを聞くのは間違いなんですか?
0669nobodyさん04/03/23 11:06ID:???
解決できてないってことじゃないのか?
わからんけど
067066304/03/23 11:09ID:???
>>669
それなら納得です。ありがとうございました。
0671nobodyさん04/03/23 11:17ID:???
>>665
PDFで悪いが、
ttp://www.php.gr.jp/seminar/20020817/pdf/KOYAMA-datetime.pdf
ここに使い方の例があるから、測定したら報告してね。

参考にするからw
0672nobodyさん04/03/23 11:29ID:???
セッションでログインの管理とかやってるんだけど
どうも我流なのでしっくりこない。それなりに動いてるけど。

ある程度の定石みたいなテンプレみたいなのがほしいんだけど
まあやり方や求める強度、DBの有無で全然違ってくるしな。

それでもやっぱりログイン管理のいろんなサンプル集がほしいな。
どっかにいいとこない?
0673nobodyさん04/03/23 12:27ID:???
>>663
cvsで取得して自分で修正してmake。
みんなも喜ぶ。
0674nobodyさん04/03/23 12:29ID:???
>>632
PHPのライブラリやアプリケーションなんて腐るほどあるんだから適当に集めろよ。
> まあやり方や求める強度、DBの有無で全然違ってくるしな。
って言えるなら探し方も判断も自分で付くだろ。

----------------------終了--------------------------
067567404/03/23 12:29ID:???
訂正
>>632じゃなくて>>672ね。
0676nobodyさん04/03/23 13:46ID:???
>>6
ttp://bugs.php.net/bug.php?id=27604
本家には報告済みだが、まだ直ってない。

・・・つーか、bugs.php.net落ちてないか?
0677nobodyさん04/03/23 13:57ID:???
>>676
RCのリリース前後から落ちてるみたい。
slashdotedとPHP5のバグレポが雪崩打って、、とか (;´д`)
0678nobodyさん04/03/23 14:00ID:???
>>676
判らんが、MLのWeb処理関係はエラー出て駄目だな。
同じサーバ?
0679nobodyさん04/03/23 16:24ID:???
PHPUsersMLにとんでもないやつが降臨したな
0680nobodyさん04/03/23 16:26ID:???
>>679
PHP-usersのヲチスレがあるのでそちらへどうぞ。
それにとんでもないやつ続きで、誰と言わないと分からないって。
0681nobodyさん04/03/23 18:24ID:hqGLzQ7+
chm版マニュアルが中国語なのは何かの嫌がらせでしょうか?
キーワード検索のところの文字化けが一向に直らないのもイジメでしょうか・・・?
0682nobodyさん04/03/23 19:15ID:???
俺たち嫌われてるもんな
068365604/03/23 19:47ID:Ij00iThG
>>657,658
レスありがとうございます、解決しました・・・・・

原因はreplaceの部分ではなく、ほかの部分でした。
正規表現で()にくくった部分を出力させていたんですが、
出力させる配列の$reg[0]はstr全体が入るというのに気づかず
0から順番に扱ってたためおかしい事態になってたようです

>>659,662
(;´д`)厨な質問してすまんでした。。。
しかし、var_dumpなんてあったんですか。知らなかった
質問スレのテンプレなんかに書いていただければ、ここでの無駄な質問も減るかも・・・
今後使わしてもらいます。
0684& ◆R7PNoCmXUc 04/03/23 20:35ID:???
>>683
>var_dump()を print_r()と比較して見て下さい。
ってことで、print_r()もヨロ

phpinfo()レベルに有名になっていいと思う>var_dump()とprint_r()
0685nobodyさん04/03/23 21:33ID:???
ヴァー
var_dump使えねぇ
0686nobodyさん04/03/23 22:02ID:???
利用不可能なのか、使う価値が無いのかどっちだ。
表示が肌に合わないなら PEAR::Var_Dump 使いなよ。
0687nobodyさん04/03/23 22:40ID:???
ヒアドキュメントのなかで、変数を展開するには
こうかけば良いのですが、

print <<<EOH
{$hash['string']}
EOH;

ヒアドキュメントのなかで、関数を呼び出すには
どうすればいいですか? できないですか?
0688nobodyさん04/03/23 22:41ID:???
できない
068968704/03/23 22:43ID:???
そうですか。ありがとうございました!
素早いレスに感謝です。
0690nobodyさん04/03/23 22:44ID:???
なんでこういう事が出来ないんだろう?

と思ったら、他に最適な方法が用意されていると思った方がいい。
0691nobodyさん04/03/23 22:49ID:???
なんでこういう事が出来ないんだろう?

と思ったら、こんな糞言語捨ててRubyに乗り換えたほうがいい。
0692nobodyさん04/03/23 22:51ID:???
できるほうがおかしいと思え。
069368704/03/23 22:52ID:???
>691
Ruby でつくったやつを PHP に移植するお仕事なんです。
PHP は関数が豊富にあって助かるけど、
かゆいところに手が届かないという感じです。
でも OOP は Perl より楽にできるので、ありがたいです。
069468704/03/23 23:18ID:???
よく考えてみたら、PHP ってどこでも ?> を書けるのですよね。

function display(){
    if($foo){
        ?>
        <html><body>...
        <?= bar() ?>
        <?php
    }
}

こういう書き方でいくことにしました。
(お手数かけてすみません・・)
0695nobodyさん04/03/23 23:27ID:???
perlにおいて、csvファイルを配列に取り込み、複数項目でソートをかける為に
下記のような方法を取っていたのですが、
これをphpで行う場合、multisortでは1項目でのソートしか出来ないと
マニュアルに記述されていますが、どのような処理でなら可能でしょうか?

@DATA = sort { (split(/,/,$b))[1] <=> (split(/,/,$a))[1] || (split(/,/,$a))[2] <=> (split(/,/,$b))[2]; } @DATA;


0696nobodyさん04/03/23 23:29ID:???
>>693
理不尽な仕事だな。
0697nobodyさん04/03/23 23:56ID:MZvn1Ok8
PHPでウェブアプリを作っているのですが、ファイルの管理とかは
どうしてますか?CVSでバージョン管理でしょうか?
あと、画面の遷移や引数などの関係はシーケンス図にしていますが、
一般的にはどうしているのかとか。
urlでも本でもいいですので、そういったプロジェクト管理に役立ちそうな
情報へのポインタを教えていただけませんでしょうか。
0698nobodyさん04/03/24 00:01ID:???
>>694
テンプレート使うと楽しいんだけどね。本当は。Flexy とかいいよ。

# PHP 使いで Ruby で仕事中
069968704/03/24 00:47ID:???
>698
なるほど、テンプレートですか・・。
移植はもうほとんど終わっているのですが
保守効率があがりそうでしたら、テンプレート導入も考えますね。
どうもありがとうございました。
0700nobodyさん04/03/24 00:50ID:???
テンプレのSmarty使ったけどもう呆れたよ。
RubyならERB使ってbinding渡せばいいだけの話なのに。
0701nobodyさん04/03/24 00:56ID:???
>>700
smarty使いまくりですが・・・。
呆れた部分の詳細を教えてくださいな。
0702nobodyさん04/03/24 00:56ID:???
Ruby の方が lightweight なのはみんな分かっている話。
使い分け出来ないのならさっさとシッポまいて Ruby スレに帰れ。
0703nobodyさん04/03/24 12:31ID:???
PHPでMP3のタグ情報をとりたいのですが
pearのclassではすべての情報がうまくとれません。
取得方法をご存知の方いらっしゃいますか
0704nobodyさん04/03/24 13:26ID:???
>>703
バイナリで覗けばいいだろう
MP3のタグ譲歩運あn
0705nobodyさん04/03/24 13:39ID:???
>>703
pear以外にもたくさんあるよ
さがしてみ
0706nobodyさん04/03/24 13:40ID:???
XMLをSAXで処理しようと勉強しています。
xml_parser を利用しているのですが、ハンドラ関数というのはどういう意味なのでしょうか?
役割は解説書を読めば何となくわかるのですが、
この関数の意味の定義といいますか、どういう動作をする関数をハンドラ関数と一般的に言うのかを教えていただけないでしょうか?

Googleで「ハンドラ関数とは」で検索してみたのですが、ハンドラ関数の意味や動作の定義について
述べられているところが見つからなかったので、ここで質問をさせていただきました。
0707nobodyさん04/03/24 13:42ID:???
PHPのCLIを使っている方はいらっしゃいませんか?
RedHat9+PHP4+PostgreSQLでPHPをシェルスクリプトのように利用してみようと思っています
PostgreSQLのデータの吐き出しを定期的に行いたいと思ったのですが、
CLIだとPostgreSQLへの接続がpg_connectで行えない(undefined?)になってしまいます

どうすればPostgreSQLへ接続出来るでしょうか?
0708nobodyさん04/03/24 13:51ID:???
>>704 >>705
ありがとうございます。
pear->MP3/ID.php
読みとり用の関数を見落としていました。
0709nobodyさん04/03/24 14:08ID:???
>>706
XML を扱う関数の事なんでは?山勘だけど。

1. 英語版当たる
2. (゚д゚)ウマ-
3. ついでに適切な訳でなければ PHP-doc-jp に突っ込む
4. みんなで (゚д゚)ウマ-
0710nobodyさん04/03/24 14:47ID:???
>>706
コールバック

ちなみに xml_parser() はめっちゃ使いにくい。
クラスの中に閉じ込めないととてもじゃないが使えない。
0711nobodyさん04/03/24 15:02ID:???

XSLTの
http://www.php.net/manual/ja/function.xslt-process.php
3例目に出ている

$arguments = array('/_xml' => $xml,'/_xsl' => $xsl);
$xh = xslt_create();
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);

この変態的な方法って何か意味あるの?
071270604/03/24 15:31ID:???
>>710
コールバックを調べてみます

>>709
XML処理の関数と言うことではないようです。
検索するとApacheのハンドラ関数なども出てきますので。

xml_parse () が使いにくいというのは、単に可読性が落ちると言うことなのでしょうか?
0713nobodyさん04/03/24 15:59ID:???
>>707
undefined? の? って何だ?
undefined functionだったら、CLIの時とモジュールの時とで違うphp.iniを読み込んでるのかも知れないな。
php -mや php -i で確認してみ。

他にも環境変数や実行ユーザの権限でもツマづきやすいだろうから、
CLIの時とモジュールの時とで、phpinfo()を比較することをお薦めする。
071470704/03/24 16:44ID:???
>>713
undefined functionでした。中途半端で申し訳無い
php -mを試みた所、[PHP Modules]欄にpostgresはありませんでした

もうちょっと設定面をさぐってみます
0715nobodyさん04/03/24 17:42ID:???
>>712
やってみりゃわかる。
普通は何らかの構造にマッピングしたいのが普通だろうけど
そのあたりの管理は自前でやらにゃならん。

単にダンプして眺めたいだけなら別に構わん。
0716nobodyさん04/03/24 17:59ID:???
>>707
煩雑にポスグレ使うなら、ビルドするときにポスグレ拡張を
PHP CLI本体に組み込んじゃいなよ。
0717nobodyさん04/03/24 19:20ID:???
俺の鳥頭じゃもうムリだ…ボスケテ…

まずhttp://***/index.phpという大元のPHPを作成し、
index.php?choice=ABC というURLになると abc.php という別のページを表示、
index.php?choice=DEF というURLになると def.php というこれまた別のページを表示するには
どう書けばいいのでしょうか。

それなら直接abc.phpやdef.phpにA HREFでリンク貼れやと言われそうですが
できればファイル名を見せたくないもので…。
どなたかお願い致します(´・ω・`)
0718nobodyさん04/03/24 19:33ID:???
>>717
マニュアルを暗記するまで山に篭る。
話はそれからだ。
0719nobodyさん04/03/24 19:37ID:???
煽りたいわけじゃないが、そんな状態でこの先コーディング大丈夫か?
自分には不向きなことを見極めるのも大切だぞ

switch($choice){
case 'ABC': include("abc.php");break;
....
}
0720nobodyさん04/03/24 20:05ID:???
719に加えて言うなら、HTTPヘッダやhtmlエレメント(<html>とか<head>)を
2重出力しないように注意しとく。
072171204/03/24 20:10ID:???
>>715
初めてプログラムを書いているので、
XMLの処理はこんなもんだと思っていたし、マッピング自体がよくわからない…。

他に XML を処理すると思われる関数に DOM と XSLT があるけれど、
どれが一番便利なの?
0722nobodyさん04/03/24 20:50ID:???
>>721
XMLで何がしたいん?
0723nobodyさん04/03/24 20:56ID:EMx27tbE
今、PHPlibでsession, auth, permissionの処理をやっているのですが、
pearで同じ事を行おうとするとどういう感じになるのでしょうか?
072472104/03/24 20:58ID:???
>>722

Amazon Web Service の XML 処理。
公開されている XML 処理の PHP を参考にして、いちから自分で作っている。

リクエストがある度にXML を取得せずに、処理したデータをMySQLに保存して
キャッシュ化したい。

WEBデザインを仕事にしているけれど、

 変数を外部から取得したり、
 変数の汚染を調べたり、
 取得したデータをデータベースに保存したり、
 データを、意図するレイアウトで出力したり

することができて、(今後Perlを勉強するにしても)PHPでいろいろ覚えられそうなので、
練習代わりにやっている。そして、仕事の幅を広げたいかな。

慣れたら、JavaServletで処理ができるようにしたいかな(業務に生かしたい)。
0725nobodyさん04/03/24 21:02ID:???
デザイナはんにそこまでされたらワシらおまんま食いあげでんがな
0726nobodyさん04/03/24 22:08ID:???
文字列の配列 $list=array("a","b","c") を
"a,b,c" みたいに連結するうまい方法ってなんでしたっけ

「どうしてナナマタなのにヤマタノオロチっていうんだろう」
というのび太の心境になって考えましたがわかりません
0727nobodyさん04/03/24 22:25ID:???
>>724
nusoap でええやん。
0728nobodyさん04/03/24 22:25ID:???
ttp://jp.php.net/manual/ja/function.implode.php
0729nobodyさん04/03/24 22:26ID:???
>>726
ジョイーン
0730nobodyさん04/03/24 22:34ID:???
>>728-729
(゚∀゚)サンクスコ
0731nobodyさん04/03/24 22:41ID:???
foo   1 (改行)
bar   2 (改行)
baz   3 (改行)
というように改行で区切られているテキストから
左の要素を添え字、右の要素を値とした
連想配列を作るときに、
0732nobodyさん04/03/24 22:49ID:???
めっちゃ気になる…
0733nobodyさん04/03/24 22:50ID:???
ホントに…このあとどう続くん…
0734nobodyさん04/03/24 22:54ID:???
続きはまだか・・
0735nobodyさん04/03/24 23:01ID:???
>>726
それは八俣(八岐)のヲロチであって、
八股(八叉/八胯)のヲロチではないからナリよ。
前者のマタは(枝分かれしている様を含み)「枝そのもの」のことで、
後者のマタは枝分かれしている「分かれている部分」のこと。

来週の試験に出しますから憶えておくように。
0736nobodyさん04/03/25 01:06ID:???
このスレは今から>>731の続きを予想し、あらかじめ回答しておくスレになりました。
0737nobodyさん04/03/25 01:07ID:???
ということで

while ($line = fgets($fp)) {
 list($key, $value) = explode("\t", $line, 2);
 $array[$key] = $value;
}

かな。あってたら何かくれ。
0738nobodyさん04/03/25 01:21ID:???
[続き]
連想配列を作るときに、突然美味しいラーメンが食べたくなりました。
PHPとは直接関係がないのかもしれませんが、ここ以外に訊ける場所がありません。
どうかラーメン初心者にも判るように、美味しいラーメンを食べられる方法を教えてください。
0739nobodyさん04/03/25 01:26ID:???
「ファイルのダウンロード」 をさせる方法がわからんちん

ヘッダーを送ってやればいいんだおるけど
なんのへっだを送るんだろ
ただのバイナリデータなんだけど
0740nobodyさん04/03/25 01:29ID:???
そんなもんブラウザ依存だからどうしようもない。
header("Content-type:application/octet-stream");
を送ってもIEはOSの設定に従うし
MozFirebirdはどう処理するかユーザに聞くダイアログを出す。
074172404/03/25 02:49ID:???
>>725
仕事の幅を広くして、もう少し都心寄りに住みたいのよ。
けっこう切実なの。
074272404/03/25 02:51ID:???
連続カキコですまん。
>>725
nusoap.phpの存在は知っているの。
でも、とりあえずはもっと身近な XML 処理からトライ。

正直に言えば、SOAPに関する書籍を買う前に、
PHP関連の書籍を買って、今月金欠なのさ。
0743nobodyさん04/03/25 05:29ID:???
連想配列を作るときに、
-続き-
彼女からメールが届く
「別れて」
(゚Д゚ )ウマー
0744nobodyさん04/03/25 09:55ID:???
>>742
じゃー nusoap.php のソースを眺めてたら勉強になると思うよ。
0745nobodyさん04/03/29 03:59ID:5UcTtVR/
|д゚)<復活?
0746nobodyさん04/03/29 07:46ID:oOyKdqgq
サーバ屋さんが使う設定ツール(HDEみたいなヤツ)ってのは
自作すると面倒でしょうか

0747nobodyさん04/03/29 12:46ID:???
復活おめ。

>>746
webmin

当然自作可能だけど、HDE には価格相応に作り込まれてるんぢゃねーの。
ケースバイケース。
0748nobodyさん04/03/29 15:59ID:???
配列はどれぐらいのサイズのデータを保持できるのでしょうか?
0749nobodyさん04/03/29 16:41ID:???
誰が保存してたスレか分からないけど 745〜789 がバッサリ消えちまったな
0750nobodyさん04/03/29 18:00ID:???
とあるプロセスがflockでロッキンしたまま死んだらどうなるよ?
0751nobodyさん04/03/29 18:08ID:???
snoozerあたりが神に祭り上げます
075275004/03/29 18:45ID:???
とまあ聞くだけだとアレなんで実験してみたが
flockしたまま死ぬとなんか開放しますよ?みたいな結果だった。
思うにプロセスが死ぬとき自動的にfp開放する関係上
flockでもそのあおりを食らってロックイズデッドだね?
0753nobodyさん04/03/29 20:55ID:???
>>750
flockとは違うけど、pconnectして確保した永続的リソースでテーブルロック
したまま死ぬと、DBMS側でタイムアウトするまでロックされっぱに成ります。
0754nobodyさん04/03/29 23:26ID:rZFC6nTV
phpとflashを使った変数のやり取りで、
echoを使って&***=*といった状態に出力せずに、$***の状態で、phpからflashに変数を
読み込む方法をご存知の方がおられましたらご教授いただけませんでしょうか。;_;
0755nobodyさん04/03/30 00:12ID:???
腐女子面して泣き顔付けてageるなよ。
社会人だろ?仕事なんだろ?

無理。
以上。

それぞれのアプリケーションがどのレイヤーでどう動作するかを理解していれば出ない質問。
出来るかどうか知らねーが、シリアライズとかXML-RPCのように間に一つ挟めば可能かもね。
0756nobodyさん04/03/30 01:32ID:???
>>755
>シリアライズとかXML-RPCのように間に一つ挟めば可能
PHPプログラマーズマガジンの2003年3月号に、XEBXMLつうのを規定して
ActionScript-PHP間通信やってる例が載ってる。ActionScriptを使いこなしてる
人は既に似たようなことやってるか、やってなくても読めば直ぐに理解できるテク。
同2003年8月号だと、FLASH RemotingのバックエンドのPHPを使う解説やってる。
これはなかなか面白そうだが、まだ私は手は出してない。

ActionScriptはかなり高度なことが可能な言語だが、デザイナー上がりが
動きを付けるのだけに使ってる感じである意味不遇な言語だな。
#JavaScriptも然り。
075775504/03/30 02:08ID:???
>>756
ああ、なんか >>756 のお陰で段々思い出してきたぞ。
そんな記事出ていたとは知らなかった、ありがとう。

海外のどこかで見たんだけど、MacromediaのCommunicationServerか何だったか、
ひょっとしたらタダのColdFusionとの接続だけかも知れないが、
FlashのサーバーサイドソリューションをPHPでオープンソースでやっちゃおうぜ、みたいなプロジェクトがあった。
そういえばMXが出て少し経った辺りで盛り上がっていたんだよな、海外では。

> デザイナー上がりが
> 動きを付けるのだけに使ってる感じである意味不遇な言語だな

Flashは知らないがDirectorになるとLingoにGUIかぶせた状態だし。
デザイナーも情報を扱うデザインを行う以上、プログラマに近い素養はあると思う。
Flashだと中村勇午氏とか。
他にもプログラムを手段として使いこなしデザインやCGばりばりな人は居る。メガデモ界隈とかね。
先駆者は居るけど専門や本で量産型製造はされてないって感じ。
そういう人ならActionScriptの楽しさも100%引き出されるんだろうな。
0758nobodyさん04/03/30 12:33ID:sj3AdYty
ちょっと質問です。
私はASPとJavaScriptの経験が三年ほどあるのですが、
この度はじめてPHPの仕事をすることになりました。
ASPとはやっぱり勝手が違うでしょうか?
文法以外に、何か違いに注意する点等がありましたら、ご教授お願いします。
0759nobodyさん04/03/30 13:14ID:???
自分も ASP -> PHP と来ましたが全然違います。
PHP 自体がクセの少ない言語なので苦労は少ないと思うけど。
つーか業務で仕方なくやってたが ASP (VBScript) 時代は苦痛でしか無かった。
元コードが腐敗してたのが理由でもあるが。無印 ASP はステ。

PHP に限らずその言語のやり方や考え方、特徴を学ぶのが大事。
ここでも読めば如何かと http://cruel.org/freeware/hacker.html

あとコミュニティにポストする時は必ず暫くヲチして、同じ質問の繰り返しやローカルルールを学んだ方がいいよ。

# つまり sage ろ、と。
0760nobodyさん04/03/30 14:33ID:???
>>758
言語仕様の部分ではASPよりも楽に感じると思う。
ASPやってるからサーバサイドの概念は判ってる筈なのでそれも有利。
あとは自分がASPで関わってきたプロジェクトがどれだけASPに積極的に
関わってきたかによる。例えば独自にテンプレートシステムを作っていたとか、
DBアクセスの抽象化を行っていたかなど。そういった従来使っていた周辺物を
捨てる必要がないのであれば、PHPに慣れた人が傍にいてリードしてくれれば
直ぐに慣れると思う。ただセキュアな部分やコアなところはやっちゃ駄目だよ。
初心者は業務システムだったら"業務"の処理のところをやるとかね、そんな感じ。
0761nobodyさん04/03/30 14:35ID:???
やっちゃ駄目って言われても、必要に迫られたらやるしかない訳だけどね
0762nobodyさん04/03/30 14:44ID:???
触らないでいいならコアな部分なんて触りたくねーよ
やっちゃダメって言われてやらないでいられる世界に行きたい。。。
0763nobodyさん04/03/30 14:47ID:???
PHP だとコアな部分触るのも楽しいんだけど。
小規模開発だからか。

しかし ASP は仕様自体やる気でなかったけど、、テンプレートシステムなんてあったのね。
0764nobodyさん04/03/30 15:41ID:mRhpFbSG
ファイルの文字を表示するとき、なぜか必ず「ァ」の文字が化けてしまいます。どうすればいいのですか?S-JISで
開発してます
0765nobodyさん04/03/30 15:46ID:???
>>764
まずはEUCで書こうね。
■ このスレッドは過去ログ倉庫に格納されています