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

【PHP】質問スレッドPart3

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。02/02/17 13:23ID:N+9Uw5dE
レスは気長に待つのが良い感じかも。
答えられる方、返答よろしくお願いします。

<<参考リンク>>
■本家
http://www.php.net/
■PHP日本語マニュアル
http://www.php.net/manual/ja/
■JapanPHPUsersGroup
http://www.php.gr.jp/
■PHP日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/

<<過去スレ>>
■【PHP】質問スレッドPart1
http://ebi.2ch.net/test/read.cgi/php/982687820/
■【PHP】質問スレッドPart2
http://pc.2ch.net/test/read.cgi/php/1003283567/

<<教えて君>>
■ここ見習って書き込んじゃ、駄目よ
http://pc.2ch.net/test/read.cgi/unix/1011345180/242-245
0157nobodyさん02/03/05 20:35ID:???
>>155
どこの誰だかわかんない奴に
大した理由も無くむかつかれたからって
それが俺にとってなんなんだっつうの。
気安く指図すんなって。

0158nobodyさん02/03/05 20:40ID:???
(・∀・)マターリ!
0159nobodyさん02/03/05 20:48ID:???
>>157
ああそう?むかついたむかついた
おめえうざい、なんか知らないけど生理的にキモイ
ホムペに騙されただって?
どこの誰だかわかんねえ、お前に何言われたってつくってるやつ
何とも思わねえよ(藁
0160nobodyさん02/03/05 20:56ID:eqE53nyj
>>157
おまえうざいな
0161nobodyさん02/03/05 21:24ID:???
なんかくだらん言い合いしてる奴全員逝ってよし
0162nobodyさん02/03/05 21:27ID:???
>>159
予想どうりの反応が返ってきて嬉しいよ。
群れてないと生きられねえ弱っちい奴は自分の順位を
必要以上に気にすんだよな。
おれみたいの生理的にうけつけねえだろ?
お前ばっちしそのタイプだな。
犬見てえ。プ
0163nobodyさん02/03/05 21:28ID:???
どっちがどっちでもいい、うざすぎ、どっかよそいってやってくれ
0164nobodyさん02/03/05 22:02ID:???
>>162いい加減失せろ粘着
0165nobodyさん02/03/06 00:06ID:???
PEARのIntegratedTemplateクラスって使ってる人いる?
見た感じ使いにくそうなのでテンプレートクラスを自作するか検討中
0166nobodyさん02/03/06 00:18ID:???
>165
何となく、仕事で使ってみた。
ループ処理とかに何となくバグもちな気がする・・・。
まあ、CVSから持ってきた最新版じゃなくて
普通に配布されてるやつだから何とも言えないけど。

後、最低一個は置換しないと駄目な気がする。
0167nobodyさん02/03/06 01:39ID:???
>166
サンクス
使い勝手はともかくバグですか・・・
しばらくは自作クラスで間に合わせた方がよさそうですね。

0168nobodyさん02/03/06 02:05ID:TsOKx1jP
IT.php使ってるけど、今のところバグにはあたってないなぁ。
ちょっと分かりにくいけど、慣れると使いやすいと思うよ。
テンプレートだとSmartyが高機能でいいらしい。
http://www.phpinsider.com/php/code/Smarty/
0169nobodyさん02/03/06 09:02ID:T5j6rphN
win98(アパッチインストール済み)にphp4を入れようと思って、
php-4.1.1-Win32を落としてきました。

インストールの仕方を説明してあるサイトでは「php4ts.dllをC:\Windows\Systemに入れてください」
とあるんですが、落としてきたphp-4.1.1-Win32にはphp4ts.dllが見つかりません。
php4ts.dlってまた別に落としてこないとダメなんですか?

それとも違ったインストール方法があるんですか?
知ってる方、お助けください。
0170nobodyさん02/03/06 09:06ID:???
>>169
俺がインストールした時はそんな作業必要なかったと思うんだけどなぁ
017116902/03/06 09:24ID:T5j6rphN
>>170
そうなんですか。
もうちょっとphp系のサイトで調べてみます。
0172nobodyさん02/03/06 09:37ID:tuJGrm7F
>>169
Winのフォルダ設定でdllを表示しない設定になってるとかない?
php4ts.dllは必要だよ。
0173166 ◆AngelBlk 02/03/06 09:59ID:z7t2jvIE
>167
168さんも言ってるけど、IT割と使いやすいですよ。
一回使ってみるといいかも。
http://angelicwing.net/server/php/IntegratedTemplate.html
適当にpear.php.net見ながら会社の新人用に書いたドキュメント。
参考になれば。

//間違いあったら指摘よろしく(^^;

>168
自分が使ったときは何となくtouchBlockの挙動がおかしい気がした。
まあ、根本的に勘違いしてる可能性否定出来ないけど・・・。

あと、気になったのは最低一つはsetVariableしないと
何も表示されないことない?

Smarty、ちょっと試してみるっす。
017416902/03/06 10:19ID:T5j6rphN
>>172
そのとおりでした…
ありがとうございます。
0175nobodyさん02/03/06 13:04ID:2mUXrcp1
Smartyなかなかいいっすよ。

ただ、入り組んだtableを作るのが面倒というか、よくわからなくなるけど。
017616702/03/06 23:41ID:???
IntegratedTemplate使ってみました。
PHP4.0.6では何故かIT_Error.phpが無いらしくエラーを吐いたので
PHP4.1.2に付属していたPEARを丸ごと上書きして解決しました。
今のところ問題は出てないが$_POSTや$_GETなんかの
旧バージョンでは使えない機能って使われてないことを祈る。

で、実際使ってみたら思ったより使い安かった。
<!-- BEGIN *** -->
<!-- END *** -->
っていうのがもうすこしスマートにならなかったのかと思うが
次はSmartyも試してみようかな
0177nobodyさん02/03/06 23:50ID:4IV0+NOU
つい最近PHPはじめたんですが、
PHPでXHTMLって表示できないんでしょうか?

Parse error: parse error in (ファイル名) on line 1

とかエラーが出てくるんですけど。
xml宣言が悪いの?
0178nobodyさん02/03/07 00:13ID:???
>>177
short_open_tagがonになってるから
<?xml version="1.0" encoding=... ?>
がPHPと認識されてると思われ。

php.iniが弄れる環境ならoffに。弄れないなら.htaccessで

php_flag short_open_tag off

の一行を。
0179nobodyさん02/03/07 01:20ID:???
>>178
便乗ですが、.htaccessで PHP 自体を無効にする
書き方はないでしょうか?
特定のディレクトリだけ無効にしたくて。
0180nobodyさん02/03/07 02:03ID:???
php_flag engine off
でいけそうな気が。
018117702/03/07 16:45ID:oKCl5bDx
>>178
ありがとうございます。解決しました。

しかも、よく見るとマニュアルにも書いてありました。すいません。
0182nobodyさん02/03/08 00:50ID:/gp9jaEC
普通に鯖においてあるcgiの中身は何とかして見れないもんですかね?
0183nobodyさん02/03/08 00:57ID:zfV74nWY
>>182
不正アクセスしなければ普通は無理
0184nobodyさん02/03/08 02:20ID:FFC0dBuR
breadcrumbs(パンくず)をPHPのソースを見ていて見つけたのですが、
プログラムでは、どういう意味で使う言葉なのでしょうか。
0185nobodyさん02/03/08 03:42ID:???
>>180
それでいけました。
ありがとうございました。
0186_02/03/08 06:15ID:???
>>182
管理者がしょぼければ
同じサーバを使えば見れるかもしれない

でも、普通は無理
0187nobodyさん02/03/08 13:34ID:qpd6ZWSb
Basic認証を1000人単位で行いたいので、一件ずつ登録するわけには
いかないのですが、UserIDとPassをcsv or tabで管理するので、
それを一括で登録するだけのcgiってありますか?
0188nobodyさん02/03/08 13:42ID:???
>>187
【PHP】質問スレッドPart3
0189nobodyさん02/03/08 13:57ID:???
>>187
http://pc.2ch.net/test/read.cgi/php/1014131785/l50
でしょう。やぱーし
0190nobodyさん02/03/08 20:49ID:???
>>188, 189
悪かったYo.
書き込むスレッド間違ったんだYo.気づいたけど、
反省して同じ質問すぐに別スレに書き込むの待ったんだよ。
0191nobodyさん02/03/09 02:29ID:???
>>187
DBにIDとpasswdをいれて、それを読むPHPがBasic認証やったらいいじゃん。
0192nobodyさん02/03/09 13:54ID:???
ツリー掲示板のアルゴリズム教えて(´Д`;)
わからないよ〜、、
0193nobodyさん02/03/09 14:24ID:qlswu0DN
>>192
ユニークなキー(仮にID)で親、子記事を管理して、
子の書き込みがあった場合は親へのID属性を持たせる。

他のアルゴリズム見たことないから分からないけどこんな感じでは?
ただこれはDB側でBBSを管理する場合の想定であって、
ファイル(datやcsv)で管理する場合は若干変わってくるかも。
019419202/03/09 14:30ID:???
>>193
レスありがd!mysql使って組みたいんだけど
その属性の持たし方が頭の中で整理できないんですわ(TДT;)
良かったらサンプル組んで詳しく教えてもらえませんか?
お願いします。昨日から考えてるけどマジでわけわかんないわ
019519302/03/09 14:45ID:???
>>194
プログラム(作りかけだけど一応動く)
ttp://public.dyndns.info:10080/dev/tree_bbs.php

ソース(自作クラス使ってるけど、ツリーのアルゴは分かるかと)
ttp://public.dyndns.info:10080/dev/tree_bbs_source.txt

SQL(Excel持ってなかったらスマソ)
ttp://public.dyndns.info:10080/dev/define_db.xls
019619502/03/09 14:53ID:???
>>194
ちゅうか今から出かけるんで何か質問あったら夜に。
0197nobodyさん02/03/09 15:11ID:???
>>196
ありがとうございます111111111111111
勉強さしてもらいます、また質問するかもしれないですがよろしく111111
0198nobodyさん02/03/09 16:36ID:a/ptHYRQ
PHPをLinuxにCGIとしてインストールしたんですけど
コマンドラインからは問題ないんですが
Apacheの設定がいまいちわかりません

AddType application/x-httpd-php .php
をついかしても ソースのダウンロードとなってしまいます。
書き方教えてYO!
0199nobodyさん02/03/09 16:42ID:???
>>198
いや
0200_ ◆IVXmlxmI 02/03/09 16:48ID:???
>>198
コマンドライン版としていれたのかな?
そうならScript内に
#!/usr/bin/php
かな?

ちがうなら、libphp(4||3).soをLoadModuleしやがれあんちくしょう
0201_ ◆IVXmlxmI 02/03/09 16:50ID:???
↑忘れてた、「200ゲト ズサー」
0202親切な人02/03/09 16:59ID:???

ヤフーオークションで、凄い人気商品、発見!!!

「高性能ビデオスタビライザー」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA

ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
0203 ◆AngelBlk 02/03/09 17:18ID:GxPRyCo5
ちょっと前にテンプレート(デザインとの分離)の話でてたけど
ttp://hoover.ktplan.ne.jp/kaihatsu/php/index.php?type=doc&txt=htmltemplate
こんなもの発見。
まだ試してないけど。

自分は普段
ttp://zato.nu/tmpl/
これ使ってます。WEB+DB Press Vol3にものってたやつ。

仕事ではIntegrated Template。
ライセンスとか考えなくていいんで。

やっぱ自分で作るべきかなぁ・・・。
うーん。
0204nobodyさん02/03/09 17:56ID:???
>>198 httpd.conf か .htaccess の適当なところに

Action application/x-httpd-php /usr/local/bin/php
AddType application/x-httpd-php .php
020519802/03/09 18:24ID:a/ptHYRQ
一応その設定はやってみました
which phpで /usr/local/bin/php
はでてくるので設定は合ってると思ったんですが
いざ*.phpや*.phtmlにアクセスすると404を返してきます。

あと一歩だと思うんですけど…

ちなみにphpinfoはコマンドラインでは出せました。
020619802/03/09 18:29ID:a/ptHYRQ
Action application/x-httpd-php /usr/local/bin/php
の行に#を付けると問題ない(ソースが見える)ので
この行が怪しそうなんですけど
404になる理由がわかりません
Apacheのログ見てもたいしたこと載ってないです。
0207nobodyさん02/03/09 18:52ID:???
>>206
ようは、CGI として PHP スクリプトを動作
させたいんだよね?

そうだったら
Action application/x-httpd-php ...
は不要だと思うYO!

問題なのは CGI の設定だから、例えば、
.cgi というファイル名にするとか、そ
ういう話でしょ。

> Apacheのログ見てもたいしたこと載ってないです。

最後の方だけでいいから、こぴぺしてみろYO!
020820402/03/09 18:57ID:???
スマソ。Action で指定するのはファイルシステム上の絶対パスじゃなかった。
php の実行バイナリをScriptAlias が効いているパスにコピーして、

Action application/x-httpd-php /cgi-bin/php

でうまくいくと思う。
0209nobodyさん02/03/09 19:04ID:???
>>207
php スクリプトの拡張子を .cgi にして #!/usr/local/bin/php で書き出せば、
もちろん CGI として実行可能。だけど、Action と AddType を設定すれば、
そのような変更せずにモジュール組み込みのときど同じ感覚で実行することができる。
021019802/03/09 19:45ID:a/ptHYRQ
どもみなさんがた
Alias /php-bin/ /usr/local/bin/
Action application/x-httpd-php /php-bin/php
AddType application/x-httpd-php .php .phtml
追加したんですけど変わりませんでした。
最初に#!usr〜を追加して.cgiにリネームすると
Security Alert! PHP CGI cannot be accessed directly.
This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set. This variable is set, for example, by Apache's Action directive redirect.
とエラー
んでphpのバイナリを自分のhomeにもってきて
そこを指定したところ問題ありませんでした…。
とりあえず 動きましたありがとうゴザイマス。
021119802/03/09 19:51ID:a/ptHYRQ
なんかsuEXECが悪さしていたみたいなんですけど
そのファイルの所有を他のやつにするだけで
エラーします(パーミッションは755)

なんかいい解決方法ないでしょうか
021219802/03/09 20:10ID:a/ptHYRQ
理想的には元の場所(/usr/local/bin/php)
に置いたままで 他のユーザからも使えるようにしたいのですが…。
0213nobodyさん02/03/09 20:43ID:qNOyVSl/
こんにちは、はじめまして。

Perl CGIで、最初に、タイトルを表示しておいて、時間がかかる処理の
間、待たせるってことできるでしょうか?

まず表示はさせて起きたくて、

print "Content-type:text/html\n\n";
print <<HTM;
<html><body>
HTM

sleep(5); # 処理にかかる時間

print <<HTM;
</body></html>
HTM

としても無理なようです。
どなたかご教授ください。
0214nobodyさん02/03/09 20:49ID:iSgkJRfk
phpファイルって全部同じところに置かないとダメなのかなぁ・・
フォルダ分けするとダメなんですけど。
0215nobodyさん02/03/09 20:55ID:fjut0yPf
>>214
フォルダとか言ってる時点でアレだな
0216nobodyさん02/03/09 21:06ID:iSgkJRfk
アレってなんですか?
0217nobodyさん02/03/09 23:52ID:???
>>215
意味的には問題ないんだからいいじゃん。
UNIX系OSの扱いに長けた人間しか扱うなって話でもあるまいに。

>>216
気にするな。
0218nobodyさん02/03/10 00:10ID:Qu/4OYSw
>214
出来るよ。セーフモード OFFになってね?

フォルダって言うのは初心者が使う言葉だからじゃない?
0219nobodyさん02/03/10 00:17ID:???
>>217
Windowsでもディレクトリはディレクトリだ。
0220nobodyさん02/03/10 00:19ID:???
dir c:\ /w
0221nobodyさん02/03/10 00:26ID:HGwBGXBU
ディレクトリと言えばいいんですね?すみませんでした
セーフモードって・・?いや、ちょっと調べてくることにします・・・
0222nobodyさん02/03/10 06:25ID:???
"ディレクトリ"は、UNIX や MS-DOS。
Win や Mac では同様の概念を"フォルダ"と呼ぶ。

スレ違いスマソ。
0223nobodyさん02/03/10 13:34ID:???
>>222
Windows 3.1 ではディレクトリでしたがなにか?
0224nobodyさん02/03/10 13:54ID:???
これをPHPに書き換えるとすると、どうなるの?

my ($key,$salt);
if($FORM{'FROM'}=~/#(.+)/){
$key = $1;
$salt = substr($key."H.", 1, 2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$FLAG{'trip'} = substr(crypt($key, $salt),-8);
}
0225nobodyさん02/03/10 14:07ID:???
>>224
マニュアル見てちっとは自分で考えれ。
0226nobodyさん02/03/10 14:19ID:???
なにやってるのかさっぱりわからん・・・・
0227nobodyさん02/03/10 15:52ID:???
トリップ生成やね。
簡単に移植できるよ。
っていうか、今やってた(笑

が、OSがFreeBSD3.4なせいか
cryptでMD5かえってきてそこではまり。
どうしよう・・・。
022819802/03/10 19:00ID:ZkYuit9E
よければ教えてくださいな。
Suexecを導入しているので
CGIモードでやるとphpにuserの実行権がないとエラーします。
別にPHPはユーザー権限で動かなくていいので
他のユーザからでも 実行できる方法を教えてください。
0229nobodyさん02/03/10 19:05ID:???
>>228
よく分からんけど、suexec 自体が不要という
こと?
023022802/03/10 19:22ID:ZkYuit9E
perlはsuexecで動かしたいんですが
PHPはCGIとしてインストールすると
suexecが邪魔をして実行できないので
PHPを実行するときはsuexecを無効にできないかということです。
0231nobodyさん02/03/10 19:53ID:nYrVUmys
>230
うーん、ちょっと思いつかないなぁ・・・。
PHPをApacheのモジュールでいれるのは出来ないの?
実行速度とか考えても、そっちのが良いと思うのだけど。
0232nobodyさん02/03/10 19:55ID:???
>>224
なぜ2ch互換にこだわるの?
自分で適当に暗号関数を組み合わせればいいやん。
0233nobodyさん02/03/10 20:24ID:???
>>232
トリップ生成ツールが使えないからじゃないか?
0234nobodyさん02/03/10 21:49ID:???
>233
なんか本末転倒な雰囲気にワラタ。
023522702/03/10 23:12ID:???
>234
自分がMD5になって萎えていたのは、
まさにそれが理由だし(苦笑>生成ツール使えない

一応ソースのせておくと

if (ereg("#",$name)){
ereg("#(.+)",$name,$array);
$key = $array[1];
$salt = substr($key."H.", 1, 2);
$salt = strtr($salt,":;<=>?@[\\]^_`","ABCDEFGabcdef");
$trip = substr(crypt($key, $salt),-8);
print "◆".$trip;
}

こういう感じ?
なんか忘れてるような・・・。
0236nobodyさん02/03/10 23:19ID:???
PHPで金取れるようなスクリプトってどんなのがありますか?
ソース見て勉強したいんですけど。
0237 02/03/10 23:41ID:???
>>236
お金を払えば見せてあげますよ。
0238nobodyさん02/03/11 00:06ID:???
ワロタ
0239nobodyさん02/03/11 01:06ID:hZmTDUb8
PHPを使って、CPUの使用率をファイルに
書き出したりとかって出来るのでしょうか?
なにか方法があればお願いします。

使用サーバはPHP4.1.1 + Redhat 6.2 という構成になっています。
0240 02/03/11 01:10ID:???
>>239
CPUを測るスクリプトというのは外部アプリでつくり、
それを呼び出して実行結果を保存すればいい。
PHP単体では無理っぴぃ
024123902/03/11 01:37ID:hZmTDUb8
>>240
やっぱPHPだけでは無理ですか。
ありがとうございましたです。
0242nobodyさん02/03/11 02:25ID:???
あ、PHP-MLおなじみの「書き換えるとどうなるの?」シリーズだ。
毎回、「マニュアル見ましょう」と突っ込まれてるし。
0243教えて君02/03/11 04:24ID:???
>>239
微妙なな。。。
SNMP関数使えばできんことないと思うけど
果たしてそれをPHP単体と呼ぶのかどうか。。。
024422702/03/11 08:39ID:???
>242
ひょっとして漏れはネタにマジレスしてしまったんでしょうか
0245nobodyさん02/03/11 11:31ID:tibj4QCu
PHP3で、
WEBページのフォームから、感想などの、
メールを自分あてに送れるようにしようと頑張っています。

で、だいたい出来ているのですが、
メールが4通重複して送られて来てしまうのです。
mailコマンドはこんな感じですが。
<?php mail("mail@address", "test", "This is test mail") ?>
どっかでループ回ってるのかな?と思うんですけど、
ありがちな失敗があったらおしえてください。
0246_ ◆IVXmlxmI 02/03/11 12:51ID:???
>>245
その前後を書かないとわからない
024724502/03/11 13:20ID:???
こんな感じです。

<BODY BGCOLOR="#FFFFFF">

<?
$str="姓:$sei\n名:$mei\nふりがな:$furigana\n\n郵便番号:
$zip\n現住所:$address\n同電話:$tel\n同ファクシミリ:
$fax\n\n勤務先:$kinmusaki\n役職:$yakushoku\n同郵便番号:
$kinmuzip\n同住所:$kinmuaddress\n同電話:$kinmutel\n同ファクシミリ:
$kinmufax\n\n学位称号:$gakui\n最終卒業校名:
$school\n卒業(終了)年月日:$monthday1/$monthday2/$monthday3\n専門分野:
$senmon\n\n";

if ($renraku=="kinmusaki") {
$str2="連絡先:勤務先\n";
} else {
$str2="連絡先:現住所\n";
}

if ($shubetsu=="sei") {
$str3="seikai\n";
} else{
$str3="huseikai\n";
}

$str4="電子メールアドレス:$email\n生年月日:$birthday1/$birthday2/$birthday3\n紹介者:$shoukaisha\n連絡事項:$renrakujikou\n";

mail("user", "USER", "$str$str2$str3$str4", "From: mail@address");
?>
送信しました。
</BODY>
</HTML>






0248nobodyさん02/03/11 13:35ID:???
>>247
フォーム4連打してたとか、そういうオチはないよね?
024924502/03/11 14:19ID:tibj4QCu
もごとにそうでした。
0250_ ◆IVXmlxmI 02/03/11 15:24ID:???
>>249
もごとキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
~~~~~~
原因分かって良かったですね。
025122802/03/11 17:15ID:vV9+nccN
結局DSOとしてインストールしました
問題なく動いています。
付き合ってくださった方々どうもありがと!!
0252nobodyさん02/03/11 18:20ID:???
print '変数1:'.$var.'だよ〜';
という風に、一回閉じてから書いてるのだが、こんな俺の書き方は変なのだろうか(;´Д`)

0253 02/03/11 18:32ID:???
<? 〜 ?>で出たり入ったりするのを繰り返した方がいいのか
それとも全体を<? 〜 ?>で括っちゃった方がいいのか

流儀もあるだろうけど、みんなはどう考える?
025423902/03/11 19:41ID:???
>>253
場合によると思う。
例えばtableをループでまわすとき、
ソース的に見やすいのは<? 〜 ?>とする方だろうけど、
エディタで開いたときに参照し難くなるからおすすめできない。

デザインを他の人に任せる場合なんかは特に。
025523902/03/11 19:46ID:???
>>252
むしろそうしないと駄目かと。
0256nobodyさん02/03/11 21:29ID:???
>>252
print "変数1: $var だよ〜";

でいいだろ
■ このスレッドは過去ログ倉庫に格納されています