【PHP】質問スレッドpart26【php】

このエントリーをはてなブックマークに追加
902nobodyさん:05/02/25 20:35:18 ID:???
それ動かないのか・・・
903nobodyさん:05/02/25 20:40:30 ID:???
X=1 では無い場合に処理をさせたい場合はどうすれば良いんでしょうか?
とりあえず、下のように書いたら希望通りになるのですが、 {} 当たりがダサいので…。
ifの反対の命令は無いんですか?

<?php
X=1
if X==1 {}
else { echo "Xは1じゃないですよーっと。"; }
?>
904nobodyさん:05/02/25 20:47:06 ID:mvGHDRpG
>>903
たぶん誰もレスしないだろうからしようw
<?php
$X = '1';
if ($x != '1') echo 'Xは1じゃないですよーっと。';
?>
以上。解決。
905nobodyさん:05/02/25 21:13:47 ID:???
>>900
ソケット関数が使えない制限があるのに、
curlがインストールされてる鯖ってもの面白い(めずらしい)な。
906nobodyさん:05/02/25 22:08:48 ID:???
>>893
成功つーか何も特別なことをしなくても動いてるよ。
@WhiteboxLinux ttfフォント使用
907nobodyさん:05/02/25 22:31:34 ID:QqsT661L
すいません。質問です!
新たにMYSQLを入れたので
今入っているPHPにMYSQLをアクセスできるように
configureしようと思うのですが
どうやったらいいのでしょう・・・
908nobodyさん:05/02/25 22:40:37 ID:???
社内で社員個々にデータベースを使わせているのですが、
DBの作成と新規ユーザの追加を、
Webサイト上(HTML+PHP)で行いたいと思っています。

MySQLのデータベースクリエイトと、新規ユーザの追加を
PHPで操作することは出来ないのでしょうか?

出来るのでしたら方法を教えて頂きたいのですが。
よろしくお願いいたします。
909903:05/02/25 23:01:55 ID:Snm78iCr
>>904
くだらない質問にレスして頂きありがとうございました。
「==」じゃなくて「!=」にしてば解決ということですね。
910nobodyさん:05/02/25 23:15:53 ID:???
>>907
mod_mysql バイナリを入手するか、phpize。
911nobodyさん:05/02/25 23:27:32 ID:???
>>908
phpmyadmin
912nobodyさん:05/02/25 23:57:42 ID:QqsT661L
>>910
phpize
./configure (オプションは作成するモジュールによって異なる)
make
ですね。。。
明日標準拡張モジュールを入手しやってみます!
超うれしいです!感謝です!
913nobodyさん:05/02/26 20:50:00 ID:LIYJX+3j
PHP5なんですが、
コンストラクタの中で、
$categoryname = $_REQUEST['categoryname'];
とすると
Undefined index: categoryname
となってしまいます。
クラスの中で、$_REQUESTの値を代入するにはどうすればいいのでしょうか?
914nobodyさん:05/02/26 22:29:38 ID:???
>>913
いや、NOTICEが出てるのって$categorynameじゃなくて$_REQUEST['categoryname']だろ

ここを参照
http://pc5.2ch.net/test/read.cgi/php/1107780435/644-
915nobodyさん:05/02/26 23:45:28 ID:dKMEUCyI
XML、XSLTとPHPの組み合わせは食い合わせは悪いでしょうか?
916namazu:05/02/27 00:34:06 ID:l905ORwG
php4_namazuの拡張モジュールはphp5では動かないのでしょうか・・・
917nobodyさん:05/02/27 00:40:16 ID:061SWsic
PHPで音楽ファイルや画像ファイルなどの
バイナリデータの生成、編集は出来ますか?
918nobodyさん:05/02/27 00:41:52 ID:???
>>915
サーバにxslt周りがインストールされてれば、別に悪くは無いと思うけど。
XMLが別にあって、ってんなら楽勝。

XMLもPHPで作るってんなら、素のPHPだけでは大変かも。
PEARのXMLから自分にあったのを見つけるか、自分でXML構築classを書くかしないと
スクリプトの見通しが悪くなるなぁ…

あぁ、DOMXMLもあるかぁ。
919917:05/02/27 01:43:53 ID:???
自己解決しました
920nobodyさん:05/02/27 02:58:09 ID:???
>>916
PHP4 で作成した Namazu モジュールは PHP5 では動かない。

CVS から Namazu モジュールのソースを取ってきて PHP5 の phpize を使用して
コンパイルすれば使えるはず。
921nobodyさん:05/02/27 03:44:49 ID:???
mojaviで販売サイト立ち上げている人いますか?
922916:05/02/27 04:06:08 ID:f/BfgIj2
>>920
ありがとうございました。

ftp://night.fminn.nagano〜」
は使えなくなってるし、cvsのリポジトリ見ても
古いままだったし・・・。あーよかった。

名前が「php4_namazu」なので、てっきりどうにも
ならないかと・・・
923nobodyさん:05/02/27 14:06:32 ID:Quvh5uNr
iアプリのAPIからPOSTで送られて来るバイナリデーターの受け取り処理
がわかりません。どなたかご存知の方おりましたら、アドバイス頂ければ
と思います。どうか宜しくお願い致します。
924nobodyさん:05/02/27 17:24:06 ID:???
>>923
PHPの問題じゃないじゃん。
925920:05/02/27 17:54:12 ID:???
>>922
http://cvs.php.net/pecl/namazu/
を見ると 6 週間前に PHP5 への対応パッチが入っているので、
一応、メンテナンスはされているらしい。
926nobodyさん:05/02/27 19:35:58 ID:KdI7O9Tq
912です!
追加でmysqlをphpizeでいれようとしているのですが、
configureで
/usr/local/lib/mysql/lib/libmysqlclient.a(my_compress.o)(.text+0xbc): In functio
n `my_compress_alloc':
: undefined reference to `compress'
/usr/local/lib/mysql/lib/libmysqlclient.a(my_compress.o)(.text+0x13a): In functi
on `my_uncompress':
: undefined reference to `uncompress'
のエラーが出てうまくいきません。

調べていくと
これは、クライアントライブラリをコンパイルしたときに、クライアント/サーバプロトコルの zlib サポートが組み込まれていたことを意味します。
-lmysqlclient を指定してリンクするときに、最後に -lz を追加することで解決できます。
とありますが、
何も修正したらいいのでしょうか?

configureの -lmysqlclientの部分に全て -lz をつけても
いつもconfigureは上書きされちゃうようだし・・・

LINUX初心者なんでよろしくお願いします。
927916:05/02/27 21:19:34 ID:f/BfgIj2
>>925
ありがとうございました。
どなたか(作者?)がヘッダファイル
に手入れてくれてたのかぁ〜。
安心、安心。
ていうかこの拡張モジュールなかったら
結構つらいですもんね・・・
CGIとして呼ぶ、とかしか方法ないんですよね・・・
928nobodyさん:05/02/28 12:23:52 ID:???
>>926
./configure に --with-zlib はつけた?
929nobodyさん:05/02/28 14:08:59 ID:3v+7XYLQ
>>928
つけていませんが
最終的に
export EXTRA_LIBS="-lmysqlclient -lm -lz"
をつけたらうまくいきました。
そっか
./configure に --with-zlib
でもよかったんだ・・・

ありがとですぅ
930nobodyさん:05/02/28 17:52:56 ID:???
phpをcgiとして動作させているんですが、この状態でvirtual関数を使おうとすると
Fatal error: Call to undefined function: virtual()
が出てしまいます。
どうにかしてvirtual関数を使えるようにすることは出来ないでしょうか。
931nobodyさん:05/02/28 18:23:21 ID:???
>>930
そいつはモジュールとしてコンパイルした時しか有効に出来ないよ。
だからcgiでは無理
932nobodyさん:05/02/28 18:26:47 ID:???
>>930
出来ない。まあ似たような機能で再定義する手はあるが。
933nobodyさん:05/02/28 18:40:49 ID:???
基本的な質問ですみません。phpでthreadて出来ますか?
あるプロシージャを非同期に実行したいのです。
934930:05/02/28 19:11:25 ID:???
>>931-932
ご回答頂きありがとうございます。
>>932
参考までに方法を教えていただけないでしょうか。
phpとssiを混在させたページを作りたいのですが、どうにもうまく行かなくて。
935nobodyさん:05/03/01 01:47:51 ID:GFbIljAS
phpからquicktimeを使用してファイルをaviからmovにしたいのですが
exec()にどのように書けばいいのかが分かりません
osはOSXを使用しています
どのようにすればいいのか教えてもらえませんか?
もしくは参考になりそうなサイトを教えてもらえませんか?
よろしくお願いします
936nobodyさん:05/03/01 03:06:47 ID:???
>>935
quicktimeでavi→movする時のコマンドラインオプションを教えてもらえませんか。
残りのPHPの範疇のやりかたは回答できると思いますから。
937nobodyさん:05/03/01 03:35:54 ID:GFbIljAS
>>936
私もそれがしりたくて書き込みしました
ので分かりません。
938nobodyさん:05/03/01 05:05:52 ID:???
>>937
じゃあ、スレの管轄外。
939nobodyさん:05/03/01 07:56:42 ID:???
以上、聞きたい事と聞く場所があってるか確認しろという典型例でした。
940nobodyさん:05/03/01 11:13:37 ID:???
>>938
分かりました
移動します
941nobodyさん:05/03/01 11:17:00 ID:5YlwQk1P
PHPでリファラを取得する際、リンク元がFlashの場合はリファラは渡されないのでしょうか?
Firefox等だと取得できるのですが、IEで取得できない状態です。
どなたかご教授いただけると幸いです。。
942933:05/03/01 11:53:28 ID:C0SmLfoj
いろいろ調べてみたしたが、PHPでスレッドって無理なんでしょうか?
だとすると、非同期実行は皆さんどうやってますか?
943nobodyさん:05/03/01 14:12:21 ID:???
参考までに、スレッド使って何をするのか知りたい。
確かに言語仕様上、使えたら便利かもしれんが、
Webアプリの開発ではあまり必要に感じたことない。
944933:05/03/01 14:51:54 ID:???
>>942
処理に時間がかかるプログラムを切り離して実行させる
時に良く使ています(サーブレットですが)。

# あたり前ですが、ブラウザでタイムアウトをサーバから
# 操作できないので。
945933:05/03/01 14:57:54 ID:???
s/ブラウザで/ブラウザの/
946nobodyさん:05/03/01 15:18:58 ID:???
>>945
ここはPHPスレなので、
preg_replace("/ブラウザで/",'ブラウザの', >>944);
かな。
947nobodyさん:05/03/01 15:37:04 ID:???
「PHPで」という要件には満たないかもしれないが
system関数で裏に走らせて、そいつの結果を(σ´∀`)σゲッツ!!ってのなら可能かと。
948nobodyさん:05/03/01 15:57:50 ID:???
>>933
PECL でこんなのがあるんだけど使ったことはない。
ttp://cvs.php.net/pecl/threads/

--enable-maintainer-zts が必要なのであまり使えそうにないけど。

他の手段は 947 と同じようだけど、CLI 版 PHP を popen() で
実行させて結果を待つとか。

PHP 4.3.0 以降だと stream_set_blocking() が使えるので、
non-blocking モードで処理可能だし。
949933:05/03/01 16:12:19 ID:???
>>947さん,>>948さんありがとうございます。
今回はPHPのリコンパイルは出来ない環境なのでPECLのやつは
ちょっと使えそうにないです。
やはりforkとかスレッド風の非同期は出来ないのですね。
popen(+非ブロックモード?)でイカせてもらいます。ありがとう
ございました。
950948:05/03/01 16:58:33 ID:???
>>933
一応 fork は --enable-pcntl を有効にしてコンパイルしていれば
PHP でも使えるんだけど。
ttp://jp2.php.net/manual/ja/function.pcntl-fork.php

ただ、Apache モジュール版では fork は不可能なので、CGI 版か
CLI 版で使うことになる。
951nobodyさん:05/03/01 17:53:01 ID:???
>>942
Rubyを使って...仕事上ではJavaを使うことが多いが。

>>948
ああ、そんなのあるんだ。知らなかった。
952nobodyさん:05/03/01 19:05:44 ID:???
PCにアパッチとPHPを入れました。
 Apache/1.3.33 (Win32) PHP/4.3.10 running...
と表示されるのですが実際[htdocs]にファイルを入れて見ると
 <? phpinfo() ?>
の指示が実行されません。何か思い当たる原因もしくは解決策はありますか?
953nobodyさん:05/03/01 20:24:18 ID:???
>>952
むしろ貴方が何も思い当たらない時点で...

設定が足りないまたは無効。
参考にでもしたインストール解説を熟読
954nobodyさん:05/03/01 20:34:34 ID:iwruqR6F
PHPの勉強をはじめました(PHP4.1.2/apache1.3.26)
PHPで書かれたいろんなソースを読もうと思っています。
任意の行で実行をストップさせて変数の値を表示したいのですが何かよい方法はないでしょうか?
また、ソースを読むときのtips見たいなのがあれば教えてください。
955nobodyさん:05/03/01 21:41:35 ID:???
とめるんなら、exit;
そのexit;がある行までの変数を全部表示かぁ。
できるのかな。俺は知らない。
fileで自分自身を配列に入れて、exitが出るまでforで回すとか。
956nobodyさん:05/03/01 22:13:59 ID:???
>>954
>PHPの勉強をはじめました(PHP4.1.2/apache1.3.26)

PHP4.1.2 って古くない???
今は4.3.10でっせ。


957nobodyさん:05/03/01 22:15:06 ID:???
>>954
基本的なところでecho、var_dump、print_r、それらに類する私家ライブラリ
その後「PHP DBG デバッグ」をキーワードに(PHP4.1.2とのことなので)
本格的なデバッギングツールを探して試してみること。
ログの出力とかもね。

>ソースを読むときのtips見たいなの
PHPがどういう手順で命令とか関数を処理して行ってるのか
考え(思い浮かべ)ながら読む。
作り手のスタイルでソースの傾向が違うことも多いので、
余り肌に合わなければ手を出さない(アマチュアならそれでOK)
958nobodyさん:05/03/01 22:22:27 ID:???
>>954
http://www.atomar.de/public/code/debuglib/debuglib.demo.php
↑のページにあるdebuglib.phpのshow_vars()を使えば
グローバル変数なら一括表示ができる。
それ以外ならprint_rやvar_dump()で地道に変数を指定していくしかないだろうね。

どうやって使うの?とかいう質問はなしね。キリがないから
959nobodyさん:05/03/01 23:49:23 ID:???
960nobodyさん:05/03/02 01:04:26 ID:EylpmFkz
配列のキーや変数名に、日本語は使えますか?
いや、自分で使う気はないのですが、
引継ぎのスクリプトに使われているので、これは大丈夫だろうかと。。
961nobodyさん:05/03/02 01:27:31 ID:???
>>960
使える。

ただ俺も率先して使ったり大規模に試したりした訳ではない。
本幹でないところで駄目だったりするかも知れない。
あくまでも「それは詰まるところa-z、A-Z、0x7f-0xffの範囲なんだろうな」
と念を押すべき。
962nobodyさん:05/03/02 01:29:19 ID:???
>>960
>引継ぎのスクリプトに使われているので
ガクブル
963930:05/03/02 01:29:39 ID:???
何度も申し訳ありません。
あれから検索等で調べているのですが、どうしてもでてきません。

virtual関数以外で、SSIのinclude virtualと同じ動作をさせることは出来ないものでしょうか。
964nobodyさん:05/03/02 01:47:10 ID:???
知恵を貸してください。
ログファイルから、終端の10行を読み込みたいときは
どんな方法が負荷を低く仕上げられるでしょうか?
おねがいします。
965nobodyさん:05/03/02 02:29:02 ID:???
>>963
ああ、やったのは、SSIエミュレータだったかシミュレータというのを
呼んで処理させてました。Perlで書かれたやつだったかな。拾い物

今だったらApache2使ってSSI→PHP→SSIって感じに処理させると思うけど。
でもそこまでSSIに拘らんでもねぇ、今更。
966954:05/03/02 02:35:30 ID:???
>>955-958
ありがとうございます。
とりあえずprint_rやechoを使いながら>>958さんのソースを読んでみます。
967960:05/03/02 02:38:46 ID:???
>>961
どうもです。
配列のキーには、割と普通に文字列として使えそうですね。
変数名にも一応使えるんですね。
とはいえ、変数名に日本語使ってるスクリプトってなんか怖い。
小規模なのが救いです。
968nobodyさん:05/03/02 16:12:29 ID:???
>>964
MySQL
969nobodyさん:05/03/02 17:01:34 ID:???
>>964
tail
970nobodyさん:05/03/02 18:21:04 ID:???
>>964
書く時に先頭に挿入していくようにして、
読む時は先頭の10行を読む
971nobodyさん:05/03/02 22:59:38 ID:???
>>970
array_unshiftだっけ、array_pop?
なんだ酒飲んでるからわかんなくなっちゃった。
972nobodyさん:05/03/02 23:08:28 ID:???
酔っ払いの屑はどっかいけ
973nobodyさん:05/03/02 23:08:35 ID:???
>>964
普通に地道にやるなら。
最初に、count($array)して、配列数を求める。
そしたら、計算したら最後の10行目からの要素数わかるでしょ。
forでファイルを入れた配列をぶん回して、
さっきの値よりおっきくなったところから
新しい配列にarray_pushすれば。
974nobodyさん:05/03/02 23:32:20 ID:???
>>973
普通に最後10行目からループをまわせばいい話じゃ
975nobodyさん:05/03/02 23:43:41 ID:???
っていうか、>>964は「ログファイル」っていってるぞ。
もし、分割無しで設定されたApacheログだったら、
配列とかに入れようとした時点でアウチの可能性も。
昔、70Gのログファイルを見た。
976nobodyさん:05/03/03 00:09:25 ID:???
どかしてるね
977nobodyさん:05/03/03 00:11:40 ID:???
あ、そういやローカルのアパッチェのログ暫くほおりっぱなしだった。
27mbまで溜まってたよ。
978nobodyさん:05/03/03 09:50:30 ID:???
>>977
今見たら2003年6月からのaccess.log3.4MBだった
979nobodyさん:05/03/03 09:54:23 ID:???
ログファイルが大きい可能性があれば1行ずつ読んで10回までは配列にarray_push
11回目からはarray_unshiftしてarray_pushを繰り返す
980nobodyさん:05/03/03 11:13:24 ID:???
Apacheが、apatchやらアパッシェやらアパッチェ等とイタリアの小料理のように呼ばれる件について。
981nobodyさん:05/03/03 11:32:30 ID:???
ログファイルが大きい可能性があれば、
ファイルポインタを最後に持っていって、
適当なサイズのバッファに読み込み、その中から改行コードを判定。
指定した回数の改行コードを見つけるまでバッファ読込判定作業を繰り返す。

982nobodyさん:05/03/03 12:36:09 ID:1a7MlPRn
会話のなかで使う時はアパッチと呼ぶが、仲間内ではあぱっちぇと呼ばれている
983nobodyさん:05/03/03 12:50:52 ID:???
すると仲間内同士の会話のなかではどう発声するのですか?
984nobodyさん:05/03/03 13:13:40 ID:???
ハァ?
985nobodyさん:05/03/03 13:26:40 ID:???
>>983
シッ!
脳内仲間なんだからそっとしておいてやって!
986nobodyさん:05/03/03 14:33:19 ID:???
そんなもの相手する暇あったら他の事した方が金になる。
987nobodyさん:05/03/03 15:02:24 ID:SgcxISz7
ツリー表示の質問です。

記事ID,返信記事のID,返信記事の親ID

この情報からツリー表示をしたいのでつが。
どうすればいいでしょうか。

神ガンガレ!
988nobodyさん:05/03/03 15:15:10 ID:???
オマイがガンガレ
989nobodyさん:05/03/03 15:23:42 ID:SgcxISz7
>>988
イジワルキタ━━(゚∀゚)━━ヨ
990nobodyさん:05/03/03 15:41:06 ID:???
>>987
質問なのか?そうなのか?
問題ではないのか?違うのか?

問題だったら、解いてやるが、
質問だったら失礼だから答えてやらん。
991987:05/03/03 16:18:45 ID:SgcxISz7
ごめん。

自己解決できた。

再帰コールを思い出したよ。
992nobodyさん:05/03/03 16:38:13 ID:???
あるphpを、apache上で何度も動かすときに、
すべての変数はその都度初期化されますが、
変数の値を初期化せずに保持しておくことはできないのでしょうか。
データキャッシュとして使いたいのです。
共有メモリなどを使わないと無理ですかね。

一応、うちの環境は、apache 2.0.52, php 4.3.10 です。
993987:05/03/03 16:53:55 ID:SgcxISz7
>>992
mmcacheなら共有メモリか、ファイルか選べる。
994nobodyさん:05/03/03 16:57:07 ID:No59BtVW
>>993
mmcacheって、phpのコンパイル後のデータをキャッシュしてくれるだけかと思ってた。
調べてみます。
995987:05/03/03 17:07:52 ID:SgcxISz7
>>994
mmcache_lock('dept');
mmcache_put('dept', $ret);
mmcache_unlock('dept');

$dept = mmcache_get('dept');
var_dump($dept);
996nobodyさん:05/03/03 17:26:50 ID:No59BtVW
>>995
それです。ありがとさんくす。
eaccelerator_put / get
という名前になってた。
997nobody:05/03/03 22:16:07 ID:V9TxyZTS
特定のディレクトリにmp3ファイルを保存してその一覧を表示しようと思うのですが、
phpでID3タグ情報を取得するにはどうすればいいのでしょうか?

php id3 取得などで検索してみましたが
rubyで同じようなことができるスクリプトは見つかったんですが。

FreeBSD + Apache + php4.3.10
998997:05/03/03 22:37:43 ID:V9TxyZTS
自己解決しました
999nobodyさん:05/03/03 22:46:25 ID:???
次スレ
【PHP】質問スレッドpart27【php】
http://pc5.2ch.net/test/read.cgi/php/1109857283/l50
1000もう一回:05/03/03 22:46:55 ID:???
次スレ
【PHP】質問スレッドpart27【php】
http://pc5.2ch.net/test/read.cgi/php/1109857283/l50
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。