トップページ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
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 だよ〜";

でいいだろ
0257教えて君02/03/11 22:58ID:???
これがめんどくさい

define('MYSELF', $PHP_SELF);

print '<A href="', MYSELF, '">戻る</A>';

最近は eval() かな〜と思ってるんだが、
eval() ってどうよ?<?= ?> よりも重たい?
0258nobodyさん02/03/12 00:33ID:???
evalって多用するには汚染チェックとか気を使わない?
0259教えて君02/03/12 00:48ID:???
>>258
んにゃ、クラスの中に閉じ込めるつもりだから多分大丈夫かと。
逆にそゆことするとどんどん重くなる気もしてちと鬱。
0260nobodyさん02/03/12 01:12ID:HtOfM4j8
定数はめったに使わんなぁ
0261 ◆AngelBlk 02/03/12 02:12ID:???
>259
現在、オブジェクト指向と格闘中・・・。
今までべた書きしかしたことなかったから
概念がうまくつかめず(苦笑

クラスとか使うなら、APCとかで高速化したほうが
いいかも。
普通に使うと、かなり重くなっちゃうみたい。
026222102/03/12 04:14ID:or3FKG02
セーフモード理解不能・・・
ど素人はまずどこから学んだ方が良いでしょう?
0263modoki ◆zVn/zRzw 02/03/12 04:20ID:???
>>262
http://www.php.net/manual/ja/features.safe-mode.php
026422102/03/12 05:45ID:or3FKG02
それわかるまで来るなってことですか・・・
0265nobodyさん02/03/12 05:49ID:???
>>264
ここより優しい解説ページはないからねぇ・・・
しょうがないと思うよ。
0266nobodyさん02/03/12 07:56ID:SZRWTyJ2
リストとクリックカウンタ数を表示させてるんですが、↓こんなの。
aaa[500]
bbb[200]
ccc[450]
phpだけでクリック数順に自動的に並び替えるってできるでしょうか。
mysqlと組み合わせた方が簡単ですか?
0267 ◆AngelBlk 02/03/12 08:31ID:???
>264
問題の切り分けしないと。
セーフモードの何がわからないの?

>266
PHPだけでも出来ると思うけど、
SQL使った方がスマートだろうね・・・。
026826602/03/12 14:53ID:SZRWTyJ2
うーん、クリック数を別ファイルからincludeしてきてるんですけど、mysqlでうまく表示できないんですよ。
スレ違いですがどなたか教えていただければ。
while($row=mysql_fetch_array($result)){
echo $row["id"]," ",
"<a href=\"./hoge/",$row["id"],".php","\">",$row["title"],"</a>"," ";
include './hoge,$row["id"],';
print "<p>\n";}
0269nobodyさん02/03/12 21:09ID:???
http://www.dcl.info.waseda.ac.jp/~hasegawa/php/bbs.html
ここのスクリプトで
http://www.dcl.info.waseda.ac.jp/~hasegawa/php/source/bbs1/bbs1.php
これのレスの中身を見るときprint_numbe
使ってますけどこれどういう仕組みなんでしょうか?
0270 ◆AngelBlk 02/03/12 23:42ID:???
>268
というか、MySQLってどういうものかわかってる?(汗
なんか激しく勘違いしてる予感・・・。
0271nobodyさん02/03/13 01:58ID:IXx7qadd
MySQLにはAUTO_INCREMENTなんてのがあるのかぁ。
0272nobodyさん02/03/13 02:02ID:???
つーか Zend Engine 2ってどーよ? 誰か使ってる?
027326602/03/13 09:59ID:WmCmDYl5
>>270
あああああれー?
一生懸命考えたんですが全然違ってます?(;´Д`)
0274nobodyさん02/03/13 11:08ID:???
>>273
掲示板でDB使う必要あんの?
027526602/03/13 12:42ID:???
>>274
掲示板じゃないですが、はて?
0276教えて君02/03/13 17:44ID:wVBmS6c2
とある配列をとあるクラスのメンバにしたいとき、
コピーじゃなくてポインタ渡し(?)みたいにする方法ってないかな?

 $array = array(...);
 $this->array = $array;

ってやると $this->array は $array のコピーになっちゃうよね?
C で言う、

 array = calloc(...);
ptr->array = array;

みたいなことをしたいんだけど。。。
何でかって言うとちょっとでかめの配列なので
何となくメモリ節約したくて。。。
0277nobodyさん02/03/13 18:32ID:???
誰かが話題に出してたSmarty使ってみてるんだけど、ちょっと質問。
セキュリティを有効にしてsecurity_settings等の設定をしてると、
Warning: Undefined offset: Smarty_Compiler.class.php on line 857
がたくさん出る事ないですか?エラー表示レベルはE_ALLで。
0278_ ◆IVXmlxmI 02/03/13 18:48ID:???
http://www.zend.co.jp/products/studio/
誰か買いました?

デバック機能などの使い心地を聞きたいです。
0279nobodyさん02/03/13 18:52ID:d35MZnFu
>>276
$this->array = &$array;
とか出来ない?
0280 ◆AngelBlk 02/03/13 20:51ID:???
>273
「ファイル操作」と「DB操作」は別だよ〜。
どうもファイルとDBを混同してるような気が(^^;

>278
前、一回英語版を仕様してみたけど、どうもいまいち。
どうもクライアントがJAVAで書かれてるソフトは
好きになれない・・・。
ただ、関数とかの補完とか使いやすい機能も多いと思う。
本格的に開発やってるなら買っても良いかも。

//でも、45000円(だったよね)はちょっと高いよなー。
//クライアントだけで売ってくれないものか・・・。
0281教えて君02/03/13 22:24ID:???
>>279
ほんとだ。

http://www.php.gr.jp/php/php4/new_features.php3

にも書いてアターヨ。スマソ。
028226602/03/13 23:53ID:???
>>280
めっちゃ混同してました(;´Д`)
他のやり方考えてみます。。
0283nobodyさん02/03/14 02:19ID:80hRLeB+
トランザクション中にコミットせずにプログラム終了させてんだけどこれってヤバイ?
0284nobodyさん02/03/14 02:21ID:80hRLeB+
あ、DBはPostgresで。
教えて君でスマソ
0285名無しさん02/03/14 02:27ID:???
データベースの勉強したら?
028628302/03/14 09:31ID:n8zcTGGh
コミットせずに終了させてるのはエラーが出たときだけでした。
通常はコミットしてます。スマソ。

ようするにエラーでたときにコミットせずに exit してるって事です。
0287 02/03/14 09:46ID:???
データベースの勉強したら?
0288nobodyさん02/03/14 14:37ID:7AlJ59cB
rollbackしたら?
028928302/03/14 16:53ID:n8zcTGGh
>>288
実際にはデータチェック → データ登録の
データチェックの部分でエラー出してるんで
ロールバック必要ないかな?と思ったりしてるんですが、やっぱり必要ですか?
0290nobodyさん02/03/14 16:55ID:5LxluOYT
http://www.2xes.com/
0291ななし02/03/14 18:15ID:???
http://www2q.biglobe.ne.jp/~terra/cgi/suntack.htm

3択クイズってやっぱりこれがいい?
0292nobodyさん02/03/14 18:32ID:???
>>289
やはり「データベースの勉強」は必要かも。
何のためにトランザクション使っているのか分かってないでしょ。

仮に今のそのシステムでトランザクションなしにして、不都合ある?

029328302/03/14 18:43ID:n8zcTGGh
例えばさ

トランザクション開始

フラグチェック

データ更新

トランザクションコミット

って、やる所を

トランザクション開始

フラグチェック

エラー

exit

って、なんだけどコミット(ロールバック)は要るか?って事で
insert 文や update 文は発行してないから無くてもイイかな?って思うんだけどやっぱダメ?
029428302/03/14 18:47ID:n8zcTGGh
>>292
データチェックって入力されたデータのチェックでなくて
DBに格納されてるデータのチェックね。フラグとか
0295教えて君02/03/14 21:48ID:???
そろそろみんなの言うこと聞きなよ。
みんな出直してこい、ってんじゃん。
0296 02/03/14 23:42ID:???
>>283
なんでそんなことで悩んでるんだ?
他にもっと重要なことがあるだろ。
不安ならrollbackすればいいだろ。

自分で考えられないなら、向いてないから辞めちまえ。
0297nobodyさん02/03/15 04:28ID:sSRdthig
phpファイル内でSSIを動かす方法ってありますか?
0298 02/03/15 04:52ID:???
>>297
echo 'ls';
とかじゃダメ?
0299nobodyさん02/03/15 10:17ID:???
php4.1.0使ってるんですが、
例えばクエリー文字列を取得する場合に
$QUERY_STRINGだけではダメなんですか?
$_SERVER["QUERY_STRING"]とすると大丈夫ですが。
マニュアルの注意書きにある、コマンドラインからでないと使えない変数ってやつ??
0300教えて君02/03/15 11:22ID:jXzuFDrg
PDF扱うことになったんですけど、
ClipPDF と libpdf ってどちらがオススメですか?
OS は FreeBSD4,5R、PHP は 4.1.2 です。
0301nobodyさん02/03/15 16:50ID:zj9b84BU
PHPに文字を何倍かにする演算子ってありますか?
Perlだったら
$stars = '☆' x 4;
ってやれば"☆☆☆☆"って出来たのですが
PHPだとうまくいきません。
■ このスレッドは過去ログ倉庫に格納されています