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

【PHP】下らねぇ質問はここに書き込みやがれpart15

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2006/01/14(土) 20:06:11ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは流れを見て970/980/990の誰かが建てれ

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/

過去スレは>>2
FAQは>>3
0002nobodyさん2006/01/14(土) 20:06:45ID:???
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
0003nobodyさん2006/01/14(土) 20:07:03ID:???
・FAQ
1. "$hoge[0]" と書くとエラーが出るよママン
 →"〜"の中で添え字([〜])やメンバ変数参照(->)みたいなのは直接書けないので"{$hoge[0]}"と{}でククレ

2. あっちのサーバーでは普通に動くのにこっちのサーバーではエラーになるよママン
 →PHPはコンパイルオプションやphp.iniの設定で動きが全然違うので管理してる香具師に確認汁!
0004nobodyさん2006/01/14(土) 20:27:37ID:ILCMT976
正規表現について質問です。


$uri = $_POST['uri'];
$file = fopen("log.dat","r");
while($row = fgets($file,1024)){
    if(eregi("($uri)[a-z0-9./_\-]+",$row,$data)){
        print("$data[0]");
    }
}
fclose($file);

これで「htt?://hoge.com/」を正規表現で検索したいのですが
「htt?://hoge.com/」を「http:/hoge.com」(未尾のスラッシュを取る)にしないと
結果を表示してくれません。
これは何故でしょうか?
000542006/01/14(土) 20:32:21ID:ILCMT976
スマソ訂正:

これで「htt?://hoge.com/」を正規表現で検索したいのですが
「htt?://hoge.com/」を「htt?://hoge.com」(未尾のスラッシュを取る)にしないと
000642006/01/14(土) 20:33:11ID:ILCMT976
スマソまた訂正:

これで「http://hoge.com/」を正規表現で検索したいのですが
http://hoge.com/」を「http://hoge.com」(未尾のスラッシュを取る)にしないと
0007nobodyさん2006/01/14(土) 20:35:57ID:???
>>6
つか正規表現以外のものにもかなりマッチするけど、それはいいの?
0008nobodyさん2006/01/14(土) 20:36:29ID:???
>>4
if(eregi("($uri)[a-z0-9./_\-]+",$row,$data)){
ってのを
if(eregi("($uri)[a-z0-9./_\-]*",$row,$data)){
にしたら動かん?
000972006/01/14(土) 20:38:16ID:???
すまん。「URL 以外のもの」だった。
0010nobodyさん2006/01/14(土) 20:56:59ID:PuQcgqqK
>>4
例に使うドメインはexample.comな。それ以外は実在する可能性があるから適当でない。
0011nobodyさん2006/01/14(土) 21:09:17ID:???
別にどうでもいいだろ。トリビア披露なんざ他所でやれ
001242006/01/14(土) 21:13:19ID:ILCMT976
>>8
できました!ありがとうございます。

>>9
全然OKです。

>>10
そうだったのですか…気をつけます。
0013nobodyさん2006/01/14(土) 21:24:52ID:???
>>11
トリビアでもなんでもない
普通に守るべきルール
0014nobodyさん2006/01/14(土) 21:32:08ID:???
>>13
何が「普通」で、何故「守るべき」なのかが不明だな。
意図が伝わっている以上、どうでもいいこと。
0015nobodyさん2006/01/14(土) 21:40:32ID:???
>>14
RFC
0016nobodyさん2006/01/14(土) 21:46:22ID:???
あー。次のスレではそれもFAQに入れときますかね。 >example.com
0017nobodyさん2006/01/14(土) 21:59:52ID:???
このスレ雑談がメインなのにFAQなんかいらなくね?
0018nobodyさん2006/01/14(土) 22:12:01ID:???
>>17
あって困りはしないから、別にいいんじゃね?
0019nobodyさん2006/01/14(土) 22:13:38ID:???
>>3
> 1. "$hoge[0]" と書くとエラーが出るよママン
>  →"〜"の中で添え字([〜])やメンバ変数参照(->)みたいなのは直接書けないので"{$hoge[0]}"と{}でククレ

エラーが出ないよママン

> 2. あっちのサーバーでは普通に動くのにこっちのサーバーではエラーになるよママン
> →PHPはコンパイルオプションやphp.iniの設定で動きが全然違うので管理してる香具師に確認汁!

こんな質問フリークエントリーアスクトじゃないよママン
0020nobodyさん2006/01/14(土) 22:30:26ID:???
どー見ても冗談で書いてるFAQだよな。あれ。
0021nobodyさん2006/01/14(土) 22:39:50ID:???
FAQはネタのつもりかもしれんが、普通にまぎわらしいし。
>>1の中にアンカーまでついてるし。
つーかそれよりも最近の釣りと自演をどうにかする方策でも立ててほしいもんだ。
見え見えすぎてうざげ。
どーでもいーっちゃどーでもいーけど。
0022nobodyさん2006/01/14(土) 22:54:16ID:???
どーせ真面目にFAQ書いたところで質問する前に読むやついないしな
0023nobodyさん2006/01/14(土) 23:00:33ID:???
FAQ のこれ読めって言えればこっちが楽だし、あったらいいと思うけどな
0024nobodyさん2006/01/14(土) 23:05:33ID:???
まあ本スレのほうはFAQにある質問の重複が減ったようだからいいけど。
過去スレあさるとよくわかる。
0025nobodyさん2006/01/15(日) 04:27:41ID:???
FAQ充実させよう。まとめWikiとか作ろうぜイエイイエイ
0026nobodyさん2006/01/15(日) 04:28:30ID:???
あ、俺はやだかんね
0027nobodyさん2006/01/15(日) 05:14:47ID:???
すみません、ご教授ください。
あるデータからXMLファイル(UTF-8)を作成するスクリプト作ったのですが、
そのXMLファイルを使うソフトがBOM(EFBBEF)つきのUTF-8ファイルしか読んでくれません。
ファイルの先頭部分にBOMを付加したい場合、どのような処理を施せばよいのでしょうか?
スクリプト自体はSJISで書いています。

$filename = "./BlandList.xml";
$fp = @fopen($filename, "wb") or die("Error");
fwrite($fp, "EFBBEF");
fclose($fp);

って書いたら先頭にEFBBEFの文字列が追加されただけでした…当然か
0028272006/01/15(日) 05:17:20ID:???
上記のスクリプトの後に本来の目的であるデータを書き込んで、終了する処理をしてます
書き忘れすみません。
0029nobodyさん2006/01/15(日) 07:12:23ID:???
>>27
fwrite($fp, pack('C*',0xEF,0xBB,0xEF));
0030292006/01/15(日) 07:18:08ID:???
つか、Notepadで保存して見てみたけど
EFBBBFだったぞ<BOM
0031nobodyさん2006/01/15(日) 11:37:52ID:nt4rtanc
PHPで文字コードとMIMEを設定するには、
AddType "text/html; charset=Shift_JIS" .php
でいいの?
0032nobodyさん2006/01/15(日) 11:43:57ID:???
ぐぐった?
0033nobodyさん2006/01/15(日) 11:45:37ID:nt4rtanc
>>32
ぐぐりました。
そうしたら、
AddType application/x-httpd-php .php
もでてきたんですが、これでは、文字コードは指定できません。
どのようにすればいいでしょうか?

phpをshift_jisで認識するようにサーバで設定したいのです。
0034272006/01/15(日) 12:58:55ID:???
>>29-30
BOMはEFBBBFでした、書き間違えすみません。無事に出来ました。

$filename = "./BlandList.xml";
$fp = @fopen($filename, "w") or die("Error");
fwrite($fp, pack('C*',0xEF,0xBB,0xBF));//BOM書き込み
fwrite($fp, $sdadata);//データ書き込み
fclose($fp);

ファイルをバイナリモードで開く必要はなかったんですね。
pack関数、初めて知りました…まだよく理解はできてないんですが
とにかく助かりました、ありがとうございました。
0035nobodyさん2006/01/15(日) 13:58:23ID:???
>>34
>ファイルをバイナリモードで開く必要はなかったんですね。

最近のバージョンのPHPは、バイナリーモードがデフォだから付けなくても構わない。
ただ、どのようなバージョンで使われるか判らないコードを書く場合は、
Windowsの場合には確実にバイナリモードになるように、'b'を付けといた方が
余計なテキストモードとして扱われて変な目にあわずに済む。
0036nobodyさん2006/01/15(日) 16:16:50ID:???
>>25
まず、お前がFAQの草案作れ。
話しはそれからだ。
0037nobodyさん2006/01/15(日) 17:03:44ID:???
広告付きで良いならwikiを作っても良いよ。
xreaとか@wikiとかから適当に選べば良いんだし。
0038272006/01/15(日) 17:04:28ID:???
>>35
なるほど、そういうことなんですね。アドバイスありがとうございます。

もう一点質問させてください。
データベースを書き換えるPHPスクリプトを毎日〜時に動作させたい場合、
どのような方法が挙げられるでしょうか?
これまではDNS更新ソフトDiCEを使って、サーバー(レンタル鯖)上のphpファイルをブラウザで開く動作を
指定時間に実行させるという強引な方法でやってきたのですが、
これだと常時PCを起動しておかなくてはいけないし…
CRONだとphpを実行できないらしいですし…

PHP自体の質問でなくて申し訳ないのですが、ご助言お願いします。
0039nobodyさん2006/01/15(日) 17:09:31ID:???
>>37
広告なしで作れたほうがよさげ

作ってます、しばしお待ちを。予定地↓
http://wiki.2chx.net/php/
0040nobodyさん2006/01/15(日) 17:11:32ID:???
>>38さん
私は、CRONで、wgetでやってます。
0041nobodyさん2006/01/15(日) 17:13:51ID:???
39はドラえもんだったのか。
と、リンク先を見て思った今日この頃。
0042nobodyさん2006/01/15(日) 17:18:27ID:???
>>38
cronからcli版のphpを起動できるよ。(他にmodule版やらcgi版がある)
更にcronからテキストブラウザを使えば、web鯖経由で起動できるし。
0043nobodyさん2006/01/15(日) 17:19:12ID:???
>>38
> CRONだとphpを実行できないらしいですし…
これはWebページとしてのPHPの話だよな?
普通に、バッチ処理として動くCLIのDB更新PHPスクリプトを書いて
それをcronで呼び出せば済む話だと思うぞ。
0044掃除屋 ◆2ch..Ybe0Q 2006/01/15(日) 18:19:34ID:???
http://wiki.2chx.net/php/

PHPpedia (PHP FAQ集積所) 完成しました。
多少動作が重いかと思いますが、無広告ですのでご了承下さい。

まだ過去ログのFAQ漁っていません。
0045nobodyさん2006/01/15(日) 18:27:39ID:Q095YYYr
>>44
0046nobodyさん2006/01/15(日) 18:30:11ID:???
どういう構成にすっかね
0047 ◆dLhE9.4y/I 2006/01/15(日) 18:42:45ID:???
part11の423の内容追加しときます。
0048 ◆2ch..Ybe0Q 2006/01/15(日) 18:49:56ID:???
私は、簡単なFAQはメインページに書いて、
詳しい説明が要るものはページを新たに作ればいい、と考えてます。
0049 ◆dLhE9.4y/I 2006/01/15(日) 18:57:27ID:???
ざっと追加しときました。

関数名がでたらドキュメントへリンク張った方がいいかも。
0050272006/01/15(日) 19:14:02ID:???
>>40,42-43
example.phpがデータベースを更新するスクリプトとしたら、
00 19 * * * /usr/local/bin/php /home/example.com/public_html/example.php
のような書き方でCRONに登録したらできたみたいです。
ご助言ありがとうございました。
0051382006/01/15(日) 19:15:13ID:???
27=38です、見にくくなってすみません。
0052nobodyさん2006/01/15(日) 21:13:41ID:???
>>50
そんだけの話かよorz
その場合、できれば > /dev/null って末尾に付けた方がいいぞ。
まー、誰もrootのメールなんて見てないのかもしらんけど。
0053nobodyさん2006/01/15(日) 21:32:31ID:???
>>33
php.iniの以下の項目を設定する。
default_mimetype = "text/html"
default_charset = "Shift_JIS"

以下もやっておいた方がいいかな。
mbstring.language = Japanese
mbstring.internal_encoding = SJIS
mbstring.http_output = SJIS
mbstring.encoding_translation = On

php.iniがいじれない場合は、Apache側(httpd.confかhtaccess)で以下の書式で設定。
php_value 項目 値
0054nobodyさん2006/01/16(月) 00:47:10ID:???
株価分析みたいなサイトを作れないか、と検討してるんですが、
過去の全銘柄の日々の株価を全部掲載してるサイトってないでしょうか。
図書館行けばありますか?
また、日々の最新株価を汎用フォーマット(RSSとかCSVとか)で配布している
サイトってないでしょうか。

楽天のRSS取得ソフトというのは調べて見つけましたが、生のデータがほしい。
0055nobodyさん2006/01/16(月) 00:48:24ID:???
あれ、汎用質問スレかと思ったらPHP専門だった・・。
せっかくなので知ってる人いましたら教えてください。
0056nobodyさん2006/01/16(月) 00:58:29ID:???
知らない
0057nobodyさん2006/01/16(月) 01:24:19ID:???
>>54
そんなデータが抜け目なく揃っていたら商品として十分な価値があるので、
フリーでは転がっていないと考えるのが懸命。
証券会社とかが提供しているトレーディングツールの意味がなくなるし。
0058nobodyさん2006/01/16(月) 01:51:02ID:???
すんません、メールアドレスのチェックをしたいんですが
ereg("^[a-zA-Z0-9_\.\-]+@(([a-zA-Z0-9_\-\.]+\.)[a-zA-Z0-9]+$)",$mail)
の場合

XXX@XX.ne.jpみたいに.が二つある場合はtrueなんですが
XXX@XX.comのような.がひとつしかない場合はfalseを返してしまいます。
ともにtureを返したいのですがどうすればいいでしょうか?
0059nobodyさん2006/01/16(月) 02:00:00ID:???
>>58
正規表現道場@2ch Part4
http://pc8.2ch.net/test/read.cgi/php/1105930285/
0060nobodyさん2006/01/16(月) 02:12:02ID:???
>>57
株価自体に著作権はないし、どっかに落ちてるかと思ったんですけどね。図書館行ってみます。

>>58
^[a-zA-Z0-9_\.\-]+@(([a-zA-Z0-9_\-]+)\.([a-zA-Z0-9_\-]+)(\.[a-zA-Z0-9]+)?)$
括弧は本当に必要?おれPerlだからまちがってたらごめんね。
0061nobodyさん2006/01/16(月) 02:22:19ID:???
>>60
とことんスレ違いなやつだな
0062nobodyさん2006/01/16(月) 02:40:12ID:???
>>54
天気とか株価とか為替とか、あの手の情報をネットで提供してる会社は多いよ。
勿論"有償"だが。
0063nobodyさん2006/01/16(月) 02:50:27ID:???
>>60
著作権の問題じゃなく、それだけの情報を保持するだけの
労力とサーバー維持費は並大抵のものじゃないから
無償でそんなの作れると考えるのは浅はかだろう。
ま、頑張って図書館の新聞でも漁ってください。
0064382006/01/16(月) 02:58:36ID:???
>>54
ttp://www.mujinzou.jp/
無尽蔵じゃだめですか?10年前くらいまでならあるかと。
ttp://homepage2.nifty.com/portal/link/data.htm
のリンク集も参考に…
ってこれくらいはぐぐった上で足りないから質問してるんだろうなぁ…

似たようなことをしようとしている人がいて面白かったのでレスしてみました。

>>52
rootのメール…?/dev/null って末尾につける意味がわからないです、すみません
サーバーのコマンドの類は勉強不足でよくわからないんです…
何か良書とか最低限のことをつかめる学習法ってありますかね?
自鯖は練習でfedoracore3たててみたことはあるんですが、書籍の設定通り以上の理解ができてない…
0065nobodyさん2006/01/16(月) 03:08:11ID:???
Header()のLocationでページ遷移した後に、
あらかじめ設定しておいたメッセージを表示するには、
どういった方法がよいでしょうか?
セッションは使いません。
0066nobodyさん2006/01/16(月) 03:14:25ID:???
>>38
ごめんなさい。探し方が悪かっただけでした。丁度、ご紹介のリンク集に自力で行き着いたところでした。
投資ブームですからね。なんか面白いことできないかなあ、と。市況情報のカレンダーをiCalendarで配信とか。

>>62
実は天気予報は有償配信を受けたことがあります。
予報は予報士の専売特許(法にふれる)なので有償は当然ですね。月々相場10万以下でFTP配信でした。
過去のデータは無償配布してるところもあるかもだけど、
どちらにしても膨大なデータなので無償配布は物好きですね。

すれ違い、すみません。株式板とPerlスレに戻ります。
0067nobodyさん2006/01/16(月) 04:03:37ID:???
>>65
Location先のURLにGETで値を渡す。
0068nobodyさん2006/01/16(月) 04:09:53ID:???
>>67
任意の日本語メッセージ文を設定したいんですけど、
それをURLエンコードしてもGETで送りたくないし、
それって、実際の処理結果と一致するとは限らないことになるので、
そういう不完全な方法は取りたくなく・・・。
0069nobodyさん2006/01/16(月) 04:31:31ID:???
どうせあれだろ。

form.php → exec.phpとかで投げて、
項目にエラーがあればexec.phpで表示、
大丈夫なら処理して、form.phpにLocationで戻すってやってて、
クライアントから「完了したら完了したメッセージを出してくれ」とか来たオチっぽいな。
0070nobodyさん2006/01/16(月) 06:11:10ID:???
>>68
そういう条件があるなら最初か(cy
ならGETでユニークIDを渡して、そのIDに従った処理を
受け側のスクリプトでさせれば?

クッキーを使用しないSESSIONと同じ事だけど。独自SESSION。
前段にLBとか入れてhttpdを分散させてる場合はSESSIONと同様に、
IDと情報の結び付けを共有する仕組みがないと駄目だけどね。
0071nobodyさん2006/01/16(月) 08:13:40ID:N8Tn4EdB
あるページを同時に参照した時に
2人目以降の画面では内容を変更できないように読み取り参照みたいな形で
開きたいのですがこういうことってPHPでできるのでしょうか?
それともwebサーバの機能になってくるのでしょうか?
0072nobodyさん2006/01/16(月) 08:33:40ID:???
>>65
Location先が同じホストだったらincludeかrequireでつなげた方が
0073nobodyさん2006/01/16(月) 10:24:54ID:???
>>64
cronで実行したプログラムが標準出力に何か出力してると
それがそのサーバーのrootアカウントにいちいちメールで通知されてる。
実行ログやエラー情報ならともかくHTML出力なんて記録しても意味ないだろうから
cronの実行プログラム末尾に > /dev/null をつけて出力を出さないのが常道。
0074nobodyさん2006/01/16(月) 10:28:57ID:???
>>71
JavaScript(かそれに類するクライアントスクリプト)+PHPでできんじゃないの?
そのページの表示中はバックグラウンドで一定間隔でサーバーに接続中であることをリクエストし続けて、
そのリクエストが入ってる間にページ表示のリクエストがあった場合は読み取り専用の表示を返す、とか。
Ajaxとかで似たようなことはやってんじゃないでしょうか。
0075nobodyさん2006/01/16(月) 10:40:38ID:???
>>71
ページを読み取り参照ってどういうことだ?
Wiki かなんか作ろうとしてるの?
0076nobodyさん2006/01/16(月) 11:21:32ID:???
>>75
単にフォームの更新ボタンを表示させないとかそんな程度の話なんじゃねーの?
0077nobodyさん2006/01/16(月) 11:30:36ID:???
同時参照で2人目以降っつーのもよく分からず
例えばどれだけ時間の間隔が開いてたら2人目以降も「読み込み参照」
じゃなくてもよいのか?

あと、同時にリロードしたら今度はその「読み込み参照」が
別の人に回る可能性もあるんだけどそれでもいいのか?
(たぶんダメだろう)
0078nobodyさん2006/01/16(月) 11:42:40ID:cEjGfkGL
フォームで入力してホームページの一部分を更新したいと思っています。
PHPを使えばできますか?
0079nobodyさん2006/01/16(月) 11:50:59ID:???
>>78
釣りなのか…?
BBS、blog、CMSなどがまさにそれ。
0080nobodyさん2006/01/16(月) 11:53:22ID:???
>>78
PHPだけでやるなら>>77みたいに、一定時間が経過するorフォームからのリクエストを受けるまで、他からの更新をさせなければ良い。
”編集には入ったけど更新せずにブラウザを閉じた”みたいな時に早く次の人に順番を回したければ>>74みたいな事が必要。
0081nobodyさん2006/01/16(月) 12:05:16ID:cEjGfkGL
>>79 80
PHPで、できることがわかりました。
ありがとうございます。

PHP初心者でもプログラムできるものでしょうか?
参考になるURLや書籍などがありましたら
教えてください。よろしくお願いいたします。
0082nobodyさん2006/01/16(月) 12:12:35ID:???
>>80>>81
80は78に対する回答じゃないだろーw
0083792006/01/16(月) 12:23:29ID:???
>>81
誰でも最初は初心者なので、できるといえばできる。
ただし、それなりに長いプログラムを書くことになるので、いきなりできるわけではない。

やりたいことが伝わってこないので何とも言えないけど…。
新規に作る必要があるのかどうか検討すべき。
やりたいことがすでに公開されているツールでできるなら、そちらを利用した方が手っ取り早い。
wiki、blog、CMSといったキーワードでググってみるがよろし。
0084nobodyさん2006/01/16(月) 12:31:42ID:PmlJdI8i
質問です。
php4.4.2が出たのですが、php4.4.1であったmb_send_mailで件名が文字化けするというバグは修正されたのでしょうか?

よろしくお願いします。
0085nobodyさん2006/01/16(月) 12:47:42ID:???
>>84
直ったよ。
changelog読め。日本語訳も公開されてる
0086nobodyさん2006/01/16(月) 12:56:13ID:PmlJdI8i
>>85
ありがとうございます。
助かります。

http://eth.jp/hiki.cgi?PHP-Changes-4.4.2

上記は見たのですが、mb_send_mailで検索すると以下しかなかったので不安でした。

#34830のバグ修正 (mb_send_mailの第五引数が機能していない). (Rui)

0087nobodyさん2006/01/16(月) 13:07:00ID:???
>>86
#33720のバグ修正 (mb_encode_mimeheader がマルチバイト文字に対して機能しない). (Rui)
0088nobodyさん2006/01/16(月) 13:20:01ID:???
>>87
ありがとうございます。
なるほど、件名はmimeheaderなんですね。
0089nobodyさん2006/01/16(月) 13:26:34ID:BuN0Lcur
phpunit 0.5を使ってテストをやろうと思い、
インストール後
PHPUnit Cookbook
http://sourceforge.net/projects/phpunitcookbook/
のサンプルコードを使ってテストしたところ
ブラウザには何の表示もされず、テスト結果が表示されません。
(htmlソースも表示されません)
エラー表示もないので原因がつかみにくいのが現状です。
原因がおわかりの方、ご教示お願いいたします。

開発環境
OS:windows2000
PHP:5.1.1
phpunit: ver 0.5
Apache: 1.3.33
0090712006/01/16(月) 13:27:37ID:???
>>72-77
みなさんすいません、意味がわかりにくかったですね。
えと、あるwebシステムを作っているのですが
一人目Aさんが最初に開いた場合はその人ではフォーム画面(編集可)を表示させ、
Aさんがそのシステム内のページを見ている時は別のBさんが開くと編集不可のページ内容を
出力したいのです。出力するデータはみんな同じです。
Aさんが閉じた後はBさんがリロードもしくはCさんが開けばまた編集できる画面を表示させたいのです。
編集不可のページはreadonlyの形でもいいし普通にべたで出力してもかまいません。

こんなことする理由は複数の人がページを開いておりおのおので変更を加えた場合に整合性がとれなくなると
言うことなんです。

こんな感じでわかりますでしょうか?? ややこしくてすいません。
0091nobodyさん2006/01/16(月) 13:40:40ID:???
>>90
Aさんが閉じた「直後」には他の人が編集可能なようにするなら、
JavaScriptなりFlashなりJavaAppletなりを介在させないと難しいと思う。
楽に実装するなら、Aさんが開いてから1時間はその人しか更新できない、
という時間制限方式にする方法かな。
0092nobodyさん2006/01/16(月) 13:48:38ID:???
>>88
件名がmimeheaderっていうとちょっと違う。
その辺は、メールのheaderがどういう構成になるのかを勉強してくれ。
この辺も参考に。
http://d.hatena.ne.jp/t_komura/20051105#1131202088
0093nobodyさん2006/01/16(月) 13:49:16ID:???
>>89
エラーを表示するようにする
0094nobodyさん2006/01/16(月) 13:56:09ID:???
>>93
php.ini で
display_errors = On にしているんですがエラーが表示されません。
他のスクリプトで文法ミスなどやらかした場合はエラーが表示されます。
0095nobodyさん2006/01/16(月) 14:15:35ID:???
>>94
error_reporting(E_ALL);
0096nobodyさん2006/01/16(月) 14:16:39ID:???
A さんに編集の意思がなく閲覧している場合も B さんは編集できなく
なるわけだけど、そんな使いにくいものでもいいの?

つかそういうのは更新の処理によって変わるもんだしなぁ。
閲覧用にページを出力する段階で切り替えるもんではないと思うが。
0097nobodyさん2006/01/16(月) 14:17:28ID:???
>>94
単に PHPUnit の書き方を間違ってるだけと思われます
0098nobodyさん2006/01/16(月) 14:26:05ID:???
>>95
何も表示されませんでした。

>>97
やはりそうなんでしょうか。
サンプルコードをそのまま使ったのがまずかったのかもしれません…。
0099902006/01/16(月) 14:29:27ID:???
>>96
そんなものでいいです。
他にいい案とかあれば教えてほしいですけど。
とりあえずは上に書いたように変更処理さえ問題なければ^^;
0100nobodyさん2006/01/16(月) 14:40:20ID:???
>>98
そもそも謎なのが、PHPUnit 0.5 なわけだが。
PHPUnit の stable は 1.3.2, PHPUnit2 で 2.3.4 なわけで
いったい何使っての?
0101nobodyさん2006/01/16(月) 14:46:37ID:???
>>100
すみません。ここのphpunit使ってました。
http://sourceforge.net/project/showfiles.php?group_id=10610

かなり古かったんですね…。
0102nobodyさん2006/01/16(月) 15:28:36ID:???
>>96
目的は「編集不可のページを表示すること」って書いてるんだから
その内容は「現在、他のユーザが編集中です」ってメッセージでもいいんだろうさ。
0103nobodyさん2006/01/16(月) 16:07:33ID:???
>>90
その手法だとAさんが作業終了したことをどサーバ側にしらせる手法が必要になる。
それが先に上がっているJavaScriptなんかだったりするわけだ。
さもなくば単純にAさんの読み込みからN分間他者に編集権を与えないようにするか。

ただ、整合性を保つという目的を果たすだけなら
1.編集前のバージョンとユーザを結びつける
2.編集画面を出力
3.ユーザが編集・更新ボタン押下
4.ユーザに結び付けられた編集前のバージョンと保存されているバージョンを比較し
  同一なら保存・バージョンを繰り上げる さもなくば破棄

簡単にするためにバージョン情報としてタイムスタンプを使うのが簡単かな。バージョンナンバー振ってもいいけど。
0104nobodyさん2006/01/16(月) 16:13:54ID:???
編集画面開いてた人が必ず「編集完了ボタン」をクリックすること、
って縛りを入れちゃうのも手かもな。
それが通知されたら以降の最初の人が編集画面を開けるようになる、と。
0105nobodyさん2006/01/16(月) 16:50:19ID:???
>>104
それが出来れば苦労はない
ブラウザ開きっぱなしで寝るやつやボタンを押さないでブラウザを閉じるやつが続出するから困るんだ。
0106nobodyさん2006/01/16(月) 16:59:33ID:???
>>105
セッションで管理すればいいんじゃないの?
0107nobodyさん2006/01/16(月) 17:27:33ID:???
つまり 90 は実現が面倒なうえに使いにくいシステムを作ろうとしてるってこった
0108nobodyさん2006/01/16(月) 18:57:35ID:???
使いにくさとかに関しては、閲覧画面と編集画面分ければいいだけだから、あんまり関係ないのでは?
やっぱ、Aのブラウザが編集中であることをJavaScriptのHTTPアクセスで一定時間毎に伝えるってのが、現実的な話かな。
0109nobodyさん2006/01/16(月) 18:58:21ID:???
includeがうまく働いてくれません。エラーが出てしまいます。
セーフモードだからでしょうか?
0110nobodyさん2006/01/16(月) 19:20:35ID:???
>>109
セーフモードは関係ない。
とりあえずエラー出してもらわんとわからんよ。
考えられる原因としたら、include文がおかしかったのか、
includeするファイルの中身がおかしかったのか、
まぁもう少し確認してみれ。
0111nobodyさん2006/01/16(月) 19:23:34ID:???
>>108
元の話を無視していいならそりゃ使いやすさと関係ないわな
0112nobodyさん2006/01/16(月) 19:28:44ID:???
>>111
なるほど>>90を読み返したらそうだな。
ダメwebページだ。
0113abebo2006/01/16(月) 19:32:32ID:Oa1MF5mS
マイポップってどうやって消すか知りませんか?
0114nobodyさん2006/01/16(月) 19:37:18ID:???
なんだそれ?
0115abebo2006/01/16(月) 19:39:14ID:Oa1MF5mS
右下に小さい画面で勝手に出てくるやつです。
スパイウェアみたいなやつに引っかかってから、どうやっても消えないのです。
0116nobodyさん2006/01/16(月) 19:40:06ID:cEDpmcYp

○。・。○。・。○。・。○。・。○。・。○。・。○。・。○。・。○
このレスをみたあなたは・・・3日から7日に
ラッキーなことが起きるでしょう。片思いの人と両思いになったり
成績や順位が上ったりetc...でもこのレスをコピペして別々のスレに
5個貼り付けてください。貼り付けなかったら今あなたが1番起きて
ほしくないことが起きてしまうでしょう。
コピペするかしないかはあなた次第...
○。・。○。・。○。・。○。・。○。・。○。・。○。・。○。・。○
0117nobodyさん2006/01/16(月) 21:40:51ID:???
今一番起きてほしくないこと?
>>116の再降臨だな。
0118nobodyさん2006/01/16(月) 21:43:43ID:???
そいつは困るな
0119nobodyさん2006/01/16(月) 23:22:00ID:???
ネットワークカメラの画像を数秒置きに継続的に保存したいんですが
PHPだとブラウザから読みに行ったタイミングでしか保存できません・・よね?
ブラウザつけっ放しとか非現実的過ぎるし、となるとVB.NET使う方法がいいんでしょうか?

VBやPHPで出来れば嬉しいんですが・・・まだ勉強中なので出来るかどうかも判断つきませんorz
ヒントだけでの一つよろしくお願いします
0120nobodyさん2006/01/16(月) 23:36:24ID:???
while(1) {
 save_camera_pic_to_disc();
 sleep(60);
}
0121382006/01/16(月) 23:45:37ID:???
>>73
わかりやすい説明ありがとうございます。
rootにメールが行ってるってことは、レンタルサーバーで複数ユーザーで共有している場合だと、
その共有サーバーの管理者(管理会社)にいちいちメールが行っていると言うことですね。
なるほど、それは無意味で迷惑でしょうから > /dev/null つけます。
0122nobodyさん2006/01/17(火) 00:09:04ID:???
\をpostで送ってechoで表示したら\\になってたんですが、
これはどういうエンコード処理でしょうか?元に戻す方法教えてくださいませ
0123nobodyさん2006/01/17(火) 01:02:38ID:???
>>122
magic_quote_gpc
0124nobodyさん2006/01/17(火) 01:34:22ID:???
>>119
つ[タスクスケジューラ]

VBやVB.NETの話をしたければ別のスレ
PHPでやるならマニュアル良く読め(php-cliのところ)
01251222006/01/17(火) 04:22:15ID:???
magic_quotes_gpcをoffにしてphpinfo()でも確かにoffになってる
こと確認したけど、同じ状態ですorz
0126nobodyさん2006/01/17(火) 09:24:18ID:???
>>125
stripslashes
0127nobodyさん2006/01/17(火) 11:22:28ID:???
<?include 'count.php';?>これでは問題なく使えるのですが、
<?include 'count.php?today';?>などとすると
Warning: main(/home/***/public_html/php/count.php?today): failed to open stream: No such file or directory in /home/***/public_html/index.php on line 170
とエラーが出てしまいます。
なぜでしょうか?
0128nobodyさん2006/01/17(火) 11:38:58ID:???
>>127
count.php?today ってファイルがないから
0129nobodyさん2006/01/17(火) 11:42:51ID:???
その名前のファイルは、そこにはないから。
0130nobodyさん2006/01/17(火) 11:46:51ID:???
最近、XREA+借りたら無条件でPHP5でした。
今までPHP4サバ使ってたのでとりあえずそのままアップしてみてたら
ことごとく全部表示すら出来なかった・・・。

そして調べてみるとob_start("ob_gzhandler"); をコメントアウトすると
表示できた。

という事はPHP5でgzip圧縮は駄目になったんでしょうか?
0131nobodyさん2006/01/17(火) 12:02:30ID:???
include/requireはphpスクリプトを実行するコマンドではない。
単に取り込むだけ。
実行したければfile()を使う。おそらく>>127が期待している動作は得られないけど。
0132nobodyさん2006/01/17(火) 12:04:24ID:???
>>130
http://jp.php.net/manual/ja/function.ob-gzhandler.php

使えるようだが。エンコードが違うとかじゃない?
0133nobodyさん2006/01/17(火) 12:08:37ID:???
>>130
XREAの広告の影響
XREAの昔のサーバはPHP4だが同じく使えない
0134nobodyさん2006/01/17(火) 12:23:06ID:???
>>132>>133
なるほど・・では試用期間中では使えないのですねぇ。
ではPHP5サーバでも問題ないかな・・・

よく「●●のスクリプトはPHP5じゃ動かなかった」という報告を
目にしますが、そんなに違うものなのでしょうか?
01351272006/01/17(火) 13:10:58ID:???
>>128
count.phpはあるんですよ・・・
>>131
え。。そうなんですか・・
ってことは複数のファイルに分けてやらないと駄目って事ですか?
× count.php?today count.php?all
○ count-today.php count-all.php
ってことですよね?
0136nobodyさん2006/01/17(火) 13:27:40ID:???
>>135
そういうこと。
0137nobodyさん2006/01/17(火) 13:41:05ID:???
>>134
http://www.php.net/manual/ja/migration5.php

変更点は結構細かいものばかりだけど、
それでも動かないものは全く動かなくなるのがコンピューター。
0138nobodyさん2006/01/17(火) 13:43:21ID:???
>>135
include() 以外の方法を考えるのが正解
01391272006/01/17(火) 13:54:46ID:eeDcDeq6
>>138
え、なんかありますか?
実はコピーライト的なものを各ページに挿入したいんですよ。
その内容が頻繁にかわるのでこの方法しかないかなぁと。。。。
jsは使いたくないんです。
0140nobodyさん2006/01/17(火) 14:07:38ID:???
>>139
だったら ?today って何よ。必要ないじゃん。
0141nobodyさん2006/01/17(火) 14:15:33ID:???
>>139
file()でいいんじゃないの??
0142nobodyさん2006/01/17(火) 14:45:11ID:???
>>135
http://wiki.2chx.net/php/
01431272006/01/17(火) 14:50:09ID:eeDcDeq6
>>140
今後ページによって表示する内容を変える事を考えているんでそのほうが楽かなと。。

>>141
なんかい表示されたかのカウントも行いたいので・・・
0144nobodyさん2006/01/17(火) 15:14:51ID:???
メソッドの戻り値で複数の値を返すようにしたいんですけど
配列とかにして返すしかないんでしょうか?
普通にreturn(値1,値2)ってやったらエラーでたので。
0145nobodyさん2006/01/17(火) 15:18:57ID:???
複数の値が必要な場合は配列で返すのが普通だと思うよ。
0146nobodyさん2006/01/17(火) 15:22:12ID:???
>>142
あー。
フラットにだらだら書く方式にしたんだ。
個人的にこれはやめたいなぁ。
分けたら見つけにくくなるかもしれないけど、それは検索を
使わせればいいんだし。あ、上部のメニューに検索窓ほしいね。

FreeBSD の Q&A みたいに Q と A のセットで1ページになってた方が
Google とかも頼りやすいし、いいと思うけど、どお?

あと、font-size は 100% を希望
0147nobodyさん2006/01/17(火) 15:32:24ID:???
>>145
ありがとうございました。
0148nobodyさん2006/01/17(火) 15:36:20ID:???
>>127
count.php には 関数を定義して、その関数を引数付きで呼びなされ。
include() 一発でやろうと思わず、include() して関数呼べばいいだけの話でしょ。
スーパーグローバル変数を使ってもできるけど、オススメしない。
0149nobodyさん2006/01/17(火) 15:37:21ID:???
>>147
list() で受け取るってんじゃダメなのかな?
0150nobodyさん2006/01/17(火) 15:43:04ID:???
>>149
返す側は配列。受け取る側は配列またはリスト。
今は返す側の記述方法の話をしている。
0151nobodyさん2006/01/17(火) 16:28:35ID:DhtK0Iv+
DBの勉強がてらアクセス解析を作っているんですが、どのようにログを取って行くのが一番スマートか解りません。
条件としては、表示させる時に日ごと、月ごとのトータル数を出したいと思っています。また、1日のアクセスは500件を想定しています。
あと、SQLiteで現在は作っていますが、最終的にはPDOを使って他のDBにも対応したく思っています。
ですので、1DBに1月として日ごとテーブルを作るのか、1日毎にDBとテーブルを作るのか、どっちがようのでしょうか。
それとも他にスマートな方法は有りますでしょうか。
条件や状況によって変わってくるとは思いますが、ご教授下さい。
0152nobodyさん2006/01/17(火) 16:29:41ID:???
>>127
$_SERVER['QUERY_STRING'] = "today";
include "count.php";
0153nobodyさん2006/01/17(火) 16:37:41ID:???
>>151
全てを1つのテーブルに入れる。
0154nobodyさん2006/01/17(火) 16:58:38ID:???
>>151
普通、データベースの構造を最適化すればテーブルとテーブルの列は増えない。
頼むからちゃんと正規化しろ。一応言っておくと >>153 は正解。
0155nobodyさん2006/01/17(火) 17:16:47ID:???
リーダー「いいよ、正規化なんて。ハードの性能がいいんだから」

そのままリリース。3ヶ月ぐらいする。パフォーマンスが悪くなる。

マネージャー「なんで正規化しておかねーんだよ、このカス」

クライアントからクレームがつく。

マネージャー「経緯を説明しろよ、このクズども」
オレ「正規化をしようとしたら、リーダーがー…」
マネージャー「それでもやるのが普通だろ、死ね」

速攻辞めました。今は靴屋のバイトやってます。こっちがずっとhappyです。
0156nobodyさん2006/01/17(火) 17:44:29ID:l0tWWV9j
痛い香具師発見
ttp://takagi-hiromitsu.jp/diary/20060114.html#p01
<?php
$var_str = "Hello World";
print(htmlspecialchars($var_str));
?>
HTMLを出力しているのだから当然にhtmlspecialchars()を入れる。
0157nobodyさん2006/01/17(火) 17:45:48ID:???
いつからここはヲチ板になったんだよ…
0158nobodyさん2006/01/17(火) 17:49:16ID:???
>>154
これって正規化の問題か?
テーブル内の古いデータを掃除しない、運用の仕様自体に問題があるんじゃないの?
0159nobodyさん2006/01/17(火) 17:49:35ID:???
>>156 自身が痛いのはどこでヲチればいいですか?
0160nobodyさん2006/01/17(火) 17:50:00ID:???
>>156
初心者が見ることを前提に
htmlspecialcharsの使用を習慣づけて貰う為の記述だろ。
彼は基本的にセキュリティ屋だし。
0161nobodyさん2006/01/17(火) 17:51:45ID:???
なんつーかさ、彼の書く内容って
間違ってはいないんだけど

好きになれないよね。もちっと別の言い方ってもんがあっぺよ。
とおもう
0162軟式PHP2006/01/17(火) 17:54:29ID:???
>>160
彼は世の中の間違ったSSL認識をクレーマーのごとく指摘するのが仕事さ。
俺がおすすめするセキュリティの本は「PHPサイバーテロの技法」。
0163nobodyさん2006/01/17(火) 18:00:21ID:???
>>161
文章にするときつくなる人だよね。
直接しゃべると非常に柔らかい人なんだが。

>>162
セキュリティー屋ってのは、そういうもんさw
0164nobodyさん2006/01/17(火) 18:01:14ID:???
>>161
まぁあの書き方では当事者や関係者が納得して非を認めるように
なるのは難しいね

単に読み物として読んでる分には面白いけど
0165nobodyさん2006/01/17(火) 18:07:02ID:???
>>158
テーブル内の古いデータを掃除しない、なんて >>151 のどこに書かれてるんだ?

>>156
一部現実味のない理想論なのは問題あると思うがまぁここではどうでもよい。
ヲチはヲチ板で。
0166nobodyさん2006/01/17(火) 18:08:12ID:???
完璧を作るか、動くものを作るか、という違い
0167nobodyさん2006/01/17(火) 18:15:13ID:DhtK0Iv+
>>153-154
え!?
では、ある程度肥大化したら別途保存するなり古い記事を削除するなりすると言う事ですか?
0168nobodyさん2006/01/17(火) 18:16:36ID:???
そうです
0169nobodyさん2006/01/17(火) 18:37:23ID:???
>>165
そういう理由もなしに日別に分けるなんて発想はふつーでねーし。
正規化しようとしまいとな。
0170nobodyさん2006/01/17(火) 19:16:43ID:DhtK0Iv+
>>168
そうなんですか。。
レスありがとうございました。

>>169
すみません。
今までログファイルに書き出す方法でやっていて、色んなところの配布しているソースを見て日ごと月ごとというやり方を真似していまして。。
だからいくらDBでも肥大化したら重くなりもするんだろうし、と言う考えで今回の質問に至った次第です。
こんな質問ですが為になるレスありがとうございました。
0171nobodyさん2006/01/17(火) 19:23:14ID:???
1日500レコードぐらいなら、数年は過去データ消さなくても普通に動くと思ふ。
MySQLの話だけど。
0172nobodyさん2006/01/17(火) 19:23:16ID:tDsfmN2q
簡単な認証フォームとその処理を行うPHPを、サイト内の全てのHTML文書に埋め込む形で利用しているのですが、
その中の1ページにPerlで作成した掲示板を設置したいと考えています。

最初はCGIファイルの中にprintでHTMLとPHPを出力しようと試みたのですが、PHPが実行できずにエラーとなってしまいました。

上記のPHPと同文書内に、掲示板を出力させるPHPを埋め込むにはどうすれば良いでしょうか?

又は、掲示板を設置するファイルをCGIにして、Perlのプログラム内でPHPを実行させる方法でも良いのですが…。

ご教授お願い致します。
0173nobodyさん2006/01/17(火) 19:46:03ID:eeDcDeq6
PHPをCGIとして・
0174_2006/01/17(火) 19:46:17ID:qQ+v1Jzp
初心者です。PHPの勉強で、ブログかショップを作ろうと思います。どっちが比較的簡単ですか?
0175nobodyさん2006/01/17(火) 19:51:22ID:???
ブログだろうね。その前にもっと簡単なのを作れないと無理だろうけど。
0176nobodyさん2006/01/17(火) 19:51:49ID:???
とりあえず勉強してから考えてみてはいかがでしょう。
0177nobodyさん2006/01/17(火) 20:16:03ID:???
>>172
そのPerlのCGIをPHPからsystemで呼び出せば?
0178nobodyさん2006/01/17(火) 23:16:30ID:klTcMYuU
PHPでクライアントから送られてきたデータが 半角の英数字と , と / のみか確かめるにはどうしたらいいのでしょうか?
0179nobodyさん2006/01/17(火) 23:26:47ID:???
正規表現一発
0180nobodyさん2006/01/17(火) 23:28:35ID:???
先に言っておこう、正規表現に関しては正規表現スレへ
0181nobodyさん2006/01/17(火) 23:58:58ID:xKRv/KZl
MySQLか、PostgeSQLどっちのほうを使ったほうが吉?

サーバーはXREA
0182nobodyさん2006/01/18(水) 00:03:10ID:zQtemvMy
PHP4.4.2-dev〜PHP4.4.2 Windows XP/Apache2.0.52〜Apache2.0.55のどの組み合わせでも
$foo = file('http://example.com/');
と、HTTPプロトコルを使用するとクラッシュしてしまいます。

Windowsユーザーで同じ現象の方いらっしゃいますか?

本家のChangeLog、Fixed Bug #34359 で修正済となっており、
Linux版では問題ありませんでした。
当WindowsサーバーでもPHP4.3.11 では問題なく動作しています。

同じ現象の方がいらっしゃればバグレポートを出したいと思うのですが。
0183nobodyさん2006/01/18(水) 00:06:13ID:zQtemvMy
>181

Postgres をお勧めします。
0184nobodyさん2006/01/18(水) 00:08:53ID:???
>>182
同じこと内容を本スレでみた
0185nobodyさん2006/01/18(水) 00:13:20ID:zQtemvMy
>184
レスありがとうございます。
本スレ見落としてました。すみません。
バグのようですね…。報告&4.4.3待ちます。
01861842006/01/18(水) 00:19:59ID:???
俺の日本語システムにバグがorz
0187nobodyさん2006/01/18(水) 08:47:20ID:???
>>183
>>181じゃないですが面倒でなければ両者を比較したときにPostgresを選んだ理由っていうのを
教えてもらってもよろしいでしょうか?

俺はMySQLしか使ったことないので・・
0188nobodyさん2006/01/18(水) 09:29:55ID:???
>>163
voidみたいだ
0189nobodyさん2006/01/18(水) 09:31:51ID:???
>>174
ttp://www.sbcr.jp/books/products/detail.asp?sku=4797327073
0190nobodyさん2006/01/18(水) 10:09:56ID:???
ブログってXMLとかフィードバック・トラックバックとかややこしくない?
0191nobodyさん2006/01/18(水) 10:16:37ID:???
じゃあ掲示板
0192nobodyさん2006/01/18(水) 11:07:17ID:???
$file_nameにはファイル名称の変数が事前に定義してあります。
mbstring関数は有効になっています。


$file = fopen($file_name,"r");
$data_size = 0;
for ($line_num = 1 ; !feof($file) ; $line_num++) {
$line = fgets($file);
$line_size = mb_strlen($line);
$data_size = $data_size + $line_size;
if ($data_size >= 512 * $page_num - 1) {
if ($data_size < 512 * $page_num) {
$line = str_replace ("<","<",$line);
$line = str_replace (">",">",$line);
echo $line;
}
}
}

と書いて実行したものの、何も表示されません…
どうすれば現状を回避できるのでしょうか…orz
0193nobodyさん2006/01/18(水) 11:19:15ID:???
>>192
お前のやりたいのはひょっとして
$data_size >= 512 * ($page_num - 1)
じゃないのか
0194nobodyさん2006/01/18(水) 11:21:47ID:???
>>192
>どうすれば現状を回避できるのでしょうか…orz
小学校の算数からやり直す
0195nobodyさん2006/01/18(水) 11:30:20ID:???
>>193
('A`)
すいませんでした
01961832006/01/18(水) 14:07:51ID:zQtemvMy
>>187
Mysql4.1からはUnicodeがサポートされていますが、それ以前はUnicodeがサポートされていませんでした。
SJIS、EUCでは必ずどこかで文字化けが起きる(5C文字や第2水準漢字など)ので
私がコーディングする際は内部をUTF-8で統一するようにしています。

また、PostgreSQLではplpgsqlでストアドが作れますので、
プログラムの質を上げることができます。

PostgreSQLはMySQLよりもUnicodeに強い。
複雑な処理をストアドで行える。

が選択の理由です。
バグをあまり気にしない環境・掲示板程度でしたらMySQLの方が早いですけど…。
0197nobodyさん2006/01/18(水) 14:19:16ID:???
内部エンコーディングの今の流行はUTF-8ですか?
01981962006/01/18(水) 14:28:54ID:zQtemvMy
>>197
文字化けを完全解消するならば全面Unicode
http://www.atmarkit.co.jp/fxml/rensai/xmlwomanabou06/learning-xml06.html
ですが、そうもいかない現状ですので、
私は 内部UTF-8 -> SJISやEUC出力 にしています。
これでDBへのINSERTの段階で失敗するということが少なくなります。
0199nobodyさん2006/01/18(水) 14:36:19ID:???
はやりかどうかはわからんけど
おれの周りは全部UTF-8だな。文字に関するトラブルは特にない希ガス

PostgreSQLは8.1になってMySQLレベルにまで速くなってきたな。
複雑なクエリなんかはストアド使ったりして構造をわかりやすくしたりできるな

あと、

>>バグをあまり気にしない環境・掲示板程度でしたらMySQLの方が早いですけど…。

「速い」の間違いな。国語勉強しとけよ。韓国人に笑われるから(何
0200nobodyさん2006/01/18(水) 14:41:01ID:???
2chの書き込みなんて脊髄反射でやるんだから
いちいち誤変換なんて確認したことねーぞ
02011972006/01/18(水) 14:45:27ID:???
お返事ありがとうございます。
いままで数年、内部エンコーディングはEUC-JPでしたけどUTF-8に乗り換えることにします。
現在、日、中、英の3ヶ国語に対応しなければならない案件を抱えてまして
出力はUTF-8、DBもUTF-8、内部はEUC-JPというへんな状況で苦しんでました。
これで楽になれます。
0202nobodyさん2006/01/18(水) 14:51:23ID:???
なんで何処の下らない質問系スレは住人が荒いの
ウザい回答するぐらいなら答えんなボケ
0203nobodyさん2006/01/18(水) 14:58:08ID:???
あっかんべーだ ;-P
0204nobodyさん2006/01/18(水) 20:00:42ID:???
ttp://www.asial.co.jp/products/ioncube/
ここの販売しているソフトがPHPスクリプトの暗号化で有名ですが、
日本語でここより安くて単純に暗号化出来るソフトってないでしょうか?
0205nobodyさん2006/01/18(水) 20:38:43ID:???
>>204
"日本語で"つうのが、日本語も対応しているという意味なら無料のものもあるが、
日本語で手取り足取り導入解説からサポートまであるという意味のものなら、それは無い。
日本人が作ったBコードコンパイラはあったと思うけどね。
0206nobodyさん2006/01/18(水) 21:04:14ID:???
Zend Encoderは詐欺価格だからなぁ。
安いのは英語で良ければSource Guardianかな。
0207nobodyさん2006/01/18(水) 21:06:39ID:l30CFxYx
php初心者です、おしえてください。
他のファイルにstaticメソッドを宣言して、インクルードするとエラーが起こるのですが、
なぜでしょうか、staticじゃないのは普通に呼び出せるのですが、
宜しくお願いします。(_ _)
0208nobodyさん2006/01/18(水) 21:18:00ID:???
>>207
うちではエラーにならないから、エラーが発生する最低限のコードくらい書いてくれ
0209nobodyさん2006/01/18(水) 21:38:28ID:???
>>207
エラーメッセージ読め
02102072006/01/18(水) 21:52:41ID:l30CFxYx
>>208,209
すみません、ソース、本など会社で、
大体下のような感じだと思います。
うろ覚えで書いてるので間違ってるかもしれませんが、


<?
require('staticTest.php');

$data = ->testfunction();
print $data;
?>

<?
class staticTest{

public static function testfunction(){
$data="1";
return $data;
}

}
?>
0211nobodyさん2006/01/18(水) 23:12:39ID:zipv+nb6
locationで一回飛ばして、HTTP REFERERをとると、飛ばす前のURLになりますよね。imodeの場合うまくいかないのですが。ezwebだと普通に$ SERVER[HTTP REFERER]でとれるのですが
0212nobodyさん2006/01/18(水) 23:40:56ID:???
そうですか。
ところでスレタイは読まれましたでしょうか。
0213nobodyさん2006/01/19(木) 00:28:06ID:???
>>211
だから?
0214nobodyさん2006/01/19(木) 01:35:01ID:???
>>207
> $data = ->testfunction();
こんなの Syntax Error だ、アフォ。
マニュアルを全然見てないだろ。
いますぐ >>1 からマニュアルを参照してくるんだな。
0215nobodyさん2006/01/19(木) 03:12:55ID:wmue64mu
文字コードEUC-JPで
下記のソースを書き、ブラウザで見てみました。

echo("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
echo("<head>");
echo("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"/>");
echo("</head>");
echo("<body>");
echo("テスト");
echo("</body>");
echo("</html>");

すると
ブラウザがUTF-8ではなく、
EUC-JPでHTMLを読み込んでしまうのですが、
どうすれば解消できるでしょうか?
0216nobodyさん2006/01/19(木) 03:30:10ID:???
>>215
Webサーバの適正な設定。
0217nobodyさん2006/01/19(木) 03:37:08ID:???
テストのとこをUTF-8に変換して出力すればいいんじゃにの?
0218nobodyさん2006/01/19(木) 03:47:05ID:???
mb_http_output("UTF-8")では?
0219nobodyさん2006/01/19(木) 04:30:52ID:???
>>215
釣り?
0220nobodyさん2006/01/19(木) 04:54:25ID:???
>>216
PHP.iniは

default_charsetEUC-JP

mbstring.detect_order      auto
mbstring.encoding_translation Off
mbstring.func_overload     0
mbstring.http_input        auto
mbstring.http_output       pass
mbstring.internal_encoding   no value
mbstring.language        Japanese
mbstring.substitute_character no value

という感じになってますが、
これはちょっとワケ有りで変更でないのです。
そのためソース側で対処しないといけません。

>>217
echo( mb_convert_encoding("テスト", "UTF-8", "EUC-JP"));
とやると、「テスト」だけはUTF-8に変換されますが、
ブラウザの読み込みモードがEUC-JPで読み込んでしまうのです。

>>218
default_charsetがEUC-JPになっているのが
原因だと思い、同じようにやってみたのですが、
どうしてもブラウザがEUC-JPで読み込んでしまいます。


0221nobodyさん2006/01/19(木) 04:56:12ID:???
>>220
php.iniじゃなくて「ウェブサーバの設定」だぞ
0222nobodyさん2006/01/19(木) 05:18:30ID:???
ttp://httpd.apache.org/docs/2.0/mod/core.html
ttp://httpd.apache.org/docs/1.3/mod/core.html
02232202006/01/19(木) 05:21:24ID:???
>>221
おっと、ウェブサーバーの設定でしたか、
ウェブサーバーの設定は・・
・・不明です。。。お恥ずかしいですが。。
唯一わかっているのはApache2系ということだけです。
PHPの関数で対応できると思っていたのですが
あまかったですか??
0224nobodyさん2006/01/19(木) 06:48:14ID:???
Apacheのhttpd.confを見直してみな。
あとxhtmlで書くなら、ちゃんとDTDで定義しとこうな。
0225nobodyさん2006/01/19(木) 07:21:41ID:???
>>215
<meta>タグなんかで指定しないでちゃんとheader()で指定しろってこと
ブラウザはresponse headerの方を優先するからね
0226nobodyさん2006/01/19(木) 17:15:52ID:???
配列をsubmitで飛ばして受け取りたいのですがどうすればよいのでしょうか?
一要素ずつhiddenで記述してやるしかないのでしょうか?
簡単な方法があればよろしくお願いします。
0227nobodyさん2006/01/19(木) 17:19:18ID:???
カンマ区切りの文字列にして飛ばして、アプリ側で配列を作るってのはだめ?よくやるんだけど
0228nobodyさん2006/01/19(木) 17:24:06ID:???
>>226
session使う
serializeする
0229nobodyさん2006/01/19(木) 18:02:59ID:???
俺は普通にforで数の分だけhiddenを生成しちゃうかな。
それで困るほどでかいデータならそもそもsubmitで飛ばさない。
02302262006/01/19(木) 18:43:27ID:???
>>227-229
なるほど、十人十色なんですね。
参考になりました。ありがとうございました。
0231nobodyさん2006/01/19(木) 20:47:26ID:???
>>230
十人十色だが、セッションを使うのがベター。
hiddenで持ち回すと汚染される可能性が出てくる。
0232nobodyさん2006/01/19(木) 21:50:34ID:???
セッションだって汚染される可能性あるぞ。
ユーザーのクッキーから情報を取得してる場合だけど。
0233nobodyさん2006/01/19(木) 22:33:15ID:???
何でもセッションに頼っちゃうと今度はウインドウを2枚出したときとかに
ややこしい状態になることがあるんで、安易にそれをベターというのもどうかと。
「そのユーザにとって最新の状態は常にどの画面でも同じもの」ってデータ以外は
セッションに入れるべきじゃないと思うんだけど?
0234nobodyさん2006/01/20(金) 03:43:15ID:???
"A B"

「A」と「B」の間にあるスペースを
1個のスペースに置き換える場合、
for(),while()を使わずに処理する方法ってありますか?
0235nobodyさん2006/01/20(金) 03:55:25ID:???
あります
02362342006/01/20(金) 04:09:04ID:???
>>235
あるの?
0237nobodyさん2006/01/20(金) 04:28:24ID:???
>>236
あるってば。
0238nobodyさん2006/01/20(金) 05:18:21ID:???
>>237
どうやんの?
0239nobodyさん2006/01/20(金) 05:27:20ID:???
php5をsuse linuxにインストールする方法を教えてください
0240nobodyさん2006/01/20(金) 05:35:41ID:???
スレ違い
0241nobodyさん2006/01/20(金) 07:35:50ID:???
>>238
preg_replace("/( | )+/", "1", "A        B")
0242nobodyさん2006/01/20(金) 07:36:57ID:???
"1"ってなんだ(´・ω・`)
preg_replace("/( | )+/", " ", "A        B")
0243nobodyさん2006/01/20(金) 08:36:42ID:kKXqMXNs
全然わからない!教えてください
仮に○○.phpってファイルをアップロードしたのだけど、
実行してみると「ページを表示できません」ってなってしまう。
何かほかにやらないといけないの?
助けてください。
0244nobodyさん2006/01/20(金) 08:40:54ID:???
>>243
そもそもphpが使えるサーバーにアップロードしてるのか?
0245軟式PHP2006/01/20(金) 09:14:07ID:???
>>243
近年稀に見る馬鹿だな。
0246nobodyさん2006/01/20(金) 09:34:48ID:???
>>244
いやいや、PHP云々以前にアップロード出来ているのかが怪しい
0247nobodyさん2006/01/20(金) 10:00:55ID:???
たまたまアップロードして確認しようとした時、
ネットワークがきれてたんじゃないの?
phpが使えない鯖なら、phpの中身が表示されるか
ダウンロードマネージャが起動するはず。
404なら「ページが見つかりません」と出るはず。
phpは特に鯖側でパーミッションとかいじったりしなくても使える。
(ログファイルとかは別だけど)
0248nobodyさん2006/01/20(金) 10:03:25ID:???
>>247
さくらとか、phpがCGIでしか動かないってパターンもあるね
0249nobodyさん2006/01/20(金) 10:13:04ID:???
何にせよ、エスパーキボンて事だな
0250nobodyさん2006/01/20(金) 10:17:36ID:VgY7exIA
ウィンドウズのローカルでphpをブラウザで見たいんですがこれはphpをインスコする以外に
サーバーソフトもインスコしないとみれるようになりませんか?
0251nobodyさん2006/01/20(金) 10:26:47ID:???
>>250
もちろんです。
ただ、結果だけみたいならコマンドラインでxxxx.htmlに
リダイレクトすれば見られます。
0252nobodyさん2006/01/20(金) 11:04:18ID:???
鯖PC経由の書き込みをしない設定にすると、公式に直接飛ばす事になってしまいます。
公式に飛ばさずに直接値を渡すにはどうすれば良いのでしょうか。
0253nobodyさん2006/01/20(金) 11:05:12ID:???
あ、p2スレと勘違いした_| ̄|○
0254nobodyさん2006/01/20(金) 11:06:08ID:???
>>250
正確な用語の使い方ではないので、YesともNoとも回答ができる。
でも多分Yesだと思われ。
0255nobodyさん2006/01/20(金) 11:06:09ID:???
>>252
鯖PCって何? 公式って何? 値って何?
前提がすっぽ抜けすぎてて何が聞きたいのかまったくわかりません。
0256nobodyさん2006/01/20(金) 11:06:53ID:???
誤爆かよ!
02572542006/01/20(金) 11:08:52ID:???
ごめん。多分「なりません」が正解ということ。
0258nobodyさん2006/01/20(金) 14:14:53ID:+oUGIFYt
function()文で数値を戻り値として返す場合、
"で囲ってあがないといけないんですよね?

function(){
return "0";
}

みたいに。
0259nobodyさん2006/01/20(金) 14:20:31ID:???
>>258
だから何?
0260nobodyさん2006/01/20(金) 14:50:22ID:???
>>259
あってんの?あってないの?
0261nobodyさん2006/01/20(金) 14:57:20ID:???
>>259
スレタイ嫁
0262nobodyさん2006/01/20(金) 15:13:24ID:???
>>258
数字じゃなくて数値なんだろ?なら括る必要はない。
裸で気になるんだったら()で括っとけ
0263nobodyさん2006/01/20(金) 16:06:28ID:utcSO+tE
PHP 4.4.2で eaccelerator使えてます?FreeBSDなんですが。
0264nobodyさん2006/01/20(金) 17:19:01ID:???
>>258
どっちでも大して変わらない
0265nobodyさん2006/01/20(金) 17:30:09ID:???
>>258>>264
そのまま戻り値をprintしたときに0って出るか何も出ないかの差はあるかな。
0266nobodyさん2006/01/20(金) 17:56:01ID:???
>>265
どっちでも出る。
0267nobodyさん2006/01/20(金) 18:15:36ID:???
>>264
型を含んだ比較の結果がかわったりする
仕様上の型でかえすべき
0268nobodyさん2006/01/20(金) 19:24:34ID:???
質問です。
<html>
<body>
<?php
$page = @readfile("http://www.yahoo.co.jp");
?>
</body>
</html>
と言うような感じで他サイトを読み込んだのですが
読み込んだサイトにあるリンクのURLが自分のドメインを
含んでしまい、リンク先に正常に飛べません。
リンクのURLが読み込んだファイルと同様のドメイン
上の例ですとhttp://yahoo.co.jp/hogehoge.htmにするにはどうすればよいのでしょうか?
今の状態ですとhttp://hogehoge.jp/hogehoge.htmとなってしまいます。

よろしくお願いします。
0269nobodyさん2006/01/20(金) 19:29:21ID:???
>>268
preg_replaceで相対パスを絶対に置き換えれば言い。
02702682006/01/20(金) 19:42:50ID:???
>>269

preg_replaceを使用するということは
fileで一度ソースを読み込んで置換してという
順序になると思うのですが

readfileでやることは不可能なのでしょうか?

get? post? あたりを駆使してムリでしょうか?
0271nobodyさん2006/01/20(金) 19:44:05ID:???
>>270
むり。
0272nobodyさん2006/01/20(金) 19:44:50ID:???
>>270
<base href="〜">
02732682006/01/20(金) 19:52:51ID:???
すげえええええええええええ
来ました出来ました。有難うございます。

>>272様感謝します。

>>269>>271
ご意見有難うございました。
0274nobodyさん2006/01/20(金) 20:01:45ID:???
ttp://pear.php.net/manual/ja/package.http.http-download.php
これとsetGzip()で特定のディレクトリを圧縮しつつダウンロード、
ということをしたいのですが、以下のどこがおかしいか
教えてくださいませ。
疑問点はまずsetFile()がディレクトリを指定するのが不可能っぽいですが、
解決方法はないか、setFileをファイルで試しても
setGzipの部分が上手く動作していないようです、何か間違っているでしょうか?
お願いしますm(_ _)m

<?php
require_once("HTTP/Download.php");
$dl = &new HTTP_Download();
$dl->setFile($directory);
$dl->setGzip(TRUE);
$dl->setContentType('application/x-gzip');
$dl->setContentDisposition(HTTP_DOWNLOAD_ATTACHMENT, 'latest.tgz');
$dl->send();
?>
0275nobodyさん2006/01/20(金) 20:16:39ID:???
>>274
ディレクトリに対応してないので HTTP_Download だけじゃダメ。
Archive_Tar も併用すべき。
オンザフライ圧縮する必要はなくなるが
一時ファイルを生成する必要が出てくる。
あとは頑張れ
http://pear.php.net/manual/ja/package.filesystem.archive-tar.archive-tar.php
0276nobodyさん2006/01/20(金) 23:10:38ID:yP1RJnKV
入力された文字が例えば100文字以上なら100文字以降なら切り捨てて保存する場合どうしたらいいのでしょうか?
0277nobodyさん2006/01/20(金) 23:17:32ID:???
>>276
substrかmb_strcut
0278nobodyさん2006/01/21(土) 10:57:51ID:???
sedコマンドについてです。(sedじゃなくてもいいんですが)
tab区切りのテキストファイルがあるんですが、そのファイルの
先頭の列のみ残してあとのデータを削除したいんです。

sed "s/\t*//g" test.txt

ではうまくいきませんでした。(削除されないファイルが出てきます。)
誰か、、、よろしくお願いします。
02792782006/01/21(土) 11:04:40ID:???
あ、質問すれ間違えました、、、すいません
0280nobodyさん2006/01/21(土) 15:41:37ID:???
ロギングプログラムを作ろうと思ってるのですが、
log.txt(300MB)で
fopen("log.txt", "a")した場合ってメモリ300MB消費されませんよね?
逆に
fopen("log.txt", "r")としたらメモリ300MB消費される、
この考えあってますでしょうか?
0281nobodyさん2006/01/21(土) 15:49:37ID:???
>>280
> fopen("log.txt", "a")した場合ってメモリ300MB消費されませんよね?
合ってる。

> fopen("log.txt", "r")としたらメモリ300MB消費される、
間違ってる。正しくはその後の処理方法次第。
0282nobodyさん2006/01/21(土) 15:55:59ID:???
>>280
やってみりゃ分かるが、fopenはファイルを開く「準備」をするだけ。
メモリに読み込むのは別の関数のお仕事。
0283nobodyさん2006/01/21(土) 16:40:25ID:1jcdXAZV
DBからとり出したデータに特定の文字列があるかどうか調べるのはfor文を回してeregなどで使うのでしょうか。
0284nobodyさん2006/01/21(土) 16:43:47ID:???
何のための DB なんだ…
0285nobodyさん2006/01/21(土) 16:59:44ID:???
>>283
SQLでselect
0286nobodyさん2006/01/21(土) 21:35:07ID:???
今月から1ヶ月前の月を算出する最も簡単な記述方法ってどんな感じでしょうか?
unixタイムスタンプから1か月分引くとかいう面倒な方法しか
思いつきませんでしたorz
0287nobodyさん2006/01/21(土) 21:45:49ID:???
>>286
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
echo date ("M-d-Y", $lastmonth);
これでいいのかな・・・?
0288nobodyさん2006/01/21(土) 22:12:08ID:???
>>286
print date("Y/m", strtotime("-1 month"));
0289nobodyさん2006/01/21(土) 22:47:59ID:???
>>286じゃないけど、ふと思った。
月から1引くやり方って、1月の時も大丈夫…なように作ってあるはずだよねぇ。
0290nobodyさん2006/01/21(土) 22:52:20ID:???
>>289
少なくとも>>287>>288は自動的に前年になる。
0291nobodyさん2006/01/21(土) 23:00:46ID:???
初めてmktime()を使った時にここまで面倒見てくれるのかー!って感動した記憶があるよ。
マニュアルを読まなかったら、自力で繰り上げやら繰り下げ処理を書いたり、
その辺の面倒を見てくれそうなカレンダーライブラリを探そうとしてただろうなぁ。
0292nobodyさん2006/01/21(土) 23:23:32ID:???
おまえの面倒はオレが見るよ。
0293nobodyさん2006/01/21(土) 23:37:40ID:E6I0jSws
ポッ(照)
0294nobodyさん2006/01/22(日) 02:16:59ID:???
下らない質問ですが、PHPで行列は使えますでしょうか…。
例えば

10 11 12 13 14 15

とあったとすると
両者の合計が出来るだけ平等になるように二つに分けたいのです。
この場合ですと
10 15 12
11 14 13
の二つに分けたいのです。
よろしければお力添えお願いします。
0295nobodyさん2006/01/22(日) 02:28:43ID:???
>>294
行列じゃなくて行列問題?
0296nobodyさん2006/01/22(日) 02:37:50ID:???
>>294さん
行列問題…になるのかもです。
12種類の数字を合計値が出来るだけ平等になるように二つのグループに分けるような動作をするのをPHPによる記述で作ろうと思ったのですが、
全ての組み合わせを記述してすると12C6で膨大な記述が必要になってしまうので
何かスマートな方法がありましたらご教授願いたいです
0297nobodyさん2006/01/22(日) 02:52:54ID:???
>>294>>296
どっちかっつーとアルゴリズムの問題だと思うので言語関係ないんじゃ…。
(これを一発で解決するような言語ってどっかにあるの?)
でも記述は長くならないと思うけどね。
長いのはループ回数&処理時間じゃないの?
0298nobodyさん2006/01/22(日) 03:21:41ID:???
そうですか〜。
ありがとうございます。一つずつ組み合わせを記述してベストな組み合わせを導いてみようと思います
0299nobodyさん2006/01/22(日) 03:23:41ID:???
>>298
アホカ
0300nobodyさん2006/01/22(日) 03:32:18ID:???
>>294
線形計画法で解けるとおもわれ。
0301nobodyさん2006/01/22(日) 04:38:46ID:pSXDGSqg
perlは経験しPHPを勉強中の者です。

PHPにHTMLを吐き出させたら、ソース通りに行きません。
どうなってるのでしょうか?

PHP5+apache+winxpと、PHP4+apache+赤帽の2種類のマシンで試してみましたが、どうにもうまくいきませんでした。
ブラウザはIE6.0です。

現状は、EUC+LFで保存したPHPファイルをブラウザで見ようとすると、CSSで指定していた色やborderの線がちゃんと表示されない。
やりたいことは、外部呼出しを設定しているHTMLをコード通りに表示させたい。
やったことは、PHPで吐き出した画面上でブラウザのエンコードの種類をEUCからShift_JISに変えたらCSSの通りに色がついたり、borderもきちんと表示されました。
あとは、ソースの見直しとHTML単独での表示テスト。

EUCっていうのはCSSとの相性が悪いのでしょうか?
PHPでちゃんとCSSの表示が上手くいくやり方を教えていただけませんか。
どうしても原因がわからないので、よろしくお願いします。
0302nobodyさん2006/01/22(日) 05:22:08ID:???
>>301
それはPHPがどうのこうのってのは全然関係ないと思われ。
EUCコード自体はHTMLとの相性も問題ない。
CSSにShift-JISでコメント入れちゃってるとかいうオチじゃないよな?
0303nobodyさん2006/01/22(日) 05:32:34ID:pSXDGSqg
>>302
はぅあ...
そういうオチだったorzз

普通に/* hogehoge */って囲んでたっす('A`)
これって、Shift_JISダッタンディスカー!?
0304nobodyさん2006/01/22(日) 05:36:01ID:???
>>303
…おまえ、Shift-JISとEUCって何のことか分かってるか?
0305nobodyさん2006/01/22(日) 05:51:04ID:???
perlからやり直せ
0306nobodyさん2006/01/22(日) 05:51:31ID:pSXDGSqg
>>304
お、おいらただの文字コードとしか思ってなかったので。。。
さっき試してたんですが、テキストファイルの読み込みなんかも2バイト文字があるときちんと読み込んでいないようで。。。orz

EUCが吐き出せないのってどんな文字があるんだろう('A`)
0307nobodyさん2006/01/22(日) 06:08:49ID:???
>>306
ただの文字コードだよ。分かってるんじゃないか。
なのに何故見当違いの判断をする??
0308nobodyさん2006/01/22(日) 06:14:27ID:pSXDGSqg
>>304
お、おいらただの文字コードとしか思ってなかったので。。。
さっき試してたんですが、テキストファイルの読み込みなんかも2バイト文字があるときちんと読み込んでいないようで。。。orz

EUCが吐き出せないのってどんな文字があるんだろう('A`)
0309nobodyさん2006/01/22(日) 06:14:49ID:???
CSSもEUCで保存したの?
CSSの先頭に@charset "EUC-JP";とかかいとくといいんでないの?
0310nobodyさん2006/01/22(日) 06:20:18ID:pSXDGSqg
>>307
ググって見たけど、イマイチわからないなぁ。
Shift_JISとかが、文字コードだって認識はあるけど
CSSの/**/で囲ったコメント以下が読み込まれてないのは、わからないのです。
0311nobodyさん2006/01/22(日) 06:30:52ID:???
hogehogeがShift_JISで書かれてるんだろ
0312nobodyさん2006/01/22(日) 06:34:32ID:pSXDGSqg
>>309
ありがとです。。
CSSは普通にスタイルの指定をしているのみで、他の記述は一切していませんでした。

試してるんですけど、テキストファイルから日本語もちゃんと取り出せるようにするには
どうしたらいいのでしょうか?
エンコードの指定を読み込むときにするべきですか?
それとも、テキストファイル自体をEUCで保存or頭にcharset指定??
0313nobodyさん2006/01/22(日) 06:35:27ID:???
>>294
強化学習で
0314nobodyさん2006/01/22(日) 06:36:09ID:???
テキストファイルの読み込みってどういうやり方でやってるのさ。
0315nobodyさん2006/01/22(日) 06:36:28ID:pSXDGSqg
>>311
そのようです。
CSSの/*hogehoge*/がShift_JISのようだったんですが
どこでそれが分かるのか、確認したいのですが術を知らず。。。。orz
0316nobodyさん2006/01/22(日) 06:39:06ID:???
>>315
それなりにまともなテキストエディタを使えば今の文字コードを表示してくれる。
とりあえずWindows標準のメモ帳で読み込んで、普通に漢字が表示されたらShift-JIS。
文字化けを起こしたらEUCなりUnicodeなりのShift-JIS以外の文字。
0317nobodyさん2006/01/22(日) 06:40:07ID:???
perlからやり直せ
0318nobodyさん2006/01/22(日) 06:41:07ID:pSXDGSqg
>>314
$fuga=fopen("hoge.txt","r");
が主ですが、たまに
$fuga=file("hoge.txt");とかも使います。
0319nobodyさん2006/01/22(日) 06:42:39ID:???
それで何を持ってして「読み込めてない」と判断してるんだ?
読み込み自体には文字コードは関係ないぞ。printなどで出力すると関係するが。
0320nobodyさん2006/01/22(日) 06:46:10ID:pSXDGSqg
>>316
フリーのエディタを使ってますが今の文字コードや改行の種類は分かるようになっています。
ただ、PHPファイルの中に記述したり読み込んだりするものたち(例えば外部のテキストやCSS)のコードをどうやってPHP仕様に合わせればいいのかがググって見てもわかんないのです。
0321nobodyさん2006/01/22(日) 06:48:38ID:???
>>320
HTMLをEUCで出力してるならそれで読み込むCSSもEUCで保存しろ。
テキストファイルは処理の仕方による。読み込んでそのまま変換もせずに
出力してたり検索に使ってたりするなら最初からEUCで保存しとけ。
0322nobodyさん2006/01/22(日) 06:50:40ID:???
どーでもいいが、EUCは別にPHPの仕様じゃないぞ。その方が都合がいいだけだ。
EUCの方が都合がいいのはPerlだって全く同じだ。
同様にPHPでもPerlでもShift_JISで書けるぞ。
0323nobodyさん2006/01/22(日) 06:51:09ID:pSXDGSqg
>>319
何を持ってしてかは分かりませんが、
テキストファイルを読み込んでみたんです。それで、それをHTMLに吐き出させるようにしたのに正しく出力されませんでした。
HTMLに吐かせる前にprintで調べると、数字や小文字のアルファベットは正常にできてました。ただ、日本語のところだけは文字化けしたり、空白だったり。。

もうorzなんです。
0324nobodyさん2006/01/22(日) 06:53:39ID:pSXDGSqg
>>321
最初からEUCに変換は都合上できないので、PHP上で変換したいのですが
そういう関数がありましたっけ?
0325nobodyさん2006/01/22(日) 06:59:10ID:pSXDGSqg
>>322
そうなんですか、知りませんでしたorz

PHPはEUCで保存しないと文字化けするもんだとばかり。。。
perlをEUCで保存した経験はなかったです。勉強になりました_ト ̄|○
0326nobodyさん2006/01/22(日) 06:59:56ID:???
mb_convert_encoding()
0327nobodyさん2006/01/22(日) 07:00:31ID:???
perlからやり直せ
0328nobodyさん2006/01/22(日) 07:03:57ID:???
>>327
童貞厨はオナって市ねよ
0329nobodyさん2006/01/22(日) 07:10:10ID:pSXDGSqg
>>326
ググって来ました!
明確な助言で超わかりやすかったです。ありがとう。
0330nobodyさん2006/01/22(日) 07:37:21ID:???
他のやつは的確な助言をしてくれませんでしたね^w^
0331nobodyさん2006/01/22(日) 07:55:57ID:???
php.netのPHPのマークの上にある白いのは何ですか?
0332nobodyさん2006/01/22(日) 08:11:50ID:???
えーと、どこで笑えばいいのかな?
0333nobodyさん2006/01/22(日) 09:01:30ID:???
>>331
てかり
0334nobodyさん2006/01/22(日) 10:19:09ID:???
こっちのことだと思われ。
http://php.benscom.com/images/php_snow.gif
ファイル名にsnowって書いてあるね。
0335nobodyさん2006/01/22(日) 10:36:45ID:???
>>329
HTML と CSS と文字コードの関係についてもっと勉強した方がいい
0336nobodyさん2006/01/22(日) 12:29:09ID:nt4QJioJ
初めまして。
配列をグローバル宣言するにはどうしたらいいのでしょうか?
0337nobodyさん2006/01/22(日) 13:06:10ID:???
>>336
クラス外かつ関数外で配列定義。おわり。
大抵の場合、コードの見通しが悪くなるので好ましくない。
0338nobodyさん2006/01/22(日) 14:01:53ID:???
>>328
結婚してますが何か?
0339nobodyさん2006/01/22(日) 14:29:08ID:???
PHPでメールを送信しようとしてます。

<?php
mb_language("Japanese");
$address[] = "********@docomo.ne.jp";
$headers = "From: *-*-*-*-@docomo.ne.jp\r\nReply-To: *-*-*-*-@docomo.ne.jp";
mb_send_mail($address[$i], "お知らせ", "お知らせでした。\nThe End.", $headers);
?>

これだと文字化けしてしまいました。
日本語でメールを送る場合のエンコードはどうすればいいんですか?
ちなみにスクリプトのエンコードはShift-JISになってます。
0340nobodyさん2006/01/22(日) 14:37:28ID:???
ISO-2022-JP
0341nobodyさん2006/01/22(日) 14:49:54ID:???
>>338
既婚!=童貞脱出
0342nobodyさん2006/01/22(日) 15:08:09ID:???
>>336
配列も普通の変数も宣言は変わらんよ
0343nobodyさん2006/01/22(日) 17:26:06ID:???
第3月曜日を知るにはどうすればいいのか教えてください。
$yは年で$mは月です。
$w = date('w', mktime(0, 0, 0, $m, 1, $y));
return(23-$w);
こうしたら、1日が日曜日の場合、第4月曜になってしまいますorz
急遽
if($w){return(23-$w);} else {return(16-$w);}
としてるのですが、もっとスマートな方法があったら教えてください。
0344nobodyさん2006/01/22(日) 17:56:17ID:???
phpで作成したディレクトリの所有者権限を変更したいのですがchownが通りません。
ためしにsshでそのphpの所有者をrootにして実行したのですが通りませんでした。

そこで、shell_exec関数で php XXX.php >>/dev/null と書いて実行したのですが通りませんでした。
php5環境でchownを使われてる方、何か特別な設定を施されましたでしょうか。

ちなみにサーバのルートドキュメントでそのphpは実行されてまして、
作成されたディレクトリのデフォルトの所有者はapacheとなっています。
この所有者をchownでrootなど他の所有者に変更したいです。
0345nobodyさん2006/01/22(日) 18:14:11ID:???
>>343
個人的に作ったツールで第3月曜日を取得するのは以下のような方法で取得していた。
これで問題があるようなら報告よろしく。

21 - (int)date("w", mktime( 0, 0, 0, $month, 20, $year));
0346nobodyさん2006/01/22(日) 18:20:39ID:???
>>344
http://jp.php.net/manual/ja/function.chown.php
0347nobodyさん2006/01/22(日) 18:28:25ID:???
>>344
> phpの所有者をrootにして実行した
この時の権限チェックは、
・実行プログラム - zend謹製のphpプログラムそのもの
・読み込むファイル - 対象のphpスクリプトファイル
に対して行われるので、スクリプトの所有者を弄っても無意味ですよ。

chownを使わないで済むように作るか、chownの操作対象を含む親ディレクトリの所有者や
パーミッションを適切なものに変更するのが一般的なやり方です。
0348nobodyさん2006/01/22(日) 18:50:11ID:???
>>346-347
レスありがとうございます。
試しに次のことをやってみたのですがやはりOperation not permittedとエラーが出てしまいます。

・phpがあるさらに上層のディレクトリの権限を777に
・試しにルートディレクトリからそのスクリプトがあるディレクトリをrootの所有に

ちなみにphpのプログラムは念のため確認してみましたが所有はrootでした。
mkdirでディレクトリを作成してそのディレクトリの権限をアカウントの者にしたいのですが、
apacheの所有でディレクトリが作成されてしまいまて、効率悪いですがシェルで直接手直しするしかないようです(´・ω・`)ショボーン
0349nobodyさん2006/01/22(日) 19:07:39ID:???
もうちょっとLinux関連の知識を培ったほうがいいと思う。

「phpのプログラムの所有」うんぬんとか言ってる時点で見当違い。
apache経由で動かしてるんだから、apacheの動かしているユーザーでしか動かせない。

そのスクリプト、sshで、sudoなり、suしてrootになって実行すれば動作するだろ。
そういうことだ。
0350nobodyさん2006/01/22(日) 20:40:16ID:???
error reporting E_ALLだと、配列の存在しないINDEX参照したときに
Undefined になるよな。
E_NOTICEだとエラーの詳細がわからんし・・・
おまいらどうしてる?
0351nobodyさん2006/01/22(日) 21:02:03ID:???
array_key_existsで先にに調べれば?
0352nobodyさん2006/01/22(日) 21:17:08ID:???
こんな感じでDBからの値を元にINDEX
作りたいんですけどえらーになってしまう。

foreach ($play as $k ){
$counter[$k['sex']]++;
}
0353nobodyさん2006/01/22(日) 21:28:19ID:???
>>352
エラーの内容くらい書けよ。
0354nobodyさん2006/01/22(日) 21:33:57ID:???
Undefined INDEX $k['sex']
0355nobodyさん2006/01/22(日) 21:38:26ID:???
DB に何が入っててどうやって取り出しているかが問題であって、
その部分が悪いわけじゃない。
ちゃんと array_key_exists でチェックして処理してくれ。
はい次。
0356nobodyさん2006/01/22(日) 21:40:06ID:???
おいおい、おまいら
カウンターのインデックスはDBからの値であって
宣言してないわけだよ。そこへインクリメントしてるから
エラーになるわけだ。 わかんないのか?
$counter[?????]++;
0357nobodyさん2006/01/22(日) 22:31:49ID:???
>>349
レスdクスです。

>そのスクリプト、sshで、sudoなり、suしてrootになって実行すれば動作するだろ。
説明不足で申し訳ございません;
ブラウザで実行させての動作ということでして;;
もしかしてchownはシェルで実行させないと元々動かない感じだったでしょうか

>apache経由で動かしてるんだから、apacheの動かしているユーザーでしか動かせない。
それともapacheで動かせる権限にディレクトリなりファイルなりを変更すればブラウザでも行ける感じでしょうか
未だに右往左往しておりますorz

ちなみにphp5系+apahce2系をFedoraCore3で動かしてます。
(FreeBSDにしようと思いましたが環境の都合でFCを選択しました)
0358nobodyさん2006/01/22(日) 22:38:51ID:???
ケツ痒くなってきた
0359nobodyさん2006/01/22(日) 22:47:31ID:???
>>357
ブラウザがアクセスするのはサーバなんだから
サーバの権限で動かせるようにすればおk

多分サーバは nobody か apache ユーザ/グループで動かしてるんだろうから
chown -R apache:apache /var/www とかすれば?
0360nobodyさん2006/01/22(日) 23:21:57ID:???
DWでphpでホームページを作っていますが同じページでパソコンと携帯のUserAgentを判断してレイアウトと表示される内容を変えたいのですが、出来ますか?
0361nobodyさん2006/01/22(日) 23:27:01ID:???
>>360
できる。
UAを調べて、条件文使ってPCだったらこれ、携帯だったらこれといった感じ。
0362nobodyさん2006/01/23(月) 00:07:48ID:???
<html><body>
<form action="./mailform.php">
■件名<br>
<input type="text" name="subject"><br>
■本文(※必須)<br>
<input type="text" name="message"><br>
<input type="submit" value="送信"></form>
<?php
$to = "xxx@xxx.com";
if( $message ){
mb_language( "Japanese" );
mb_send_mail( $to, $subject, $message );
echo ( "送信しました" );
}
?>
</body></html>

簡単なメールフォームを作ってみましたが、
日本語を件名等に含ませると???となります。
どうすればいいでしょうか?
マニュアル読みましたがうまくいかなく↑な風になりました。
よろしくお願いします。
0363nobodyさん2006/01/23(月) 01:21:28ID:???
>>345
なるほど・・・1日を基点として3週間の最後の日から引けば確かに月曜日になりますね。
ありがとうございますm(_ _"m)ペコリ
date("w")って数値で返ってくるのですが、string型なんですね(;´▽`A``

>>362
mb_internal_encoding指定してやってみて
03643622006/01/23(月) 01:53:26ID:???
>>363
こんな夜中にありがとうございます。
早速やってみます。
0365nobodyさん2006/01/23(月) 02:27:47ID:???
指定したファイルのバイナリデータから、
指定した文字列を抜き出すにはどうすればいいでしょうか?
またそのデータ内に指定した文字列がいくつ入っているかも出来ないでしょうか?
0366nobodyさん2006/01/23(月) 02:38:53ID:???
>>365
$cnt = preg_match_all('/文字列/', file_get_contents("ファイル名"));
0367nobodyさん2006/01/23(月) 04:32:07ID:???
wikiの下のほうでよくみかける、
HTML convert time to 0.015 sec.
みたいな部分はどのように記述されてるのでしょう?
wikiのソースを見ても全くわからず・・・
PHPで動的なサイトを作る練習をしているんですけど、
htmlが、どのくらいの速さで出力されるのか知りたいのです。
どなたかわかるかた教えてください。
0368nobodyさん2006/01/23(月) 04:41:51ID:???
function microtime_float() {
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}

$start_time = microtime_float();
 :
メイン処理
 :
$end_time = microtime_float();
printf("HTML convert time to %4f sec.", $end_time - $start_time);

とかいう感じじゃないの?
0369nobodyさん2006/01/23(月) 06:30:22ID:zyAl85LC
セッションで2次元配列を扱うことはできないんでしょうか?
php1.phpで
$_SESSION[$key1][$key2]
のデータを入力したものを
php2.phpで参照しようとしてもできませんでした…
0370nobodyさん2006/01/23(月) 07:47:29ID:???
>>369
自己解決しますた('▽')
てか、ageてた…ごめんなさい
0371nobodyさん2006/01/23(月) 09:59:38ID:???
mySQLとPostgreSQLでどちらを使うか迷っています。
それぞれの利点欠点を教えてください。
0372nobodyさん2006/01/23(月) 10:04:36ID:???
mySQLの方が響きが良い。
0373nobodyさん2006/01/23(月) 10:10:50ID:???
板違いじゃないのか
03743712006/01/23(月) 10:17:45ID:???
phpと使う場合の利点欠点です。
個人的には、性能よりも標準で、つまりより多く使われている方を選択したいのですが。
0375nobodyさん2006/01/23(月) 10:21:21ID:???
>>374
じゃmysqlでいいんじゃない?
psql使えるレン鯖そう多くないし
03763712006/01/23(月) 10:23:46ID:???
ありがとう。糞切りがつきました
0377nobodyさん2006/01/23(月) 10:30:40ID:???
今時の辞書は「踏ん切り」を「糞切り」と変換するのか・・・?
0378nobodyさん2006/01/23(月) 10:52:30ID:???
そういう意味なら PHP 4 → MySQL, PHP 5 → SQLite じゃないか?
0379nobodyさん2006/01/23(月) 11:15:42ID:???
これからはPostgreSQLですよ。マジで。
0380nobodyさん2006/01/23(月) 11:17:16ID:???
2次元配列を使っていて説明しにくいのですが
例えば2×3の配列あって前の配列?の最後の配列を取りたい場合は
end(array)でとれると思うのですが
前の配列の最後の中にある配列の特定の値を取りたい場合はどうしたらいいのでしょうか?
array[0][2]という感じで。

一旦end(array)を取得して次にarray[2]とか2回に分けないといけないのでしょうか?
0381nobodyさん2006/01/23(月) 11:33:19ID:???
end(ary[0])
0382nobodyさん2006/01/23(月) 12:10:22ID:???
配列とか変数とかを気軽にRSS(RDF)形式に書き出すクラスは配布されていませんでしょうか?
0383nobodyさん2006/01/23(月) 12:55:18ID:???
>>381 サンクス
0384nobodyさん2006/01/23(月) 13:27:42ID:???
<?php
if($i==1){
?>

<TABLE>

<?php
}
?>

上のような記述方法って正式に認められてますでしょうか?
0385nobodyさん2006/01/23(月) 13:29:53ID:???
>>384
ok
0386nobodyさん2006/01/23(月) 13:33:31ID:???
ereg_replace を使ってURLのドメインまでを取り出したいのですが
どうすればよいのでしょうか?

http://www.yahoo.co.jp/hogehogehoge/hoge/hoge.htm

http://www.yahoo.co.jp

http://google.com/hoge.htm

http://google.com

のようにしたいのですがどうすればよいでしょうか?
0387nobodyさん2006/01/23(月) 13:35:27ID:???
変数名を正規表現で抽出したいのですが、どのように記述すればいいでしょうか?
0388nobodyさん2006/01/23(月) 13:40:57ID:???
WebProg の正規表現スレってなくなったの?
0389nobodyさん2006/01/23(月) 13:58:04ID:???
>>386
pregじゃダメ?
$url = preg_replace("/^(http:\/\/[^/]+).*/","$1",$url);

あるいは

$tmp = parse_url($url);
$url = $tmp['scheme'] . '://' . $tmp['host'];
0390nobodyさん2006/01/23(月) 13:58:54ID:???
>>388
あるよ
0391nobodyさん2006/01/23(月) 14:14:18ID:???
>>389
parse_url()使ったほうが楽な気がする

$array = parse_url($url);
print $array['scheme'].'://'.$array['host'];
0392nobodyさん2006/01/23(月) 14:26:03ID:???
parse_url() ってうまく解釈できないときにエラーが出るんで、
個人的にはオススメしない
0393nobodyさん2006/01/23(月) 15:02:13ID:???
>>387
変数名の抽出ってPHPのソースからか???
0394nobodyさん2006/01/23(月) 17:24:31ID:???
>>393
そそ、ソースからです。
0395nobodyさん2006/01/23(月) 17:32:57ID:???
>>394
ブロックの長過ぎるコードの解析でもするならそれ用のツールを
用意した方がいいと思うんだけど。
0396nobodyさん2006/01/23(月) 18:12:39ID:???
>>394
手抜き版
preg_match_all('/(\$GLOBALS\[[a-zA-Z_]+\w*\]|\$GLOBALS\[\'[a-zA-Z_]+\w*\'\]|\$GLOBALS\[\"[a-zA-Z_]+\w*\"\]|\$[a-zA-Z_]+\w*)/', $src, $match);
$list = array_unique($m[0]);
var_dump($list);

$XXXX と $GLOBALS[〜] だけ抜き出す。
0397nobodyさん2006/01/23(月) 18:13:29ID:???
書き間違い。
$list = array_unique($m[0]); は $list = array_unique($match[0]);
0398nobodyさん2006/01/23(月) 19:09:38ID:???
くだらない質問スマソ、
$var[] = "";
ってどういう意味でしょうか?
0399nobodyさん2006/01/23(月) 19:12:07ID:???
>398
array_push( "", $var );
とほぼ同じ
0400nobodyさん2006/01/23(月) 19:36:32ID:???
>>399
array_push( $var, "" );

だよね。
しかも$varを配列で宣言しておかないとワーニングになるし。
0401nobodyさん2006/01/23(月) 20:08:36ID:???
こんばんは。昨日chown関数で質問してた者です。
一応解決?しましたので似たような人のために自分が取った方法を書いてきます。

sudoでapacheとnobadyにchownの権限を与えて後はsystem関数で出力 です。
何故かapacheとnobady両方に権限を与えてやらないと通りませんでした。
apacheで動かしてるんだからapacheだけでも行けそうな気がするのですがnobadyがないとFALSEを返すようです。

ちなみにテスト環境は/homeへテスト用アカウント発行して chown -R で再帰的に全てのフォルダ、ファイルを一旦apacheの所有にしてテストしました。
実行はブラウザでアクセスして動かしました。

蛇足ですが、スーパーバイザー権限てroot権限と解釈しているのですがあってますでしょうか

sudoでやりたいことは実現したのですがapahceとnobadyにchown権限を与えているという現状がかなりリスクを背負っているようで回避策を探しています・・・。

0402nobodyさん2006/01/23(月) 21:40:22ID:???
>401
残念だが nobady ではない。 nobody だ。
0403nobodyさん2006/01/23(月) 21:51:41ID:???
セッション情報をデータベースに保持しています。
データベースからセッション情報を取得してから
https://www.stackasterisk.jp/tech/php/searchAction.do?cid=18
のPHP出力をダウンロードさせるの情報を参考にして
phpを作ったのですが正常に反応しません。
セッション情報を取得せずに
試してみると上手くいくので間違いなくsession、ヘッダーあたりで問題があると
思うのですが、解決策はないでしょうか?

ちなみにデータベースからセッション情報を取得するのは
pearのDB.php使ってmysqlに接続しています。
0404nobodyさん2006/01/23(月) 21:53:27ID:???
スーパーバイザーやapahceにも突っ込んであげないと。。。
0405nobodyさん2006/01/23(月) 22:00:07ID:???
>>403
っ ソース
0406nobodyさん2006/01/23(月) 22:10:03ID:???
>>402
まったく、このスレ(板)を見てるなら良く分かると思うんだがね。
0407nobodyさん2006/01/24(火) 01:41:43ID:???
この板の名無しさんてnobodyだったんか
4年通ってたが今気づいた
0408nobodyさん2006/01/24(火) 03:54:25ID:9b512MA6
質問です。
シフトJIS使ってたら、ファイルにデータを保存したりそれを読み込んで表示したり
したときにおかしくなったので、テキストを全部EUC-JPで扱いたいです。
php.iniでは、

mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none

としているのですが、スクリプトでファイルを書き換えるとEUC-JPのファイルも
シフトJISに書き換えてしまいます。
どこが原因でしょうか?
0409nobodyさん2006/01/24(火) 04:07:26ID:???
>>408
アップロードするツール(FFFTPとか)の余計なエンコード変換機能とか。
# FFFTPのはファイル"名"の変換だけだっけ?
0410nobodyさん2006/01/24(火) 04:33:25ID:???
>>408
>スクリプトでファイルを書き換える

これが何やってるのかわからんことにはどーにもこーにも
04114082006/01/24(火) 04:35:19ID:???
>>409
んと、今ローカルでIIS(ver5.1)で動かしているんです。
EUC-JPにしたログファイルをスクリプトで書き換えたあと
ログファイルを見てみると、シフトJISになっているという感じです。
0412nobodyさん2006/01/24(火) 06:14:37ID:QMkPpjCA
スクリプトが、Webページで実行されたか、コマンドラインから実行されたかを、
スクリプト内から知る良い方法はありますか?
0413nobodyさん2006/01/24(火) 09:17:44ID:???
マニュアルの環境変数とか定義済み変数のところをよく読んでみよう
0414nobodyさん2006/01/24(火) 10:45:38ID:???
設定は>>408で問題ないと思うが
・その設定の状態のもとで、スクリプトが本当に動いているのか。
ログに設定の状態を書き込むようにしてチェックしてみるとか
・スクリプト自体のエンコードが本当にEUC-JPか。そのスクリプトの中で
単純なファイルの書き込みを試してみる。例えば
$fp = fopen('test.txt','w');
fputs($fp,'漢字');
fclose($fp);
0415nobodyさん2006/01/24(火) 11:05:13ID:???
>>411
確認したいんだけど、そのスクリプト既存のログファイルを読み込んで
何かデータを追加して書き込み直す処理だけをしてるのかな。
ここの"何かデータ"にあたるのはどうやって生成してる?

プログラムの設計者が敢えて変換を行ってなければ
PHPの設定如何に関わらず、ファイルの入出力に関しては自動に変換などはしない。
取り合えず>>414で簡単なファイル出力してチェック。
0416nobodyさん2006/01/24(火) 11:10:54ID:???
FreeBSD 5.4 に php 4.4.2 のインストールを試してるんだけど
特になにもせず # configure && make && make install で
以下が md5 チェックを失敗してインストールされませんでした。

[PEAR] Archive_Tar: bad md5sum for file /usr/local/lib/php/Archive/Tar.php
[PEAR] Console_Getopt: bad md5sum for file /usr/local/lib/php/Console/Getopt.php
[PEAR] HTML_Template_IT: bad md5sum for file /usr/local/lib/php/HTML/Template/IT.php

これってバグなんでせうか?
0417nobodyさん2006/01/24(火) 11:19:16ID:???
それは下らない質問ではないと思うんだけど。本スレの方がいいんじゃないかなぁ。
0418nobodyさん2006/01/24(火) 12:47:19ID:???
>>417
原因が分かりました。レスありがとです。

pear 以下の tar ファイルにはやっぱり問題があって、
修正が行われたようです。。。

http://cvs.php.net/viewcvs.cgi/php-src/ChangeLog?r1=1.2233&r2=1.2234

2006-01-22 Greg Beaver <greg@chiaraquartet.net>

* (PHP_4_4)
pear/packages/Archive_Tar-1.3.1.tar
pear/packages/Console_Getopt-1.2.tar
pear/packages/HTML_Template_IT-1.1.tar
pear/packages/Net_UserAgent_Detect-2.0.1.tar:
fix bug #36002: md5sum checksum failures on install

とりあえず snapshot 版では fix されてるっぽいので、ここだけ差替えて
利用しようと思います。
0419nobodyさん2006/01/24(火) 13:23:11ID:???
>>416
MD5SUMチェックってことは、それはバグにせよ
そのPHPパッケージの問題じゃないの?
04204192006/01/24(火) 13:27:08ID:???
>>418
つうことは公開してたtar玉とそのチェックサムを
生成した対象が異なってたつうことか。
# 手作業が介在してるのかね。
0421nobodyさん2006/01/24(火) 14:25:37ID:???
mb_send_mailでメールを送信しているのですが、Subjectの最初の文字だけ化けてしまいます。
ソース文字コードSJIS

mb_language('Japanese');
mb_internal_encoding ('shift_jis');

$Subject="株式会社";

$rcd = mb_send_mail($MailTo, $Subject, $Message, $MailFrom);

化けてしまう文字 株
化けた結果 *

$Subject="会社株式";
とかの場合には問題なく表示できます。

同じような状態でEUCで記述した際にも、
登録 という文字が {2 に化けてしまいました。

PHP 4.4.1

よろしくお願いします
0422nobodyさん2006/01/24(火) 14:30:31ID:???
>>421
mb_encode_mimeheader
0423nobodyさん2006/01/24(火) 14:58:21ID:dZqRn44X
Atomを使いたいのでxsltを導入したいんですが
php.iniでextension=php_xslt.dllの前の;をはずすだけでは導入できてないようです
他に何かしなければならないのでしょうか?

ちなみにAtomを使うプログラムは
ttp://page2.xrea.jp/expack/
です

PHPのバージョンは4.4.2です
0424nobodyさん2006/01/24(火) 15:02:44ID:???
ランダムで1〜100の中から一つ数字を選んで
テキストにその数字を書き込む。
というコードを作成したとします。

次にまたページを開いた時に
ランダムで1〜100の中から一つ数字を選んで
テキストに書き込みたいのですが
既にテキストに記入されている数字は選ばないようにしたいです。

なにか上手くやる方法はありませんでしょうか?
0425nobodyさん2006/01/24(火) 15:06:34ID:???
>>423
その「php.iniでextension=php_xslt.dllの前の;をはずす」行為はどこで得た知識?
(php_xslt.dllを使うこと自体は別に間違いではないけど)
取り合えず、ちゃんとPHPのマニュアル嫁。
0426nobodyさん2006/01/24(火) 15:10:34ID:???
>>424
事前にテキストを読み込んで、その値を使わないようにする。

ランダム値を生成して「その値」と等しければ、再度ランダム値を生成
その生成した値もまた…って処理をすれば良いんでないの。
0427nobodyさん2006/01/24(火) 15:23:49ID:dZqRn44X
>>425
ありがとうございます
なんとか導入することができました
0428nobodyさん2006/01/24(火) 15:27:08ID:???
>>424
結局、どこかの場所に使っていない数字を保存しておく必要がある。

閲覧ユーザーごとにやりたいなら、未使用数字を配列にしてセッションに格納
サイト単位でやりたいのなら、未使用数字をDBなどに格納
0429nobodyさん2006/01/24(火) 15:33:13ID:joG44Ifc
ファイル書き込みを行う際に、別の人がファイルをロックしているか
どうかを判定するにはどうしたらいいのでしょうか?
0430nobodyさん2006/01/24(火) 15:35:30ID:???
>>429
マニュアルで flock を読め
0431nobodyさん2006/01/24(火) 15:49:15ID:???
>>429
ロックしている事が、他から確認できるようなロック方法を実装する
0432nobodyさん2006/01/24(火) 16:13:07ID:joG44Ifc
>>430
一通り日本語の部分はよみましたが、どこに書いてるんですか?

>>431
やはり一発で確認する方法は無いという事ですか…
0433nobodyさん2006/01/24(火) 16:36:57ID:IB/gJro7
CSVファイルに対して、擬似的にDBへアクセスするように
SQL文でデータを取り出せるようなクラスとかってどこかで配布していないでしょうか?
0434nobodyさん2006/01/24(火) 16:38:43ID:???
>>429
ロックしてみてロックできなければ誰かがロックしている
0435nobodyさん2006/01/24(火) 17:25:12ID:???
>>432
すでに他の人にflockされてるファイルをflockしようとしたら、
flockが解除されるまで待たされるかエラーが返ってくるから
それで一発で判定できるだろ。
0436nobodyさん2006/01/24(火) 17:35:19ID:???
>>432
ざっくり書くとこんな感じでとりあえずいける。
if ( $fh = fopen( $filename, 'r+b' ) and flock( $fh, LOCK_EX ) ) {
ftruncate( $fh, 0 );
書き込み
}

ロックはその書き込みたいファイルだけじゃなくて他の処理も対象に
含まれる可能性があるので、絶対にこの書き方にすれば ok という
解は存在しない。十分練習を積むべし。

ちなみに、flock は実際にはファイルをロックするんじゃなくて
ロックしますという宣言をするだけなので、flock を使わずに
ファイルを変更することを止めることはできない。その辺注意ね。
0437nobodyさん2006/01/24(火) 18:07:54ID:UpPUFgZM
他のスレで質問したのですが、いた違いだったみたいなのでここで質問させて下さい。

サーバ:
Redhat Enterprise Linux 3
Apache 1.3.33
PHP 4.3.11

クライアント:
Windows XP Pro SP2
Internet Explorer 6.0 SP2

クライアントにおいてクッキーが受け付けられません。
サーバからのレスポンス(PHP経由)ではSet-Cookieヘッダが出力されているのに、
その直後のクライアントからのリクエストになぜかCookieヘッダが付加されないようです。
Set-Cookieヘッダは「Set-Cookie: PHPSESSID=hogehoge; path=/」のように、
一時的なクッキーを設定するようヘッダを出力しています。
サーバにはIPアドレスでアクセスしており、
他のウェブサイトにドメインでアクセスするとクッキーを受け付けることが出来ます。
セキュリティの設定は全てのクッキーを受け入れるようになっています。

何か参考になる情報をご教示頂ければ嬉しいです。
0438nobodyさん2006/01/24(火) 18:17:38ID:???
>>437
ヘッダはどうやって確認してるの
俺はFireFoxにWebDevelopperという拡張機能を追加してるんだがデバッグに便利だよ
レスポンスヘッダもクッキーの確認も簡単
04394372006/01/24(火) 18:20:48ID:UpPUFgZM
IEにレスポンスとリクエストのヘッダが見られるプラグインを追加して確認しています。
ちょっとそのWebDevelopperというのも調べてみます、情報有難うございました!
0440nobodyさん2006/01/24(火) 18:44:37ID:???
>>438
WebDevelopperのレスポンスヘッダ表示ってコンテンツ表示と
同時に別のウィンドウに表示できる?
Information → View Response Headers だと
都度レスポンスを取りにいってるみたいで使い方が限定されるので
Fxの拡張だと http://livehttpheaders.mozdev.org/ の方が使い勝手がいい。
0441nobodyさん2006/01/24(火) 19:38:15ID:???
/で終わるURLからファイル名を取得する方法を教えてください。
たとえば、
http://example.com/
というURLの場合、index.htmlなりindex.phpなりという文字列を取得したいのですが、
どのようにすればいいでしょうか?
0442nobodyさん2006/01/24(火) 19:44:37ID:???
>>441
原則無理。
両方でgetしてみて判定する、という手順を踏めば可能。
0443nobodyさん2006/01/24(火) 19:52:38ID:???
>>441
運がよければContent-Location:ヘッダを見れば判るかも。
たぶん確実な方法はない。
0444nobodyさん2006/01/24(火) 19:54:07ID:???
>>442-443
なるほど、そうなのですね。
ありがとうございましたm(_ _)m
0445nobodyさん2006/01/24(火) 21:51:09ID:OyZLn4Ht
<?php
$logfile = "hoge.txt";
srand( (double)microtime()*1000000 ); //乱数処理
$a=round( rand(0,10) );
$lines_e = @file($logfile);
while (list($num, $line) = each($lines_e)){
list($num,$mess) = split("\t",$line);
if($num==$a){
do {
echo $a.' = '.$num.'<br>';//テスト用に表示
srand( (double)microtime()*1000000 ); //乱数処理
$a=round( rand(0,10) );
} while ($num!=$a);//$numと$aが違くなるまで繰り返し
}
}
?>

hoge.txtには
1 aaaa
2 bbbb
8 aaa
6 eeee
のように番号とメモがタブ区切りで入っています。
ファイルに書き込むときに同じ番号がある場合
もう一度ランダムで重複しない番号を出す処理を考えていたのですが
上のソースではうまく出来ません。
どのようにすればよいでしょうか?
0446nobodyさん2006/01/24(火) 21:56:40ID:???
>>445
乱数取得するたびにsrandやってるからだと思われる
04474452006/01/24(火) 22:12:26ID:???
なんか根本的に俺間違ってる気がしてきました。

このやり方でなくても
ファイルにある数字と重複しないランダムな数字の
出し方があればお願いします。
0448nobodyさん2006/01/24(火) 22:36:08ID:???
>>445
最初にファイル読んでるときに連続していなければ間の番号、
最後まで連続してたら最終+1した番号を持つようにすれば
重複はしないだろう。
04494452006/01/24(火) 22:39:27ID:???
>>448
ランダム値にしたいので、
それで始めてしまうと
0,1,2,3,4,5,6,7,8,9となってしまいませんか?
0450nobodyさん2006/01/24(火) 23:13:35ID:???
>>447
あい。

$logfile = "hoge.txt";
$num_max = 10;

$lines_e = @file($logfile);
$num = range(1, $num_max);
srand( (double)microtime()*1000000 );
foreach($line_e as $l) {
$n = split("\t", $l);
if(($pos = array_search($n[0], $num)) != FALSE) {
unset($num[$pos]);
}
}
shuffle($num);
print $num[0];
0451nobodyさん2006/01/24(火) 23:41:23ID:???
>>447
<?php
$fp = fopen('log.txt','r+');
while( $ary = fscanf($fp,"%d\t%s\n") ){
$log[$ary[0]] = $ary[1];
}

srand((microtime()*1000000));
do{
$a = round(rand(0,10));
}while(isset($log[$a]));

$str = $a."\t".'comment';
echo $str;
fputs($fp,$str."\n");
?>

このままだと、使い切ると無限ループになるがな。
0452nobodyさん2006/01/25(水) 01:11:42ID:???
a.php の中に include('b.php'); があります。
b.php の中には関数が山ほど定義されています。

この関数の一部を c.php にコピーし、
b.php の先頭に include('c.php'); と書いたとき
これって同じ動作が保障されていますか?

ぱっと見良さそうなんですが
動作しなくなる特別な場合とかありますか?
0453nobodyさん2006/01/25(水) 01:14:23ID:???
>>452
コピーなの?移動じゃなくて?
同じ関数を複数のファイルで定義してまとめて読み込んじゃうと
関数の多重定義エラーで止まっちゃうよ。
定義を別ファイルに移動して多段階で読み込むだけなら無問題。
0454nobodyさん2006/01/25(水) 01:15:54ID:???
>>453
すいません、移動の間違いでした。
これで安心してプログラムがかけます。
ありがとうございました。
0455nobodyさん2006/01/25(水) 01:16:31ID:???
>>450>>451
どっちが良いの?気になるから
えらい人おしえて!
0456nobodyさん2006/01/25(水) 02:00:07ID:???
ページ1でランダムに10個の俳句を並べそれぞれ5つのradioボタンで採点させています。
ページ2でバリデーションされるにはどうするのがいいですか?

つまり、ランダムに表示させた俳句番号が正しく送られてきているかチェックしたい。
しかしランダムの数値をサーバ側で持たなくてはいけないような気がするのですが、
session_idを使ったりするのでしょうか。
0457nobodyさん2006/01/25(水) 02:07:25ID:???
もうちょっと下らない質問をしてくだちい
0458nobodyさん2006/01/25(水) 02:11:56ID:???
さっぱり意味が分からないな。

input name="point[表示させた俳句ID]" value="点数"

こんな感じで配列渡しで終わったりしないのか?
0459nobodyさん2006/01/25(水) 02:14:39ID:???
>>456
どのくらいの厳密性を要求してるのかにもよる気がするんだけど、
各採点ボタンの俳句No.+全No.順リスト1個の組み合わせにして
両者が合致してればOKにするとか、不安ならさらにリスト側をMD5で
暗号化しとくとかでも十分な気がする。
(それでも不安ならCRCでも付加しとけば良かろう)
個人的にはそういう一時的遷移情報の照合でセッションを使うのは
処理コストが高い+新規ウインドウを出すと矛盾しかねないので好かない。
0460nobodyさん2006/01/25(水) 02:22:55ID:???
PHPで世界征服は可能ですか?
0461nobodyさん2006/01/25(水) 02:28:13ID:???
C#なら!
0462nobodyさん2006/01/25(水) 02:44:08ID:???
>>458
そのIDが次のページでチェックする時に保持されないので困っている次第です。

>>459
ちょっと理解できなかったです…すみません。
全No.順リスト1個ってなんでしょうか?

厳密性は、
DB上のPRIKEYが俳句No.となっていて<input name="俳句No.(つまりPRIKEY)"... です。
これだと好きなものに適当に点数をつけられるのは嫌かなー位です。
04634512006/01/25(水) 02:48:59ID:???
>>455
451の悪いところを挙げようか?
例えば0〜100億の範囲の内、1〜100億までを使い切っていたとすると
最後に残っている0に合致するまでランダムに値を生成しないとならないので
相当なロスがあるよ。1〜100億までを使い切るまでにも、
そういったロスが積み重なっている筈。
04644502006/01/25(水) 03:10:28ID:???
>>463
そういう意味では450のは多くても少なくても処理時間は極端には差がないけど、
最初に「使用可能なNo.のリスト」を生成するのでメモリを食いやすく、初回から
それなりの処理時間を必要とするかもね。
多分、まだデータの少ないうちなら451の方が処理速度が速い。(希ガス)

処理速度的には最後のランダム要素抽出ってshuffle→[0]抜き出しよりも
randで抽出位置の決定をやった方が速いかもしんない。
(PHPのshuffleの速度ってベンチ取ったことないから分かんないけど分量増えると遅そう…)
04654592006/01/25(水) 03:22:27ID:???
>>462
要するに
<input type=hidden name="俳句No[0]" value="3">
<input type=radio name="採点[0]" vakue="1">...<input type=radio name="採点[0]" vakue="5">
<input type=hidden name="俳句No[1]" value="5">
<input type=radio name="採点[1]" vakue="1">...<input type=radio name="採点[1]" vakue="5">
 :
<input type=hidden name="俳句No[9]" value="2">
<input type=radio name="採点[9]" vakue="1">...<input type=radio name="採点[9]" vakue="5">
とかいう実際の10個の俳句フォームに加えて
<input type=hidden name="俳句list" value="3,5,〜,2">
という、[0]〜[9]にそれぞれ何番を入れたかを連結したデータも一緒に入れてやって、
submitされたら
if(implode(",", $俳句No) != $俳句list) { echo "データが不正です"; }
とかすればいいんじゃないの?ってこと。

で、このリストが丸見えだとそっちも操作されそうで怖いと言うのであれば
<input type=hidden name="俳句list" value="<?=md5("3,5,...,2")?>">
とmd5化してやって、
if(md5(implode(",", $俳句No)) != $俳句list) { echo "データが不正です"; }
としちゃえば、そうそう容易には改変できないでしょ、ということ。
0466nobodyさん2006/01/25(水) 03:33:12ID:???
>>455
451が最後に書いてる「全ての番号を使い切ってしまったかどうか」を判定させるなら
450の処理方法の方が格段にやりやすい。
多分、451はその処理を加えるだけで急激に速度が落ちる。
04674662006/01/25(水) 03:35:06ID:???
あ、ごめん。そんなことないや。
単純に if(count($log) >= 11) とかで一発で判定できちゃうね。
すまそ
0468nobodyさん2006/01/25(水) 04:05:39ID:???
>>465
す、すごい技ですね。考えもつきませんでした。

ちょっと理解できなかったのは、俳句listには何が入るのですか?俳句No[]かな?

あれ?POSTで送られてくる値って前ページHTMLと同じ順番で来るんでしたっけ?
0469nobodyさん2006/01/25(水) 04:17:23ID:???
>>468
POST後に俳句Noをimplodeで連結して判定してんだから
当然listに入れるのも俳句Noをimplodeしたものだよ。
あとPOSTの送信順はnameを配列変数名にしてれば気にする必要なし。
name="俳句No[3]"はPOSTされると$_POST["俳句No"][3]に格納される。
0470nobodyさん2006/01/25(水) 04:53:17ID:???
>>469
やっと理解できたと思います。ありがとうございます。

上のソースだと valueのところを好きなようにいじって、md5(...)のとこも
好きなようにいじったように入れれば、任意の番号をいじれるじゃん!
って思ったけど、md5をsha1とか違うアルゴリズムにすればわからないわけですね…

POSTの送信順は、関係ないですね。俳句No[]は、0-10で並ぶわけですから。
非常に勉強になりました。
0471nobodyさん2006/01/25(水) 05:04:59ID:???
確かにmd5の案は落とし穴っぽい。
cryptとか、補助キーを使う暗号にすればいいね。
0472nobodyさん2006/01/25(水) 05:16:44ID:???
>>470-471
だから最初にどのくらいの厳密性を要求してんのか、って聞いたんじゃん。
そこの強度を上げる方策は色々あるんだから必要に応じて凝ればよろしい。
0473nobodyさん2006/01/25(水) 09:08:44ID:???
phpで使えるhtmlってバージョン3ですか4ですか?
0474nobodyさん2006/01/25(水) 10:00:12ID:???
バージョン6だよ
0475nobodyさん2006/01/25(水) 10:00:30ID:???
>>473
Compact HTML でもなんでも好きなのをどうぞ
0476nobodyさん2006/01/25(水) 12:21:33ID:???
俳句No[ ]いらなくないか?
0477nobodyさん2006/01/25(水) 12:48:25ID:???
>>476
無くても処理は可能だけど、あった方が俳句listとの比較が容易になる上、表示の順番も含めてチェック可能になる。
0478nobodyさん2006/01/25(水) 13:21:01ID:???
おい、おまえら

$str = 'a';
$str++;

これで$strはbになるって知ってたか?
知らなかったぜフハハー
0479nobodyさん2006/01/25(水) 13:48:37ID:???
マニュアル行き
0480nobodyさん2006/01/25(水) 14:06:33ID:???
なにこの良スレ
0481nobodyさん2006/01/25(水) 14:39:23ID:???
>>478
Perlのパクリ
0482nobodyさん2006/01/25(水) 14:43:57ID:???
質問です。

http://hogehoge.hoge/?aaa=5
などでURLを開くと
$aaaの値に5が入りますが

http://hogehoge.hoge/5
このようなURLで
$aaaに5を入れる事は出来ますか?
0483nobodyさん2006/01/25(水) 14:47:25ID:???
.htaccessとかmod_rewriteとかApacheの機能を使ってURLの変換かければできなくはない。
0484nobodyさん2006/01/25(水) 14:48:15ID:???
PATH_INFO も FAQ かな
0485nobodyさん2006/01/25(水) 14:53:03ID:???
PATH_INFOってURLの途中にプログラム挟まないと無理じゃないの?
0486nobodyさん2006/01/25(水) 15:23:38ID:???
>>485
exmaple.com のトップページがプログラムならいいんじゃないの?
0487nobodyさん2006/01/25(水) 15:47:06ID:???
>>486
/5 ってのがくっついた時点で /5/{DirectoryIndex} にアクセスしない?
で、5 の部分がパラメータ値なら可変なんだろうからそんなディレクトリは存在しない→404かと
0488軟式PHP2006/01/25(水) 16:10:34ID:???
483が答え書いてるジャソ
0489nobodyさん2006/01/25(水) 16:16:03ID:???
>>488
別解としてPATH_INFOが使えるかどうか、という論議だろ。
0490nobodyさん2006/01/25(水) 16:53:56ID:???
>>478
それよりも
$str = 'z';
$str++;
$strがaaになる
覚えておけ
0491nobodyさん2006/01/25(水) 16:57:41ID:???
>>489
PATH_INFOでもindex.phpとかが省略されていたら無理
http://example.com/index.php/5 はOKだけど
http://example.com/5 は404not found
0492nobodyさん2006/01/25(水) 17:17:08ID:???
そのへん極めるならPHP単体でやることじゃないな
0493nobodyさん2006/01/25(水) 17:20:08ID:???
くだらなくないねぇ
0494nobodyさん2006/01/25(水) 17:24:07ID:???
/?aaa=5 のパラメータの値として想定される数だけディレクトリ作って、
そこに自分のディレクトリ名を$aaaにセットするindex.phpを置けば
PHPだけでもできるな。
0495nobodyさん2006/01/25(水) 17:33:01ID:P6kcSZ98
返り値のないクラスのテストについて教えてください。
class foo {
 function execute() {
  $sp =& fopen("huga.txt", "r");
  $fp =& fopen("hoge.txt", "w"); flock($fp, LOCK_EX);
  if ($fp == FALSE) {
   $result = PEAR::raiseError("Can't Open File");
   return $result;
  }
  while ($data = fgets($sp, 1024)) {
   fputs($fp, $data);
  }
  fclose($sp);
  flock($fp, LOCK_UN);
  fclose($fp);
  return TRUE;
 }
}
例えばPHPUnitを利用して
正しく書き込まれているか。エラーが生成されるか。
をテストしたいのですが、どのようにテストすればいいのでしょうか。
0496nobodyさん2006/01/25(水) 17:37:38ID:???
>>495
PHPUnit 側でそのファイルに対してチェックを行うっつーのはダメでしょうか
0497nobodyさん2006/01/25(水) 18:49:30ID:???
PHP でオセロ作るの無理っぽくね?と思ったゆうべの10時頃。
作り方も考えつかねーよウボァー
0498nobodyさん2006/01/25(水) 19:22:41ID:???
無理ではないだろ
0499nobodyさん2006/01/25(水) 19:29:30ID:???
>>497
おまえがタコなだけだ
0500nobodyさん2006/01/25(水) 19:29:56ID:???
プレイヤーが○の時
1〜3はループ
1.置いた周囲に●があるか判定
↓YES
2.その方角をひとつづつ読み込み、○が最初に出た時点まで判定
↓YES
3.間を全て○にする

でいいんじゃないの
0501nobodyさん2006/01/25(水) 20:28:10ID:???
言語選択の問題
0502nobodyさん2006/01/25(水) 21:00:06ID:???
Ajaxと連携すればできるだろ。
これはRubyだけど、ttp://www.railthello.com/
0503nobodyさん2006/01/25(水) 21:04:12ID:???
PHPでリアルタイムゲームは相性悪そう
0504nobodyさん2006/01/25(水) 21:20:18ID:???
Ajaxまで使う必要あるか?別にコマを置く→リロードで構わないだろ。オセロくらい。
0505nobodyさん2006/01/25(水) 22:49:14ID:???
むしろ、JavaScriptだけでいけそうな気もする。
0506nobodyさん2006/01/25(水) 22:55:02ID:???
下手したらJavaScriptもいらないのでは。
0507nobodyさん2006/01/25(水) 22:58:40ID:???
>>505-506
お前らはきちんと話を読め。誰か言い出すかと思ったけど。
0508nobodyさん2006/01/25(水) 23:06:06ID:???
誰かがやらなきゃいけないなら俺がやる!
0509nobodyさん2006/01/26(木) 01:58:35ID:???
送られて来た点数をMysqlでUPDATEしようとしています。

$id_point_map = array(1 => 4, 2 => 2, 3 => -2, 4 => -4); //idと点数

この場合以下のUPDATEをcount($id_point_map)分foreachでまわさないと
いけないでしょうか?一気にUPDATEする方法はあるでしょうか?

UPDATE date SET total_point=total_point+$point WHERE id = $id;

0510nobodyさん2006/01/26(木) 02:43:25ID:oTQct+IL
preg_matchとpreg_match_allの違いって、
preg_matchは該当する先頭の1個だけで、
preg_match_allは該当するモノ全部って事??
0511nobodyさん2006/01/26(木) 03:01:14ID:???
>>510
基本的にそんな感じ、詳しくはマニュアル嫁
0512nobodyさん2006/01/26(木) 10:41:21ID:???
>>509
PHPの質問じゃない。MySQLのスレで聞いてこい。
0513nobodyさん2006/01/26(木) 11:19:34ID:???
文字コードの変換方法おしえてください。
jcodeとかnkfみたいなのありませんか?
0514nobodyさん2006/01/26(木) 11:27:09ID:???
>>513
マニュアルのマルチバイト文字列関数のところを穴が開くほど読め
0515nobodyさん2006/01/26(木) 11:38:00ID:???
mb_convert_encodingがエラーで動かないんですが、追加で何かインスコとかしないとダメですか?
0516nobodyさん2006/01/26(木) 11:43:35ID:???
環境書けよ
0517nobodyさん2006/01/26(木) 12:22:26ID:???
xreaのPHP4サバでPEARを使うにはどうしたら宜しいのでしょうか?

require_once "HTTP/Compress.php";
とやると
Warning: main(HTTP/Compress.php): failed to open stream: No such file or directory
と出てしまいます。
CGI版PHPにしても同様です。
0518nobodyさん2006/01/26(木) 12:36:59ID:???
>>515
エスパー的能力を発揮すると、
php-mbstringパッケージを入れろって頭に浮かんだよ。
0519nobodyさん2006/01/26(木) 12:43:58ID:???
>>517
include_pathに、そのPEARライブラリを置いてあるパスを含ませる。
0520nobodyさん2006/01/26(木) 13:06:32ID:???
function内で定義した変数を別functionで参照したいのですがどのようにすればよいのでしょうか?
globalでやってみても駄目でした。

<?
$a=10;
test();
function test(){
$b=20;
test2();
echo $b;
}
function test2(){
global $b;
$b++;
}
?>

↑では$bが21になるようにしたいんですけど・・。
0521nobodyさん2006/01/26(木) 13:32:24ID:???
>>520
変数$bはtest内ローカル変数だから、test2内からでは参照できない。
変数$bを、変数$a同様にグローバルの場所で宣言するか、test内で global $b; として宣言する。
0522nobodyさん2006/01/26(木) 13:38:08ID:???
>>520
つかその使い方なら test2($b); で渡せば良いだけだと思う。
どうも根本がわかってないようだが。
0523nobodyさん2006/01/26(木) 13:46:40ID:???
Perl の sub や BASIC の GOSUB しかやったことない場合は
これで普通って思うかも

>>520
関数っつーのは一般に y= f(x) の形で表されるもので、
「何か値を入れたら何かが返ってくるもの」と考えるのが
C系の言語の基本です。で、関数の中身のことは知らなくて
いいように作る。これ。
05245202006/01/26(木) 14:01:52ID:???
みなさんありがとう。
>>522さんのやり方は当然わかっていたのですがどうせなら引数も
持たさないでいきたいなと思ったので・・。書いてなかったのですいません。
>>523さんの言いたいことはわかるのですが作るとなるとうーむ・・むつかしいところですね^^;
0525nobodyさん2006/01/26(木) 14:06:28ID:???
>>524
もしいくつかの関数で変数を共有したいというのであれば、
global 宣言使うよりも class 使った方が何かといいよ。
おれも引数は少ない方が好きだからその気持ちは分からなくもない。
0526nobodyさん2006/01/26(木) 14:45:41ID:???
>>525
classを活用出来ていない外野なんだけど、クラスでの解決方法をさらして欲しい・・
なんていうのは贅沢ですかそうですか

簡単にクラスを使った用例がホスイ
0527nobodyさん2006/01/26(木) 14:54:48ID:???
>>526
class Hoge
{
var $b;
function test(){
$this->b=20;
$this->test2();
echo $this->b;
}
function test2(){
$this->b++;
}
}

$a = new Hoge;
$a->test();
0528nobodyさん2006/01/26(木) 15:01:11ID:???
>>527
おぉ、サンクス。

>>526
メリットとしては共有しているものがはっきり違う形で
書かれているので関数の中だけ見ていてもぱっと見で影響
範囲が分かるってことと、共有する変数(PHP 的な正確な
用語は知らん)については最初に初期化しなければいけない
ので、これもあとで見たときに分かりやすくなるってこと
かな。使い捨てならどうだっていいことだけど。
05295202006/01/26(木) 16:48:46ID:???
おお、俺もひよこなんでclassの解説が聞きたかったので良かった。サンクス

で、確かにクラスにしようかなとも考えたのですが
なんというかオブジェクト?(カート、動物)と言った物の処理とは
ちょっと違うように思えたのでそれならclassもおかしいのかなと思いました?
言葉ではちょっと表しにくいですね・・・。
簡潔に言えば労働スケジュールを組んでいます。(時間配分や機械等)
でこの日にはこの処理をこれだけの量やってって感じなんですが
ここである条件の場合の処理というのを関数に分けているのです。
で、さらにこの分けた関数処理の中でも条件分岐によって重複する処理がでたので
さらに分けたということなんです。
・・て感じなのでなんていうか、クラス的な考え方ってありなのでしょうか?
05305202006/01/26(木) 16:52:45ID:???
あ、連投スマソ。ものはついでに教えてほしいのですが
俺の考え的には
if(){
 処理A
 処理C
}else{
 処理B
 処理C
}
↑の重複する処理Cの部分が多くなると関数として分けているのですが
こういう考え方についてはどう思われるのでしょうか?いろいろ教えてください^^;
0531nobodyさん2006/01/26(木) 16:57:53ID:???
>>530
俺だったら
if(){
 処理A

}else{
 処理B
}
処理C

こう書く
05325202006/01/26(木) 17:07:37ID:???
>>531 あ、ごめん。はしょりすぎた。確かに>>530ならそうですねw
for(){
if(){
 if(){
  処理A
break 3
 }else{
  処理B
 }else{
  処理C
  処理D
  break 2
 }
}else{
 if(){
  処理E
 }else{
  処理F
 }else{
  処理G
  処理D
  break 2
 }
}
}
こんな感じでネストかけまくってるんです;;
処理Aとかも短くて同じ処理あるのですがいちいち関数で分けてたらややこしくなるしと思いまして・・
0533nobodyさん2006/01/26(木) 17:08:17ID:???
>>529
オブジェクトは単なる概念であって物理的なモノとは全然関係ないんで、
「1日」がオブジェクトだったり、「作業」がオブジェクトだったり、
処理しやすいように書けばいいと思うけど?

何か一つオブジェクト指向言語をやってみると目から鱗が落ちて、
なんでもかんでもオブジェクトとして扱えるようになるかもしんない。
でもそうなると PHP やめたくなるかもしんない。
0534nobodyさん2006/01/26(木) 17:21:47ID:???
PHPでMVCをうたってる参考書にはアクションクラスなるものもあるくらいだし
オブジェクト=モノ、みたいな発想にとらわれることはないかと。

ただのスタティックな関数の寄せ集めをそれっぽい名前でカテゴライズしてクラス階層に落とし込んだりもするし。
0535nobodyさん2006/01/26(木) 17:27:26ID:???
>>532
脱皮が必要な時期にきてるかもね。
関数はくり返し使う処理を切り出すってより、「ロジックを書きやすく
読みやすいものにするためにブラックボックスを作る」という発想で
作っていくといいよ。まぁそのためにはデータ構造とかもいじらなきゃ
いけなくなるかもしんないけど。

例えば今回のスケジュールならたぶん作業や機械によって条件が
変わってくるでしょ? そういう条件をひっくるめてオブジェクトとして
くるんでしまう。そうするとおおもとのロジックで気にすべき条件は
見た目上だけど減るよね。オブジェクトの中に入っちゃうんで直接気に
する必要がなくなる。あとはロジックを書く際にいちばんほしい情報
だけをオブジェクトに教えてもらいながら書き進めていけばいい。

日本語だとえらく漠然としちゃうけど、オレの言いたいことは「ロジックを
気持ちよく書けるように工夫しろ」ってことだ。その結果、コード量が
増えてしまうことを恐れてはいけない。増えても読みやすければいいんだ。
0536nobodyさん2006/01/26(木) 20:51:35ID:???
Apache+Tomcatを導入しろと言われたのですが
Apacheってなんのためにあるんでしょ?
URLから「8080」のようなポート番号が必要なくなるだけ?
0537nobodyさん2006/01/26(木) 20:55:49ID:???
どこがPHPの質問やねん。
0538nobodyさん2006/01/26(木) 21:19:04ID:???
>>536
Apacheのほうがwebサーバとしての機能が十分に備わってるからでしょ。
TomcatはあくまでもApacheのプラグインと考えたほうがいいよ。
0539nobodyさん2006/01/26(木) 23:06:17ID:???
PHPで関数を多重同時実行することはできるでしょうか。
例えばfopenを使ってページや画像を保存する処理、つまり多重ダウンロードなどをしたい時は、
fopenでなくsocket系を使うべきでしょうか。
05405322006/01/27(金) 08:10:12ID:???
>>533-535
ありがとうございます。
>>535さんまた難しそうですね^^;
確かに実際にオブジェクト指向組んだことないし勉強しなければ・・
俺は癖でつい読みやすさよりコード量減らしてしまふ・・orz
>>533 やめたくなるってのはオブジェクト指向には適していないから??
0541nobodyさん2006/01/27(金) 08:44:08ID:???
>>540
短くすること自体は良い習慣だけどね
全体量が小さくなることよりもブロックが小さくなることの優先度が
高いかな。おれはね。長いブロックを読み書きする体力がないもんで。

PHP はオブジェクト指向には「あまり」向いてないと思うよ。
5 はだいぶマシっぽいけど。
まぁそれは今から気にする必要ないんじゃない?
0542nobodyさん2006/01/27(金) 10:09:24ID:???
俺は構造化のためにclass使ってるだけだけど、
かなり見通しも良くなるし、変数のスコープも明確になる。

ひとまず、クラスなんて使ってみれば「どうということはない」。
オブジェクト指向はその後でもいいんじゃね?
0543nobodyさん2006/01/27(金) 11:43:37ID:???
そうですね。一人で作ってる小さいプログラムですし。
MVCとかも以前JSPサーブレットとか使ったときちょっとやったけど
量が少ないと分けない方が楽なんですよね。
もはや人に見せることは考えてないですが・・^^;
・・とこんなこと書いてると俺のひよこレベルがw
0544nobodyさん2006/01/27(金) 15:02:56ID:???
PHPなら最初のころはclassなんてイラネと思うだろうけど
後のメンテナンス性、拡張性考えると自然とオブジェクト指向になっていくお^^
0545nobodyさん2006/01/27(金) 15:42:53ID:???
オブジェクト指向がよくわからんのだけども、
とりあえず全てclassに入れればいいのかな?
0546nobodyさん2006/01/27(金) 15:47:56ID:???
やみくもにclassに突っ込んだだけならオブジェクト指向とはいえない。
PHPなんて代表的なオブジェクト指向が必須でない言語の一つだから、無理してclassを使う必要はない。
0547nobodyさん2006/01/27(金) 16:29:44ID:???
>>545
ちょっと前に書いてあるじゃん。
変数を共用したいとかそういう、「同じグループに属してる感」が
ないのに class に入れたって面倒なだけ。
0548nobodyさん2006/01/27(金) 16:40:41ID:Y9rt4MFE
フレームワークとテンプレートエンジンて何が違うの?
0549nobodyさん2006/01/27(金) 17:32:34ID:???
function hoge(arg1,arg2){
 for(){
  処理A
 }
 if(flag){処理B}
}

↑上の状態で処理Aの中でflagがtrueになった場合、
下のif文中処理Bのところでもっかいfor文に飛ばすにはどうすればよいですか?
for文の外に無限ループつけてそこにcontinueとかするしかないのでしょうか・・
0550軟式PHP2006/01/27(金) 17:43:45ID:???
for()
{
処理A
}
を関数化すりゃいいんでねぇの。
0551nobodyさん2006/01/27(金) 17:51:28ID:???
●改造は自由にどうぞ
●著作権は消さないで

というスクリプトを改造して、HPに載せたいんだけど、改造したものでも著作権の表示は必要なの?
0552nobodyさん2006/01/27(金) 17:55:18ID:???
>>551
日本語読めませんか?
0553nobodyさん2006/01/27(金) 17:58:29ID:???
改造といってもベースになってるのは他人の物なんだから、
著作権明示は必要。
どうしても消したいってときは、作者に連絡してみれば?
カンパ金かなんか払えば消してもいいって人いるかもよ。
0554nobodyさん2006/01/27(金) 18:12:54ID:46g/AEL1
スレ違いかと思うんですが、
PHPでBlogを作っているんですが、メールで更新出来る様にしたいと思い色々調べて、.forwardを使ってメールをプログラムに転送すれば良いと解ったのですが、転送先のプログラムにはどのような処理を書けばいいのでしょうか。
例えばGETなりPOSTなりで送られてくる訳ではないですよね?
自分なりに調べてみたんですが、今ひとつ解説してあるサイトが見つかりません。。
ヒントだけでも頂けないでしょうか。
よろしくお願い致します。
0555nobodyさん2006/01/27(金) 19:50:32ID:???
>>554
標準入力
0556nobodyさん2006/01/27(金) 21:10:57ID:???
>>548
テンプレートエンジンはあくまで動的なページ生成を PHP を
直接書かずにできるようにする仕組み。フレームワークはユーザー
からの入力、画面遷移、セッション、DB など全般的に抽象化して
アプリケーションの骨格だけ書くことに集中させてくれるもの。
0557nobodyさん2006/01/27(金) 23:24:19ID:Y9rt4MFE
>>556
ありがとうございます
0558nobodyさん2006/01/28(土) 04:46:39ID:NaSuq9Gx
>>555
まだ試してないんですが、検索したらそれらしいものが出てきました!
ありがとうございました!
0559nobodyさん2006/01/28(土) 04:49:51ID:???
変数とかファンクションに名前つけるときの命名なんだけど

myFunction()

my_function()

おまいら、どっちにしてる?
0560nobodyさん2006/01/28(土) 05:48:23ID:???
>>559
下のほう
0561nobodyさん2006/01/28(土) 05:53:02ID:???
たぶん my_func()
0562nobodyさん2006/01/28(土) 05:58:04ID:???
javaのコーティング規約にのっとって、
$my_fanc
myFanc
0563nobodyさん2006/01/28(土) 07:32:48ID:???
>>559
PEARに準拠
0564nobodyさん2006/01/28(土) 07:37:46ID:???
PEARのコーティング規約に準拠するのがいいよ。
だからこっち myFunction()
0565nobodyさん2006/01/28(土) 10:48:04ID:???
>>562
同じく
0566nobodyさん2006/01/28(土) 13:16:01ID:???
最近PHPはじめたんですけど、
PEARって何?って人にどこかいいサイトありませんでしょうか?
「PEAR は、TeXの CTAN および Perlの CPANにヒントを得たPHP拡張および
PHPライブラリのコード用のコードレポジトリです。」
こんなことを言われても正直わかりません…
0567nobodyさん2006/01/28(土) 13:17:27ID:???
>>566
ttp://www.amazon.co.jp/exec/obidos/ASIN/4798109592/
詩ね
0568nobodyさん2006/01/28(土) 13:19:43ID:???
誰も本を紹介してくれとは言ってませんよ。
サイトを紹介してください。
0569558です。2006/01/28(土) 13:26:03ID:NaSuq9Gx
何度もすいません。
テストでfgetsで取得してファイルに書き込むようにプログラムしたんですがうまく行きません。
これってもしかしてCGI版じゃないとダメな感じなんでしょうか。。
0570nobodyさん2006/01/28(土) 13:29:43ID:???
>>566
公式に管理された汎用PHPライブラリのことだよ。
0571nobodyさん2006/01/28(土) 13:35:57ID:???
>>569
CGI っつーか CLI
単体でコマンドラインから起動できるバイナリが必要
0572nobodyさん2006/01/28(土) 13:51:20ID:???
>>569
ほいっ。マニュアル
「第43章PHP をコマンドラインから使用する」
ttp://www.php.net/manual/ja/features.commandline.php
0573nobodyさん2006/01/28(土) 14:17:47ID:mOSvPqom
フォームから変数に代入する方法は分かりますが、
変数をフォームに出力するにはどうすればいいのでしょうか?
0574nobodyさん2006/01/28(土) 14:26:58ID:???
とりあえずググって色々サンプルとか調べてみれば

話はそれからだw
0575nobodyさん2006/01/28(土) 14:27:54ID:???
>>573
それは HTML の問題だろ…。

$test = htmlspecialchars($_REQUEST['test']);
<input type="text" name="test" value="$test">
0576nobodyさん2006/01/28(土) 14:36:08ID:???
" "で囲まれた中に記述する変数は全て{ }で囲んでも問題ありませんか?
また、そうする事が推奨されていたりはしますか?
0577nobodyさん2006/01/28(土) 14:47:59ID:???
問題があるかどうかはやってみればいいじゃん。
思い通りに表示されれば問題なし。
エラーが出たら問題あり。

一応囲むのが普通とだけ言ってみる。
0578nobodyさん2006/01/28(土) 14:49:34ID:mOSvPqom
ググって、見つからなかったから聞いているのですが。
0579nobodyさん2006/01/28(土) 14:55:06ID:???
>>577
手元では問題なかったのですが、
特別なケースがあるのかなと思って・・・

今までは必要最低限でしか{ }を使わなかったですが
これからは基本的に囲むようにします
0580nobodyさん2006/01/28(土) 14:55:48ID:???
>>576
問題は無いつーか、問題が無くなるわな。
マニュアルによると、PHPの中の人が変数名を見つけ出す方法はこのようになっている。

> ドル記号($)を見付けるとパーサは、有効な変数名を形成することが可能な最長のトークンを取得します。
> 変数名の終りを明示的に指定したい場合は、変数名を波括弧で括って下さい。
0581nobodyさん2006/01/28(土) 14:58:38ID:???
>>580
なんかその理屈だと}だけでいい気がす
0582nobodyさん2006/01/28(土) 15:01:32ID:???
>>578
探し方が悪いだけじゃない?
0583nobodyさん2006/01/28(土) 15:06:18ID:???
function hoge($aaa, $string) {
if ($aaa) echo $string;
}

という条件付echoを作成しました
どんな関数名にしたらいいでしょうか
みなさんの知恵をください
沢山使うので一般的な名前にしたいのですが
0584nobodyさん2006/01/28(土) 15:15:46ID:???
>>583
echoIf( $condition, $string )
0585nobodyさん2006/01/28(土) 15:28:04ID:???
echo $aaa ? $string : "";
0586nobodyさん2006/01/28(土) 15:39:50ID:???
phpinfo();で表示される Apache Environment の値を取得するには
どうすればいいんでしたっけ?
$_ENV か $ENV だったような気がしたのですが・・・。

具体的には、REQUEST_METHOD の値を知りたいのですが。
0587nobodyさん2006/01/28(土) 15:59:44ID:???
>>584
採用させていただきます
ありがとうございました
0588nobodyさん2006/01/28(土) 17:05:51ID:EkhKiUPm
PHPで、javadocみたいにコメントからドキュメントを作ってくれるのってありませんか?
0589nobodyさん2006/01/28(土) 17:26:27ID:???
>>588
ぜひ作ってください
0590nobodyさん2006/01/28(土) 17:29:39ID:???
>>581

$foo[$bar][$hoge['$fuga']]}

こんなのでも}の起点を正確に探知しなきゃいけないパーサカワイソス
0591nobodyさん2006/01/28(土) 17:38:09ID:???
<input type='hidden' name='a[]' value='1'>をGETメゾットで送りたいのですが可能でしょうか?

./?a%5B%5D=1では受け取れなかったのです。
0592nobodyさん2006/01/28(土) 17:41:17ID:???
>>591
試してみれば
05935912006/01/28(土) 17:53:49ID:???
構造上の問題だった-;)
失礼しました
0594nobodyさん2006/01/28(土) 18:10:29ID:???
>>588
http://pear.php.net/package/PhpDocumentor
0595nobodyさん2006/01/28(土) 18:10:40ID:???
ファイル分割について質問があります

例えばC++でDBを扱うクラスclass_dbを db.h と db.cpp に記述したとします。
db.hにクラス宣言、db.cppに定義を行いますよね。
さらに aaa.h、bbb.h、ccc.hでclass_dbのstatic関数を用いたいときは
これらの先頭にinclude<db.h>と書きますよね。

    main.cpp
   ↓  ↓  ↓
 aaa.h bbb.h ccc.h
   ↓  ↓  ↓
      db.h

の感じでインクルードします。

このような事をPHPでやるとき、このまま書くと多重定義になるので
      main.php
  ↓   ↓   ↓   ↓
aaa.php bbb.php ccc.php db.php

と書いたらうまくいきました。

ところがaaa.php、bbb.php、ccc.phpはdb.phpをインクルードしてないのに
db.phpで定義した関数が出てきてしまい、何か気持ち悪いです。

PHPはこういうもんなんだと納得すべきでしょうか。
それともいい方法があれば教えてください。
0596nobodyさん2006/01/28(土) 18:17:39ID:???
>>595
include_once
0597nobodyさん2006/01/28(土) 21:07:05ID:xY1GiFbj
PHPでezwebのサブスクライバを取得する場合、どう書いたらいいんでしょう?

cgiだったら

if ($user =~/UP\.Browser/) {
$user = $ENV{'HTTP_X_UP_SUBNO'};
}

でいけるみたいなんだが、PHPだとどう記述するのでしょうか?
0598nobodyさん2006/01/28(土) 21:13:33ID:???
>>597
ezwebの事は知らんが、そのコードを見た感じだと、

・$userは環境変数UserAgentから取得。
・$userがUP.Browserという文字から始まっていれば、ezwebだと解釈し、
・さらに環境変数HTTP_X_UP_SUBNOを取得すると、サブスクライバとやらが取得できる。
ってことじゃないの?
$_SERVER $_ENV配列あたりを覗けば希望するものが得られるかと。
0599nobodyさん2006/01/28(土) 22:42:35ID:???
>>597
CGIでなくPerlだったら、なんだろうが(PHPでもCGIは書けるぞ)
PHPで同じ内容は
if (preg_match('/UP\.Browser/', $user)) {
$user = $_SERVER['HTTP_X_UP_SUBNO'];
}
と書く。
0600nobodyさん2006/01/28(土) 23:11:00ID:OGAeWMPn
教えてください。
phpで、windowsで言う所の「ファイルの作成時刻」を得たいのですが、
statについて調べてみると


8 atime 最終アクセス時間 (Unix タイムスタンプ)
9 mtime 最終修正時間 (Unix タイムスタンプ)
10 ctime 最終変更時間 (Unix タイムスタンプ)

とのことで作成時刻は得られないのでしょうか。
それと、最終修正時間と最終変更時間って何の違いでしょう?
0601nobodyさん2006/01/28(土) 23:14:56ID:xb4UVvPr
よくブログなどで、
携帯メールを指定アドレスに送る→ブログに更新
なんてのがありますが、具体的にどうやって実装すればいいでしょうか。
0602nobodyさん2006/01/28(土) 23:20:06ID:???
>>600
ctime - unix系で言うところのinodeの情報(所有者やグループ、パーミッション等)が変更された時。
0603nobodyさん2006/01/28(土) 23:26:43ID:???
>>600
マニュアルにも書かれているが、
filectime
>注意: 多くのUNIXファイルシステムでは、i-ノードが変更された際、つまり、パーミッション、所有者、グループ、
>または他のメタデータが書き込まれた際に、ファイルが変更されたとみなされます。
filemtime
>注意:この関数は、ファイルのブロックデータが書き込まれた時間を返します。これは、ファイルの内容が変更された際の時間です。
つまり、ファイルの内容が最後に更新された時間がfilemtime、
内容以外でもパーミッションなども含めて最後に更新された時間がfilectime
ということになる
ちなみに、fileatimeの所に
>いくつかのUNIXでは、ファイルのctimeはファイルの作成時間として参照されます。これは間違っています。
>多くのUNIXファイルシステムでは UNIXファイルの作成時間は存在しません。
とマニュアルには書かれている
0604nobodyさん2006/01/28(土) 23:35:04ID:???
>>601
>>554->>555
0605nobodyさん2006/01/28(土) 23:36:44ID:???
どうもです。
06066002006/01/28(土) 23:37:28ID:???
ガーン。マジだ。statは調べたけどfilectimeなんてのもあったのか。
thxですた。∧||∧
06076002006/01/28(土) 23:38:21ID:???
>602さんにももちろんthxですた∧||∧ ∧||∧
0608nobodyさん2006/01/29(日) 02:12:39ID:???
お願いします!
今、WindowsXPのコマンドプロンプト上で動かすスクリプトを書いています。
内容はディレクトリの中身を表示すると言う単純なものなのですが、下のソースのように
if(!is_dir($file))としているにもかかわらずフォルダ名まで表示されてしまいます。
この指定ならフォルダ名は表示されないと思うのですが間違っているのでしょうか?
PHPのバージョンは5.1.2です。

<?php

$dir = opendir("./foruda") or die("Directory is can not open !!");
while ($file = readdir($dir)) {
if(!is_dir($file)) {
echo "$file\n";
}
}

closedir($dir);
?>
06096082006/01/29(日) 02:15:11ID:???
すみません。タイプミスです。
×echo "$file\n";
○echo "$file\r\n";
0610nobodyさん2006/01/29(日) 02:20:23ID:???
>>608
is_dir() は不完全。is_dir() のマニュアルのユーザノートにも書かれていたと思うが。
本当にディレクトリかどうか調べるなら
filetype() の結果を使うべき。
06116082006/01/29(日) 02:24:31ID:???
>>610
おぉ、即レスどうもっす!
なるほど、解りました。早速使ってみます
06126082006/01/29(日) 02:48:36ID:???
キャッシュが消えない('A`)
clearstatcache()でOKですよね?
しかもfiletype()つかったらWarning: filetype(): Lstat failedって出てきた・・・
これはLstatが使えてないってことでしょうか?
0613nobodyさん2006/01/29(日) 02:51:21ID:???
>>608
ひとりでマニュアル読む訓練をしてくれ
0614nobodyさん2006/01/29(日) 02:53:55ID:???
>FAQの中の人
http://www.phpmyfaq.de/
06156082006/01/29(日) 03:00:44ID:???
すみません。出直してきます('A`)
0616nobodyさん2006/01/29(日) 03:22:48ID:Kr5RpJOz
<form ...>
<input type="submit" value="再生">
</form>
こういうタグがあった場合、再生と書かれたボタンを押したときに
どんな変数が送信されるんでしょうか?name="..."という名前がない場合は
どうなるのか疑問です
0617nobodyさん2006/01/29(日) 03:48:31ID:???
PHP4でDB接続をADOdbで行っています。
DBコネクションのオブジェクトでclassメンバの$dbconをclassの関数から呼ぶ場合

$this->dbcon ですが、dbconのメンバ関数を呼ぼうとして
$this->dbcon->getRow($sql); これがエラーになります。

どうしてですか?スマートな解決策はありますか?
今は毎回以下のようにしててマヌケな感じがします。
$db = $this->dbcon;
$db->getRow($sql)'
0618nobodyさん2006/01/29(日) 03:53:53ID:???
>>616
それはHTMLの仕様であってPHPの仕様ではないが。
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.13
06196082006/01/29(日) 04:38:15ID:???
駄目だ・・・キャッシュの消し方とかstatが何なのかとかは良くわかったけど
エラーが消せない('A`)
06206082006/01/29(日) 06:21:48ID:???
解った・・・やっと解った!!!!!
filetype関数には絶対パスが必要なんですね!!
0621nobodyさん2006/01/29(日) 09:17:52ID:a2S36AV1
<?php
$file = fopen("./ua.dat","a");
flock($file,LOCK_EX);
$line = $_SERVER[?HTTP_USER_AGENT?]."\n";
flock($file,LOCK_UN);
fclose($file);
?>

UA(User Agent)をファイルに記録しようと思って、このようなスクリプトを作ったのですが…
次の条件を実現させるにはどうすれば良いでしょうか?
1.同一IPが二回目のアクセスした場合重複カウントしない
2.同じ名前のUAがある場合は次のように(ヒット数+UA)記録する:
   12hit  Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1; .NET CLR 1.1.4322; .NET CLR 2.0.40607)
    5hit  Mozilla/4.0 (UA偽装)
0622nobodyさん2006/01/29(日) 10:06:20ID:???
>>621
1.COOKIE
2.同じUAを足していく
0623nobodyさん2006/01/29(日) 10:12:02ID:a2S36AV1
>>622
>2.同じUAを足していく

詳しく。
0624nobodyさん2006/01/29(日) 10:20:59ID:???
>>621
その前にファイルを読み出して UA とアクセス数のデータ取り出さなきゃ
重複チェックもアクセス数の計算もできないわけだけど
一気にハードルが上がっちまった気がするぞ
つかこれ記録できてる? できてないよね?

どうしてもリアルタイムで処理したいっつーんなら勉強するしかないが、
そうでないならそのまま append していってあとで集計すれば?
同一 IP のチェックなら cookie は要らないから
0625nobodyさん2006/01/29(日) 12:57:03ID:???
>>601
うちではこうやってる。

要件:
qmail1.03
PEAR

手順:
.qmailファイルを作成してphpスクリプトにリダイレクトする

例:
~blogpost/.qmail
------------------------------------------------
| /usr/local/bin/php ~blogpost/recieve.php
------------------------------------------------

するとrecieve.phpが起動し、メールの内容が(ヘッダも込みで)標準入力で受け取れるので、
Mail::mimeDecodeで解析する。このへんはPEARマニュアル見ればだいたいわかるかと。
あとは解析したデータを元に処理するだけ。
0626nobodyさん2006/01/29(日) 13:01:15ID:???
Mail::mimeDecode の解析結果って、マニュアルの記述は不備じゃありません?
0627nobodyさん2006/01/29(日) 13:34:35ID:???
まぁ、pearのマニュアルってのは、元々の英語版でさえ無い場合もあるし
日本語版ってのは善意で訳してくれる人が居なければ存在すらしないものだからねぇ。
気付いた人や必要になった人がやればいいと思うよ。がんがれ>>626
0628nobodyさん2006/01/29(日) 16:40:45ID:???
今PHPの勉強中なのですが
買ってきた本のサンプルを動かしてみたのですが
ログイン画面にIDとPASSを入力してボタンを押しても
画面が変わらないままです。
サンプルの中は基本的にそのままです。
(MySQLの接続に関する設定は変更しましたが・・・)
以前、他の本のサンプルでも同じようなことがありました。

スレ違いかもしれませんが
もし原因がわかる方がいらっしゃったらおしえていただけないでしょうか
0629nobodyさん2006/01/29(日) 16:45:54ID:???
実際のコードを見ない事には何とも言えんべ。
その本のサポートページがあるのならそこで聞くなり、
このスレで続けるなら肝になる部分を適切に掲示するなり。
0630nobodyさん2006/01/29(日) 16:46:50ID:???
>>628
多分、その本が古い。
0631nobodyさん2006/01/29(日) 21:13:27ID:???
>>628
その類の本はミスが多い。
0632nobodyさん2006/01/30(月) 01:25:09ID:???
>>628
extract($_POST);
とかそんなのつかってね?
0633nobodyさん2006/01/30(月) 01:45:11ID:???
本のサンプルスクリプトが動かないことくらいよくあるから気にしないが吉
0634nobodyさんNGNG
ごめんなさい、↓なんですけど
自分で「短い文字でもちゃんとSJIS→JISに変換できるように!!」
と入れた処理なんですが、後から見て何をやっているか
わからなくなってしまいました。


/* 文字数が少ないとエンコードに失敗するんだとさ。*/
$message = "あいうえお眉幅ABC".$message;
$body = mb_convert_encoding( $message , "JIS", "EUC-JP,UTF-8,SJIS,ASCII,JIS");
$body = substr ( $body , 3 + 14 + 3 + 3 );

@なぜ「"あいうえお眉幅"」ではなくて「"あいうえお眉幅ABC"」なのか
A最後の「3 + 14 + 3 + 3」の詳細
解読できる人がいたら助けてください。。。。

http://pc8.2ch.net/test/read.cgi/php/1136276300/から誘導していただきました。
マルチではありません。。。。)
0635nobodyさん2006/01/30(月) 02:04:15ID:???
>>617
だれかぷりーず!
0636634NGNG
ちなみにソースはやむを得ない事情によりSJIS、
メールを送信するためにJISに変換、といった処理です。
(他にこうしたら効率的、では無くて、何でこういうことをしちゃったかを思いだしたいんです。。。)
0637nobodyさん2006/01/30(月) 02:08:13ID:???
ttp://php.s3.to/counter/
ここのカウンターを使ってるのですが、
include()を使ってカウンターを挿入しているので
phpのページにしか利用できません。

で、ttp://www.kent-web.com/count/dream.html
みたいに <img src="スクリプト名">
で表示させたいと思ったのですが、上手くいきません。
少々改造しなきゃいけないと思うのですが、
どのように改造すればいいでしょうか?
0638634NGNG
>>637
http://72.14.203.104/search?q=cache:gRnlLcv7kCcJ:homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k12.htm+img+src+php+cgi&hl=ja&gl=jp&ct=clnk&cd=2&lr=lang_ja
06396372006/01/30(月) 02:24:24ID:???
>>637
ありがとうございます、
そのページでは
fopenでrbを引数として利用していますが、
手元のリファレンスではbはwindowsのみと書いてあります。
これはlinuxでも使用可能でしょうか?
0640634NGNG
>>639
http://72.14.203.104/search?q=cache:tXKhe0RNfHsJ:manual.xwd.jp/function.fopen.html+php+fopen+%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA&hl=ja&gl=jp&ct=clnk&cd=4&lr=lang_ja

>Windows上では、\nを\r\nに透過的に変換する text-mode変換フラグ('t')が提供されます。
>それに対し、'b'を使って強制的にバイナリモードにすることもできます。 その場合データの変換はされません。
→windowsでは、場なりで開こうとすると勝手にデータの中身を書き換える機能があります。

>それに対し、'b'を使って強制的にバイナリモードにすることもできます。
→'b'を使うと、そのファイルそのままの状態で扱います。
0641634NGNG
>>640
×→windowsでは、場なりで開こうとすると
○→windowsでは、バイナリで開こうとすると
0642nobodyさん2006/01/30(月) 02:44:30ID:???
バイナリタン(*´Д`)ハァハァ
0643634NGNG
>>639
さらに間違えた。

意訳

windowsではファイルを開こうとすると
ファイルの中身を勝手に書き換える機能があります。
そうされたくなかったから、'b'オプションをつけましょう。
なお、UNIXでは勝手に書き換える機能は無いので
指定しなくでもそのまま扱ってくれますが、
必要ないですが、念のため'b'をつけると確実です。
0644nobodyさん2006/01/30(月) 08:02:12ID:???
>>634
なんでお前さんが忘れるぐらいに思いつきでやってる処理を他人が判るんだよ。

>1. なぜ「"あいうえお眉幅"」ではなくて「"あいうえお眉幅ABC"」なのか
ISO-2022-JPにエンコードしても変化の無い文字で適当なのを入れたかったんじゃないの。
 
>2. 最後の「3 + 14 + 3 + 3」の詳細
3 = ESC $ B (エスケープシーケンス)
14 = あいうえお眉幅
3 = ESC ( B (エスケープシーケンス)
3 = ABC
でしょ。多分
0645nobodyさん2006/01/30(月) 08:33:29ID:???
>>634
ソースがSJISなら
// $message = "あいうえお眉幅ABC".$message;
$body = mb_convert_encoding( $message , "JIS", "SJIS");
// $body = substr ( $body , 3 + 14 + 3 + 3 );
でいい
0646nobodyさん2006/01/30(月) 10:11:54ID:???
>>635
これはむしろ本スレの方が回答得られるかも?
0647nobodyさん2006/01/30(月) 10:49:41ID:???
>>635
自分のところで試してみたけど
$this->conn->getRow($sql);
みたいな記述は、ちゃんと動いたよ
答えがないのは、そういう問題がおきている人がいないせいじゃないかな

PHPのバージョンは 4.3.9
0648nobodyさん2006/01/30(月) 11:49:21ID:PZnOPnCs

すみません、質問です。
他のサーバのcsvファイルを参照したい場合は
どのようにすればいいのでしょうか?
0649nobodyさん2006/01/30(月) 12:02:05ID:???
相手サーバーのCSVファイルがhttpで参照できる位置にあるなら
PHPの設定次第だけどfile("http://相手サーバー/xxxx.csv");で参照できるかも。
駄目ならFTPで接続するとか、Web経由でCSVファイルをダウンロードするための
プログラムを相手サーバー上に用意するとか。
0650nobodyさん2006/01/30(月) 13:03:45ID:???
>649

file("http://相手サーバー/xxxx.csv");
だと駄目でした。
FTP接続とか、別の方法を調べて試してみます。
0651nobodyさん2006/01/30(月) 13:22:32ID:???
>>650
駄目な理由が明らかじゃないからなんとも言えんが、
httpストリームのファイルオープンが使用制限されてるだけで
相手側ではHTTPで取れるようなところにちゃんと置いてあるなら
PEARのHTTP_Requestクラス使って取り込んだら?
0652nobodyさん2006/01/30(月) 13:24:45ID:???
>>650
とりあえず相手サーバの管理者の聞くのが先でしょーよ。
どうやって共有しますかと。
0653nobodyさん2006/01/30(月) 14:49:21ID:???
phpを実行しようとするとダウンロード画面が出ますがなぜでしょうか。

環境
FC3
php5.1.2
Apache2

httpd.confに施した設定
AddType application/x-httpd-php .php の追加

他に何をすればこの問題は解決されるでしょうか。
ググってみたんですが解決出来ませんですた。
0654nobodyさん2006/01/30(月) 14:53:17ID:???
>651

ありがとう御座います。

無知なもので、ヒントをいただけるだけで非常にありがたいです。
PEAR HTTP_Requestクラスについても調べてみます。
0655nobodyさん2006/01/30(月) 15:00:22ID:???
PHPを動作させてるサーバのIPやホスト名を取得したいのですが、
これは環境変数から取得するってことであってますか?
ぐぐったのですが、リモートのホスト名などの取得についてしか
見つかりませんでした
0656nobodyさん2006/01/30(月) 15:05:25ID:???
>>655
$_SERVER["SERVER_ADDR"]
0657nobodyさん2006/01/30(月) 15:07:43ID:???
>>655
普通
http://ホスト名/
0658nobodyさん2006/01/30(月) 15:14:42ID:???
>>653
あんま覚えてないけどLoadModule行とかいらなかったっけ??
後axpsとか組み込み方で設定が違ったような気がしますが・・
0659nobodyさん2006/01/30(月) 15:18:12ID:???
>>657
おれは $_SERVER['HTTP_HOST'] が取れるならそれ、だめなら
$_SERVER['SERVER_NAME'] の二段構えにしてる
0660nobodyさん2006/01/30(月) 15:19:55ID:???
つーか
ググったググったじゃなくて、>>1 にも書いてあるが

ま ず マ ニ ュ ア ル 読 め
http://www.php.net/manual/ja/
0661nobodyさん2006/01/30(月) 15:25:21ID:???
ググっても大抵はマニュアルにたどり着くはずなんだけどな
0662nobodyさん2006/01/30(月) 16:13:54ID:???
マニュアル読めしか言えないカスはレスするな
0663nobodyさん2006/01/30(月) 16:20:34ID:???
何度インスコしてもlibphp5.soというファイルが作られないんですがなぜでしょうか?

参考にしたサイト
http://kamakura.cool.ne.jp/oppama/oswa/phpstart.html
0664nobodyさん2006/01/30(月) 16:26:33ID:???
まぁここで得られる情報よりもマニュアルの方が何倍もまともで有用だし
マニュアルから自分の必要としている情報を見つけ出す能力も重要
なんだけどな
0665nobodyさん2006/01/30(月) 16:30:25ID:???
>>663
自分の環境は?
06666632006/01/30(月) 16:42:37ID:???
>>665
fedora3です

http://www.php.net/manual/ja/install.unix.php
ここ読んだけどlibphp5.soが作られません。
0667nobodyさん2006/01/30(月) 16:57:39ID:???
Suse Linux 10.0にphp5をインストールする方法を教えてください。
0668nobodyさん2006/01/30(月) 17:07:57ID:???
>>666
作られてるけど場所違ってるとかない?
俺昔探した記憶があるようなないような
06696662006/01/30(月) 17:09:51ID:???
>>668
find使って検索しましたが見つかりませんですた。
0670nobodyさん2006/01/30(月) 17:12:56ID:???
>>667
基本的にUnix系はどれでも一緒じゃね?
ttp://pc8.2ch.net/test/read.cgi/linux/1137686775/l50
ttp://www.php.net/manual/ja/install.unix.php
0671nobodyさん2006/01/30(月) 17:16:47ID:???
>>669
findなんて使ったことねーなぁ。
俺はもっぱらlocate使ってるけど・・。
updatedbだったかDB更新してからもっかいやってみ
0672nobodyさん2006/01/30(月) 17:29:07ID:???
なかったらmake時にエラーでてないか?
apacheがDSOに対応してるのかそこらへんだろ、ガンガレ
ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=1260172
0673nobodyさん2006/01/30(月) 17:40:25ID:???
>>663
・--with-apxs2=/usr/local/apache2/bin/apxsとか抜けてねぇか
・ビルド時に該当するエラー出てないか
・作られてるけど、探し切れてないだけではないか
0674nobodyさん2006/01/30(月) 18:07:52ID:???
だいたいのディストリビューションにパッケージが
あるんじゃないの?
野良ビルドなんてよほどの理由がない限りやんないけど。
0675nobodyさん2006/01/30(月) 21:09:44ID:???
>>666
FC3でパッケージ版ApacheにPHP5を入れようとしたら失敗した事がある
仕方ないからApacheのビルドから始めたらうまくいった
0676nobodyさん2006/01/30(月) 21:13:14ID:iPn7Dq8b
ページが読み込まれた際に指定したページへ飛ばす事は
headerで作成出来たのですが

読み込まれた際に2つのサイトを同時に開く方法は
ありませんでしょうか?
0677nobodyさん2006/01/30(月) 21:21:27ID:???
>>676
PHPは接続してきた相手にデータを返すのがお仕事。
それが別ウィンドウなのかとかフレームなのかとかはブラウザがするお仕事で、知ったこっちゃない。
なので、PHPに接続する前にJavaScriptやフレーム等で解決しておくか、
それらを利用できるようなhtmlをPHPで出力してあげましょう。
0678nobodyさん2006/01/30(月) 21:22:23ID:???
>>676
javascript
0679nobodyさん2006/01/30(月) 21:28:25ID:iPn7Dq8b
>>677>>678
ありがとうございます。
javascriptにて現在奮闘中なのですが
urlはphpで得た変数となります。
javascriptにてbodyonlordで試しているのですが
頭が混乱してきました。もう少し粘ってみます。
0680nobodyさん2006/01/30(月) 22:22:56ID:???
>>679
PHPでJavaScriptを記述すればいいよ。
echo "window.open( $url1 ); window.open( $url2 );";
0681もっく2006/01/30(月) 22:45:18ID:5vpkjCd3
自分のサイトにポイント課金システムを導入したいのですが、
安く、占いで通話時間に応じて、減算できるシステム知ってる人いたら
おしえてください。
ググっても高いし、出会い系ばっかりです。
0682もっく2006/01/30(月) 22:46:26ID:5vpkjCd3
自分のサイトにポイント課金システムを導入したいのですが、
安く、占いで通話時間に応じて、減算できるシステム知ってる人いたら
おしえてください。
ググっても高いし、出会い系ばっかりです。
0683もっく2006/01/30(月) 22:58:31ID:+WpFBy1B
自分のサイトにポイント課金システムを導入したいのですが、
安く、占いで通話時間に応じて、減算できるシステム知ってる人いたら
おしえてください。
ググっても高いし、出会い系ばっかりです。
0684もっく2006/01/30(月) 22:59:06ID:+WpFBy1B
自分のサイトにポイント課金システムを導入したいのですが、
安く、占いで通話時間に応じて、減算できるシステム知ってる人いたら
おしえてください。
ググっても高いし、出会い系ばっかりです。
0685nobodyさん2006/01/30(月) 23:01:47ID:???
レッツPHP!さんの写メールBBSを設置したのですが
更新をクリックしても

-ERR authorization failed

と表示されるだけで投稿も出来ません。
サーバーはロリポップです。
よろしくお願いします。
0686nobodyさん2006/01/30(月) 23:13:20ID:???
>>685
メールのアカウントかパスワードの設定ミス
0687nobodyさんNGNG
>>644
ありがとうございます。
思い出しました。すっきりしました。

Aはそのとおりですね。
@は、実際の文字列が半角で始まるか半角で始まるかわからないから半角で締めておけば
どっちがきても安心、という理由だったともいます。

>>645
>$body = mb_convert_encoding( $message , "JIS", "SJIS");
本当だ、うまくいきました。半角カナ1文字だけ、とかもちゃんといきますね。
こっちにします。

ありがとうございました。
0688nobodyさん2006/01/31(火) 02:15:44ID:???
文字化けが直りません・・・orz
十三 → 十\三 は
if(get_magic_quotes_gpc()) {$sled_title=stripslashes($sled_title);}
で直ったんですが、そうすると今度は ー の文字が [ になってしまいます。
そして次に mb_convert_kana で一度半角にしてから全角にすると直りました。

・・・

しかし 表あった という文字が 浮?った に・・・orz

文字コードはSJISです。
どなたかお助けをお願いいたします。。
PHPのVer4.3.11です。
0689nobodyさん2006/01/31(火) 02:34:19ID:hnBahd6E
質問させてください。

既にPC内にあるデジカメで撮影した画像に、ドットを描きたいと思っています。
まずは試しに、画像の一番左上のピクセルに真っ黒いドットを描こうと試してみました。
結果は、一応うまくいったのですが、描けたのは真っ黒いドット(#000000)ではなく、
そのピクセルに既にあった色と合成されたような(#010410)のようなドットになってしまいました。

php.netのリファレンスを見て、imagealphablending関数が怪しいと思い使用してみたのですが、
引数をtrue、false、いずれに設定しても変化が見られませんでした。
(同関数のリファレンスページにある英語のコメントは読めませんでした;;)

環境は、PHP 5.1.2。
もちろんGDは使えるよう設定しています。
バージョンは2.0.28です。

どなたか解決法をご存知の方はご教授願います。
以下が、テストに用いたソースコードです。

$img = imagecreatefromjpeg('./hoge.jpg');
//imagealphablending($img, false);

imagesetpixel($img, 0, 0, imagecolorallocate($img, 0, 0, 0));
header('Content-type: ' . image_type_to_mime_type(IMAGETYPE_JPEG));
imagejpeg($img);
0690nobodyさん2006/01/31(火) 02:36:00ID:???
CLI版で、プロセス制御+ソケットのプログラムを書こうと格闘してます。
http://www.php.net/manual/ja/ref.pcntl.php とか
http://www.php.net/manual/ja/ref.sockets.php とかの
サンプルを参考に作ったのですが、Log4php で「関数がありません」と
出てエラーとなります。declare(ticks=1);をコメントにすると
動くのですが、declare(ticks=1);って必要ですか?
0691nobodyさん2006/01/31(火) 02:54:02ID:???
>>690
http://www.php.net/manual/ja/ref.pcntl.php
>declare()を使用して、プログラム中でコールバックの発生を許可する場所を指定する
>必要があります。これにより、非同期のイベントを処理する際のオーバーヘッドを
>最小限に抑えることが可能となります。
06926912006/01/31(火) 02:55:13ID:???
すまん誤解を招く引用をした。
必要ではないけど速くなるっていみな。
0693nobodyさん2006/01/31(火) 04:19:38ID:???
PHPプログラミングのロジックを勉強するのにオススメの本はありませんか?
どれもPHPで出来ることは書いてあるんだけど、
具体的にどんな感じにコードを書いていけば良いのかよく分からない…。
0694nobodyさん2006/01/31(火) 06:57:09ID:???
>>693
つpear
0695nobodyさん2006/01/31(火) 09:01:44ID:???
>>689
ひとまず、RECTを描いてみたらどうだろうか?
いや、モヤレの可能性はないかな?と思って。
0696nobodyさん2006/01/31(火) 09:35:33ID:???
>>689
User Contributed Notesによると、バージョンによって
imagealphablending()のデフォルトが違うらしい。
新しいものはデフォルトがTRUE。

・imagealphablending($img, FALSE)の戻り値はどうなっているか。
・imagecolorallocatealphaで不透明色を設定したらどうか。
0697nobodyさん2006/01/31(火) 11:21:59ID:DKAPyXEr
DBから取得したデータを
javacriptのresponseXMLで受信させる場合、

simplexml_load_staringでXMLオブジェクトを作り、
渡そうと考えたのですが、
このやり方ってどうなんでしょうか?

こういう場合の常套手段があれば教えてください。
0698nobodyさん2006/01/31(火) 15:02:58ID:b+k1eFbT
住宅ローンについて計算してみたかったんですけど、プログラムを以下の
ようにしたところ動きませんでした。
<?PHP
function calculate(){$principal = document.loandata.principal.value;
$interest = document.loandata.interest.value / 100 / 12; $payments = document.loandata.years.value * 12;
$x = pow(1 + $interest, $payments); $monthly = ($principal * $x * $interest) / ($x - 1);
if (!isNaN($monthly) && ($monthly != Number.POSITIVE_INFINITY) && ($monthly != Number.NEGATIVE_INFINITY))
{document.loandata.payment.value = round($monthly); document.loandata.total.value = round($monthly * $payments);
document.loandata.totalinterest.value = round(($monthly * $payments) - $principal);}
else{document.loandata.payment.value = ""; document.loandata.total.value = "";
document.loandata.totalinterest.value = "";}}
function round($x){return round($x * 100) / 100;}
?>
どうやらif文のところがエラー起こってるみたいなんですけど、どこが
違っているのかがわかりません。
どうか、どうすればいいのか教えてください、お願い致します。
0699nobodyさん2006/01/31(火) 15:15:12ID:???
ビックリするほど見辛い。
あとそれは何言語だ。
0700nobodyさん2006/01/31(火) 15:33:49ID:???
>>698
document.loandata.payment.value とかよくわからんがちゃんと認識されている?
そこらへん一旦変数とかに格納させたら問題ないっしょ。
0701nobodyさん2006/01/31(火) 15:37:04ID:???
JavaScriptじゃないの?
ここはPHPスレだよ。
0702nobodyさん2006/01/31(火) 15:50:33ID:???
>>701
<?PHP

?>
で囲めばどんな言語も全てPHPに!!
0703nobodyさん2006/01/31(火) 15:52:29ID:???
見辛くて本当に申し訳ないです。
JavascriptからPHPにしたかったんですけど、どうすればいいのか
よくわからなかったのです。
認識は・・・されているかどうかわからないんですけど、エラーが起こって
いるのはその辺みたいです。
0704nobodyさん2006/01/31(火) 15:52:41ID:???
荒らしじゃねーの?これ
0705nobodyさん2006/01/31(火) 15:53:39ID:???
>>703
JavaScriptとPHPはかなり文法が異なるから
両方のマニュアルをよく読んで勉強しる。
0706nobodyさん2006/01/31(火) 15:55:30ID:???
http://hogehoge.com/?a=apple

とすると$aにはappleが入りますが
これを

http://hogehoge.com/?apple
などで値を取得しているサイトがあるのですが
どのようにしているのでしょうか?

0707nobodyさん2006/01/31(火) 15:58:15ID:???
>>706
list($a) = split("&", $_SERVER('QUERY_STRING'));
0708nobodyさん2006/01/31(火) 16:00:20ID:???
俺だったらvalueの値をPHP変数にもって引数として関数に送るけど
みんなはどう?
0709nobodyさん2006/01/31(火) 16:25:15ID:???
>>708
ソースお願いします。
07107062006/01/31(火) 16:55:10ID:SKUvf+xl
>>707さん
ありがとうございます。
出来ました。


以前http://hogehoge.com/?apple
の?をとって
http://hogehoge.com/apple
でも変数を取れる方法としてhtaccessがありましたが
それ以外は不可能でしょうか?

ディレクトリを無数に作成する方法以外であったら
おねがいします。
0711nobodyさん2006/01/31(火) 16:57:40ID:???
>>710
mod_rewrite
07127062006/01/31(火) 17:04:46ID:???
>>711
ありがとうございました。
0713nobodyさん2006/01/31(火) 17:25:20ID:???
>>698
http://tgfans.s9.x-beat.com/698.php
あれ?なんか値段がおかしいwaヽ(´ー`)ノ
0714nobodyさん2006/01/31(火) 18:41:13ID:???
>>709
ソースってほどのもんじゃないし今更思ったんだがJSでやった方がよさそうな気もしてきたな。
PHPでするなら取りたい値をvalue=<?=$a?> とかでもたしておいて
計算したいタイミングでfunction cal〜($a,$b){}とか引数つけて呼び出せばok
でもJSみたいに表示させてる値そのまま変えれないと思う多分。どのタイミングで変えたいとかにもよる。
onclickでリロードさせてやるとかせんと駄目かも・・ 
あと基本的にPHPはサーバ側、JSはクライアント側で動くので・・ 
間違ってたら補足入れまくってください by 素人勉強中の意見

07157142006/01/31(火) 18:42:38ID:???
あ、値変えるなら&$aみたいに変えてやってね
0716nobodyさん2006/01/31(火) 19:30:05ID:???
>>714
何の話なのかも分からん
0717nobodyさん2006/01/31(火) 19:53:15ID:FZIxO5Ot
PHP4+MySQL3を使用しています。

DBのテーブルに該当データが何件あるかを調べて、0件であればデータを追加する
という仕組みを作っています。

$query = 'select * from table where id="1"';
$result = mysql_query($query);
$count = mysql_num_rows($result);
if($count == 0){
//データ追加
}

該当データが(id=1)1件以上ある場合には、エラーにならないのですが、0件の場合
supplied argument is not a valid MySQL result resource
のエラーが返ってきてしまいます。

select count(*) from table where id="1";
にして、mysql_fetch_array()にしても同様のエラーが返ってきてしまいます。該当の
データが0件でエラーを出さないようにするにはどうすればいいのでしょうか?
0718nobodyさん2006/01/31(火) 19:55:17ID:???
>>714
何 の 話 を し て い る ?

もうちょっと頭の中を整理してから書いてくれ
0719nobodyさん2006/01/31(火) 20:16:52ID:???
POST、GETの変数名隠蔽の手段で、リクエストURLを誤魔化すツールみたいなの無かったっけ?

aaa.php?b=c → aaa/b/c/

みたいになるようなやつ
0720nobodyさん2006/01/31(火) 20:17:55ID:???
PHP4ですが
htmlspecialchars()
mysql_real_escape_string()
ってやってから保存すると文字化けする事がありますか?
0721nobodyさん2006/01/31(火) 20:33:15ID:???
>>719
>>706-707 >>710-711
htaccessでのやり方は分かるけど、mod_rewriteはやったことないな。
ググれば出てくるでしょ。
0722nobodyさん2006/01/31(火) 20:59:56ID:UhWLOiX4
if($_GET){エラー表示 exit;}
と$_POSTの配列を全部htmlspecialchars()でチェックしてるんですが、これでセキュリティ的にバッチグーと言えますか?
$_GETは100%使わないスクリプトです。
0723nobodyさん2006/01/31(火) 21:07:54ID:???
>>717
mysql_query($query)がTRUE(ついでにFALSEの場合も実装しとけ)を
返す時の処理を追加。
0724nobodyさん2006/01/31(火) 21:37:28ID:???
>>719
Apacheのmod_rewriteがそれ。
もしくは aaa.php?b=c → aaa.php/b/c/ なら PATH_INFO
07257192006/01/31(火) 21:39:32ID:???
>>721
>>724
レスありがとん
調べてみるー
0726nobodyさん2006/01/31(火) 22:03:51ID:???
>>722
変数の使用用途によってバッチグーか大馬鹿か決まるのでどうとも言えん
0727nobodyさん2006/01/31(火) 22:12:15ID:UhWLOiX4
>>726
つまり馬鹿と天才は紙一重と言いたいわけですね。ありがとさんです。
0728nobodyさん2006/01/31(火) 22:24:07ID:???
レッツPHP!さんの写メールBBSを設置したのですが
メールを送って更新しても投稿されません。
サーバーはロリポップです。config.phpの設定は

// 受信メールサーバーの設定
// POP3サーバー
$host = "mailxxx.lolipop.jp";
// ユーザーID
$user = "lolipop.jp-dpxxxxxxxx";
// パスワード
$pass = "xxxxxxx";

としました。ここと更新後のジャンプ先と
対応MIMEサブタイプだけjpgにしてあとの全てはデフォルトです。
どうすれば正常に使えるようになるでしょうか?
よろしくお願いします。
07297212006/01/31(火) 22:43:58ID:???
>>724-725
aaa/b/cでも、htaccess+PATH_INFOでいけるよん。
aaa.phpをaaaにリネームして、
htaccessで
<FilesMatch "^aaa$"> ForceType application/x-httpd-php </FilesMatch>
aaa(.php)で
$data = explode("/",$_SERVER('PATH_INFO'));
後は$dataを適当に利用。
0730nobodyさん2006/01/31(火) 23:00:39ID:JNPr6KIK
すんません、質問です。
PHP+GDでV602SHで撮った写真を、ImageCreateFromJPEGで開こうとすると、
'XXXXXXXX.jpg' is not a valid JPEG file
となります。

GDで開けないJPEGファイルというのは存在するのですか?

ちなみにIEでは普通に見れますが、
Photoshopでは挙動がおかしく、一度上書きしてEXIFの情報をリセットしないと別名での保存ができません。
0731nobodyさん2006/01/31(火) 23:49:51ID:sD84bde5
すみません。
$a1="onetwethree";
$a2="onethree";
$a3="one";
のような状態で、検索をかけて文字列にマッチする場合のみtrueを返したいです。
検索条件は
oneとtweで検索すると$a1が
oneとtweとthreeで検索すると$a1が
oneで検索すると$a1,$a2,$a3が
という風にしたいのですが、おそらくeregを使うと思うのですが書き方がわかりません。
どなたかお願いいたします。
0732nobodyさん2006/01/31(火) 23:59:36ID:???
>>731
一発でやろうとしないで、条件語句をひとつずつつき合わせながらフラグでも立てるが吉
それよりも、英語の勉強をやり直した方が良いぞ。
0733nobodyさん2006/02/01(水) 00:05:30ID:???
>>728
設置スレにGO
0734nobodyさん2006/02/01(水) 00:10:26ID:???
>>730
>GDで開けないJPEGファイルというのは存在するのですか?

あるよ。詳しく調べてないけど。
GDじゃなくても、Windowsの画像ビュアーでも
ツールによって大丈夫なJPEGと駄目なJPEGとかがある。
ZIPとかRARなどのアーカイブも似たような対応度の差異があるね。
07357342006/02/01(水) 00:17:22ID:???
GDのJPEG機能はlibjpegに依存するんかな。
やりくりを考えるなら、そっちを調べた方がいいかも。
07367312006/02/01(水) 00:21:04ID:ECRbG5Uq
>>732
英語は苦手で・・・
フラグの使い方をご伝授いただけないでしょうか?
ソースお願いします
0737nobodyさん2006/02/01(水) 00:55:43ID:???
>>736
最初にフラグ変数0に初期化して比較して1たしていくだけじゃん?
07387302006/02/01(水) 01:13:38ID:o8148rQE
>>734-735
ありがとー
libjpeg調べてみるよ。
0739nobodyさん2006/02/01(水) 01:22:17ID:???
>>731
$a1="onetwethree";
$a2="onethree";
$a3="one";
foreach(split(" ", $_GET["search"]) as $g) { //検索単語はsearchに空白区切りで入るとする
$search .= "(?=.*$g)";
}
foreach(array($a1, $a2, $a3) as $a) {
if(preg_match("/$search/", $a)) $ret[] = $a;
}
var_dump($ret);
07407312006/02/01(水) 01:38:00ID:ECRbG5Uq
>>739
丁寧な説明付きでありがとうございます。
今入れ替えてみたところ動作いたしました。ありがとうございました。
0741nobodyさん2006/02/01(水) 03:03:03ID:???
tweも直してやれよ・・・
0742nobodyさん2006/02/01(水) 03:09:49ID:???
>>741
仕様だろ
0743nobodyさん2006/02/01(水) 10:14:22ID:???
PHPのSOAPでは
1.PHP5純正のSOAP
2.PEARのSOAP
3.NuSOAP
どれがお奨めですか?
0744nobodyさん2006/02/01(水) 13:16:22ID:???
ばかやろ、ソープは本番するところだろ。
まがい物入れたりできねーんだ。

純正の1にしておけ
0745nobodyさん2006/02/01(水) 13:46:23ID:???
>>744
建前上、ソープで本番は禁止されております。
また、生は衛生上望ましくありません。
0746 2006/02/01(水) 14:42:36ID:???
配列に別の配列を追加したいのですが間単にできる関数とかないでしょうか?
foreach(){
 array_push()
}
こんな感じで1個ずつ入れていくしかない??
0747nobodyさん2006/02/01(水) 14:52:03ID:???
>>746
array_push()やarray_unshift()は複数のデータをまとめて追加できる。
他にもarray_merge()やarray_splice()なども同様で、配列のどの位置に追加したいかで使い分け。
0748nobodyさん2006/02/01(水) 14:52:07ID:???
>>746
array_push ( array &array, mixed var [, mixed ...] )
07497462006/02/01(水) 15:08:06ID:???
>>747-748 ありがとう
0750nobodyさん2006/02/01(水) 15:20:16ID:???
むしろマニュアルには1個しか追加しないならarray_pushを使うのは無駄だから
$array[] = 値; を使うことを推奨してるくらいだ
0751nobodyさん2006/02/01(水) 15:36:33ID:???
>>744-745
やっぱり純正ですか。
ありがとう。
0752nobodyさん2006/02/01(水) 16:32:45ID:???
PHP+MySQLでデータのリストを1ページ何件とページに分けて表示するときなんですが
こういう場合はSQL内でLIMIT(OFFSET)を使い取得するデータを選ぶほうがいいのか
全部取得してしまってPHPで表示するのを取捨選択するのとどっちがいいでしょうか。

LIMIT使うほうがサーバへ負荷が少なくて済みそうな気がするんですが
この場合、全部で何件のデータがあるのか調べる場合
もう一度SQL打たないと駄目でどっちにすべきか迷ってます。
0753nobodyさん2006/02/01(水) 16:44:36ID:???
>>752
俺なら総件数が確実に少ないなら全部取得して、
多くなる可能性があるときは2回selectを打つな。
0754軟式PHP2006/02/01(水) 16:55:11ID:???
>>752
総件数を表示したい。とかいう場合でなければ

offset 位置 limit 表示数 + 1

で取得すれば、次のページが必要かどうかわかるお。
0755nobodyさん2006/02/01(水) 16:58:50ID:???
乱数生成関数rand()について質問なんですが、
AとBの2つの乱数を生成した時に、
乱数の値がかぶってしまった場合に、
再びやりなおすといった処理はどのようにやればいいのでしょうか?
ヒントがあれば教えていただければありがたいです。

srand();
$i[] = rand(1, 5);
$i[] = rand(1, 5);
echo "{$i[0]}\t";
echo "{$i[1]}\t";
0756軟式PHP2006/02/01(水) 16:59:39ID:???
↑に加えて、全部で何件のデータが調べる場合は続けてcount()打ったほうが負荷は低いはず。
0757nobodyさん2006/02/01(水) 17:01:29ID:???
LIMIT 使っても全件数が取得できる方法があったはず。
MySQLの機能で。
0758nobodyさん2006/02/01(水) 17:10:50ID:???
>>755
$i[] = $a = rand(1, 5);
while(($b = rand(1, 5)) == $a) 1;
$i[] = $b;
echo "{$i[0]}\t";
echo "{$i[1]}\t";
07597552006/02/01(水) 17:14:35ID:???
>>758
おぉー。お早い回答ありがとうございます。
早速100回ほど試行したところ1回もかぶりませんでした。
しかし仕組みがわからないorz
マニュアル引いて勉強してきます。
どうもありがとうございました。
07607572006/02/01(水) 17:23:01ID:???
>>752
LIMITした方がいいと思う。
Webサーバーは簡単に増やせるけど、DBサーバーは増やそうと思っても面倒だし。

で、LIMITしたときの全件取得方法。
SQLの話だけど、まあいいかな?
FOUND_ROWS()
http://dev.mysql.com/doc/refman/4.1/ja/miscellaneous-functions.html

PHP側では結局2回クエリー発行することになるけど、MySQLはきっと楽なはず。
0761nobodyさん2006/02/01(水) 17:32:02ID:???
>>760
ほほー。これは便利そうだ。
07627522006/02/01(水) 17:33:09ID:???
>>760
うおおお!ありがとうございました。
勉強不足でしたすいません。

データ数によっては>>753氏の言うように全件取得し
count()もよさそうですね。

>>ALL
SQLの話になり申し訳ない
0763nobodyさん2006/02/01(水) 18:03:21ID:xx2TLFWy
変数の中に入っている値の、決められた文字列n個目までを取り出したい場合は、
一端splitで切って配列にしてから…って以外にないのでしょうか?
0764nobodyさん2006/02/01(水) 18:23:07ID:???
>>763
ttp://jp.php.net/manual/ja/function.substr.php
07657632006/02/01(水) 18:36:57ID:xx2TLFWy
>>764

例えば、
「あけましておめでとうございます。今年は戌年です。去年は猿年です。来年は猫年です。」
と言う文章があって、
この文章の"。"の3個目までを取り出したいとき、です。

わかりずらくてスマソ。
0766nobodyさん2006/02/01(水) 18:45:48ID:???
>>765
素直に explode/implode すれば?
07677652006/02/01(水) 18:53:07ID:xx2TLFWy
>>766
やっぱそれしかないのでしょうか。
変数の中が大量でも遅くなったりしないのでしょうか?
0768nobodyさん2006/02/01(水) 19:07:17ID:???
>>767
そんな心配するくらいだったら、最初から設計を考え直すべし。
0769nobodyさん2006/02/01(水) 19:20:24ID:???
mbereg("^[^。]*。[^。]*。[^。]*。", "あけましておめでとうございます。今年は戌年です。去年は猿年です。来年は猫年です。", $hoge);

だめ?
0770nobodyさん2006/02/01(水) 19:23:28ID:???
>>767>>769
でも速度的には下手に正規表現使うくらいなら分解した方が速いよ。
0771nobodyさん2006/02/01(水) 19:24:20ID:???
>>765
やりたいことが良くわかんないけど、
前方から"。"をサーチ&カウントして目的の位置を取得
文字列の頭から目的の位置までを抜き出せば良いんじゃないの。
オーソドックスでベタなやり方だけど、別に問題がある訳でもないと思うが。
0772nobodyさん2006/02/01(水) 21:06:32ID:???
<textarea>から受け取ったテキストで、
改行コードの前に改行数をつけるような処理をしたいのですが、
うまくいきません。

preg_replaceで置き換えるようにしてるのですが、ループのところでつまってしまいます・・・。

$temp = $_POST['temp'];  //テキストエリアから取得したもの

function hoge($str,$count)
{
 preg_replace("/\r\n/",$count."\r\n",$str);
}
hoge($temp);
こんな感じにして、どういう風にループをまわせばよいのか・・・。
ループの終了条件を取得するために改行数を取得しようとしましたが上手くいかず・・。
どなたかご教授いただけると幸いです。
0773nobodyさん2006/02/01(水) 22:02:29ID:???
×ご教授
〇ご教示
まず日本語を(ry
0774nobodyさん2006/02/01(水) 22:36:17ID:???
これからPHPについて学んでいこうと思うのですが、
バージョンは5.x.xのものを使えばいいんでしょうか?
07757652006/02/01(水) 22:39:48ID:fBKX7o67
>>771
実際は、
$hoge="今日から2月。<br>昨日は1月。<br>明日も2月。<br>そして水曜日。"
と言う変数があったとして、
ブラウザで表示させた時の2行目までを取り出したいのです。

なので、文字列<br>が2個目までのモノを取り出したい、という事で…。
0776nobodyさん2006/02/01(水) 22:46:38ID:???
>>775
おまえしつこい。

>>771の通りだろうが。
「。」を「<br>」に置き換えりゃ済むことだろうに。
それとも何か?
ソース丸ごと書かなきゃ満足しないのか?
だったら、ホカイケ。
0777nobodyさん2006/02/01(水) 22:53:38ID:???
>>772
$temp $_POST['temp'];
print preg_replace('/(\r\n)/', '(++ $i) . "$1"', $temp);
0778nobodyさん2006/02/01(水) 22:54:55ID:???
>>777
書き間違い
$temp $_POST['temp'];
 ↓
$temp = $_POST['temp'];
0779nobodyさん2006/02/01(水) 22:57:50ID:???
>>775
素直にexplodeして取り出すのが速い。
多分、それ以外の方法だとかえって遅い。
0780nobodyさん2006/02/01(水) 23:08:38ID:???
PHPがweb上で呼び出されたとき、
それがhttpかhttpsのどっちで通信されているかを
判断する方法を教えていただけませんか。
よろしくおねがいします。
07817652006/02/01(水) 23:16:50ID:fBKX7o67
あ、ごめん>>771しか見てなかった。

>>769
>>770
サンプルありがとー。
でも、正規表現よりは配列に格納した方がいいのか〜。
なるほど。ありがと。

>>779
そっか。じゃあ素直に…とりあえず報告。
↓↓↓↓↓

//----------------------------------
//ブラウザに2行分だけ表示させる
//----------------------------------
$hoge="今日から2月。<br>昨日は1月。<br>明日も2月。<br>そして水曜日。"
//<br>ごとに配列に格納
$hoge_array=explode("<br>", $hoge, 3);
//2番目の配列だけを表示
for($nCnt=0; $nCnt<=1; $nCnt++){
echo $hoge_array[$nCnt] ."<br>\n";
}

>>776
お門違いですぜ。
0782nobodyさん2006/02/01(水) 23:19:20ID:???
>>777
どうも、ありがとうございます。
やはり改行コードで行数取得なのですね・・・。
ありがとうございます。
0783nobodyさん2006/02/01(水) 23:27:42ID:???
事故解決しました
0784nobodyさん2006/02/01(水) 23:48:44ID:???
$HOGE = 'hoge';
echo "string is $HOGE";

という動作を期待して

define(HOGE, 'hoge');
echo "string is HOGE";

と書いてもうまくいきませんよね。

echo "string is ". HOGE;

とすればいいのですが、あまり" "で分けたくありません。
一気に書く方法ってありませんでしょうか。
0785nobodyさん2006/02/01(水) 23:53:51ID:???
fopen で自サイトの hoge.cgi を動作させたいんだけど無理ですか?
他のサーバからなら http://hogehoge.com/hoge.cgi をfopen出来たんです。
07867842006/02/02(木) 00:09:00ID:???
補足です。

echo "string is {HOGE}";
echo "string is {constant(HOGE)}";
echo "string is {constant('HOGE')}";

全部うまくいきませんでした。
0787nobodyさん2006/02/02(木) 00:10:26ID:???
>>784
個人的に興味があるだけなんだけど、なんで" "で分けたくないの?
処理的に理由がある?
0788nobodyさん2006/02/02(木) 00:13:45ID:???
短いならいいんですが、長くなると

echo "orenge : $HOGE1\n apple : {$HOGE2}\n banana : $HOGE3\n
0789nobodyさん2006/02/02(木) 00:16:31ID:???
間違えて途中で送信してしまいました。すいません。

>>788
短いならいいんですが、長くなると

echo "orenge : {$HOGE1}\n apple : {$HOGE2}\n banana : {$HOGE3}\n";

は綺麗ですが、

echo "orenge : ". HOGE1. "\n apple : ". HOGE2. "\n banana : ". HOGE3. "\n";

は見難いからです。
HTMLのソースを出力するときにクオーテーション(' ')などが含まれると
さらに見づらくなります。
0790nobodyさん2006/02/02(木) 00:20:59ID:???
HTMLだとこんな感じです。

$orange = 3;
$apple = 5;
$banana = 10;
echo "<a href='index?orange={$orange}&apple={$apple}&banana={$banana}'>";

上をdefine使って定義した場合、

define(ORANGE, 3);
define(APPLE, 5);
define(BANANA, 10);
echo "<a href='index?orange=". ORANGE. "&apple=". APPLE. '&banana='. BANANA. "'>";

となります。下は見づらくないでしょうか。括弧の対応関係がよくわからなくなります。
define使わないほうがいいんでしょうか・・
0791nobodyさん2006/02/02(木) 00:21:25ID:???
>>785
http://jp2.php.net/manual/ja/ref.filesystem.php#ini.allow-url-fopen

あと例に使うドメインはexample.comな。 決まりごとだから守れよ。
0792nobodyさん2006/02/02(木) 00:23:57ID:???
>>790
見づらい見づらくないは主観の問題だから答えられないが。
そこまでしてdefineを使う理由は?
0793nobodyさん2006/02/02(木) 00:28:26ID:???
>>792
session idなどが最初からdefineされているなどの理由です。
0794nobodyさん2006/02/02(木) 00:31:11ID:???
>>793
変数使っちゃ駄目なん?
0795nobodyさん2006/02/02(木) 00:32:26ID:???
わざわざ
$sid = SID;
としてから$sidを使うという事ですか?
0796nobodyさん2006/02/02(木) 00:34:10ID:???
defineで定義した定数を何度も呼び出す事なんて無いと思うんだけどな。
どうしても見難くていやなら関数用意して定数放り込むようにしたらどう?
0797nobodyさん2006/02/02(木) 00:34:27ID:???
まあ、別に変数を使ってもいいんですよ。
ちょっと心持気持ち悪いですが。

ただ、defineのままできる方法があるのかなと思いまして。

結局ないんでしょうか。
0798nobodyさん2006/02/02(木) 00:37:52ID:???
>>796
リンク張るときに
echo "<a href='http://". URL_WEB_SERVER. "/". THIS_FILENAME. "'>hoge</a>";

とか。結構使うんですが、こういうのってやめたほうがいいですか?
全部変数にするべきですかね。
0799nobodyさん2006/02/02(木) 00:39:50ID:???
>>750
すごいショック。
ほんとだマニュアルにも確かにそう書いてある・・・。

マニュアルは結構まめに確認するほうだけど、完全に見落としてた。
0800nobodyさん2006/02/02(木) 00:40:03ID:???
>>798
いや。そのままで良いんじゃないの。
784はその書き方が気持ち悪いみたいだから関数用意したらって言っただけだよ。
0801nobodyさん2006/02/02(木) 00:43:25ID:???
なるほど、参考になりました。

echo "{HOGE}";

でHOGEの中身が出力されるって仕様があってもいい気がするんですけどねー。
しないのは何か理由があるのかなあ。
0802nobodyさん2006/02/02(木) 00:46:02ID:???
>>801
そんな仕様のほうがキモイ。見にくい。
0803nobodyさん2006/02/02(木) 00:48:36ID:???
そもそも定数って何のためにあるのか分からないんだけど・・
変数じゃなくって定数にしなきゃいけないって状況がある?
これも単なる興味の質問だけど
0804nobodyさん2006/02/02(木) 00:50:20ID:???
既出だったら申し訳ない。
セッションを使ったi-mode向けの掲示板を作っているのですが、
前のページに戻る際なんかにキャッシュが効かなくなりました。
毎回通信して読み直しています。この方が都合が良いといえば良い
のですが・・・。(D901iで検証しています)
PCではキャッシュが効いているようなのですが、これはi-modeの
仕様なのでしょうか?
0805nobodyさん2006/02/02(木) 00:51:00ID:???
>>803
変更したくない場合じゃないの?
0806nobodyさん2006/02/02(木) 00:52:13ID:???
>>805
変数だって勝手には変わらないじゃない?
0807nobodyさん2006/02/02(木) 01:00:57ID:???
>>806
その変更がないことを視覚的にも(普通は大文字で書くよね)
はっきり表現したいんじゃない?
0808nobodyさん2006/02/02(木) 01:03:42ID:???
大勢でプロジェクト組むとき勝手に変えられる恐れがないからかな
0809nobodyさん2006/02/02(木) 01:11:47ID:???
>>808
なるほど
個人で作っているから分からない発想だった
thnx
0810nobodyさん2006/02/02(木) 01:14:41ID:???
さて くだらなくなくなってきました。
0811nobodyさん2006/02/02(木) 01:18:35ID:???
上級者には当たり前の疑問も気軽に議論出来るのがこのスレの存在意義だろー
0812nobodyさん2006/02/02(木) 03:08:48ID:???
<?php
//
// 西暦を和暦に変換する
//
include_once("display.inc");
include_once("input.inc");
include_once("calc.inc");
include_once("result.inc");
if (empty($_GET['yyyy'])):
$_GET['yyyy'] = "";
endif;
display_input_area();// 入力エリアの表示
if (!empty($_GET['yyyy']) && input_is_valid()):// 妥当性チェック
$result = calc_gengou();// 元号の計算
display_result($result);// 元号の表示
endif;
?>

↑を実行したら、

Warning: main(display.inc): failed to open stream: No such file or directory in D:\Program Files\xampp\htdocs\~test\part1\chap2\test8.php on line 5

Warning: main(): Failed opening 'display.inc' for inclusion (include_path='.;D:\Program Files\xampp\php\pear\') in D:\Program Files\xampp\htdocs\~test\part1\chap2\test8.php on line 5

というエラーが表示されました。
なにがいけないんでしょうか?
同じディレクトリにdisplay.incはあります。
PHPは4.4.1です。
0813nobodyさん2006/02/02(木) 03:13:13ID:???
>>812
考えられるのは実際のファイル名とincludeしてるファイル名が違うこと。
0814nobodyさん2006/02/02(木) 09:04:07ID:???
>>801
たぶん、本当の答えは「テンプレートエンジンを使え」だと思う。

文字列の連結って結構わけわかめになるからねー。
気持ち悪いのは分かるよ。
0815nobodyさん2006/02/02(木) 10:11:57ID:???
>>801
CとPerlのいいとこ取りをしようと張り切った挙句に
ポリシーが曖昧で中途半端な仕様になってるだけ
0816軟式PHP2006/02/02(木) 10:19:32ID:???
だがそれがイイ。
0817nobodyさん2006/02/02(木) 10:32:23ID:20uSXYKW
P-WEBの自動リンク集のスクリプトで一番下のリンクって消していいんですか?
0818nobodyさん2006/02/02(木) 10:58:55ID:???
>>817
該当スクリプトのライセンスと日本の国内法を確認しろ。
0819nobodyさん2006/02/02(木) 11:53:28ID:???
>>812
試しに
<?php
var_dump(glob("*.inc"));
?>
ってのを動かしたとき、表示内容の中にdisplay.incはあるか?
0820nobodyさん2006/02/02(木) 12:11:49ID:???
>>813
>>819

array(4) { [0]=> string(8) "calc.inc" [1]=> string(11) "display.inc" [2]=> string(9) "input.inc" [3]=> string(10) "result.inc" }
と表示されました。
今やってみたらなぜか動きました。
何がいけなかったんだろう?
お騒がせしました。
0821nobodyさん2006/02/02(木) 13:48:17ID:???
フレームがあるページをPHPで書くとするとどう表現すればいいでうか?
0822nobodyさん2006/02/02(木) 13:59:08ID:???
それHTMLだし
0823nobodyさん2006/02/02(木) 14:54:38ID:???
html何ですが、今までindex.html、left.html、right.htmlでフレームを作ってましたが
これをPHPのecho等でhtmlで出力する時にどう表現すればいいのかを知りたいのですが
0824nobodyさん2006/02/02(木) 14:56:54ID:???
って思ったんですが、これはhtmlで1ファイルで実現できないとphpでも出来ないですよね。
0825nobodyさん2006/02/02(木) 15:10:14ID:???
>>823
index.php、left.php、right.phpでいいやん
0826nobodyさん2006/02/02(木) 15:14:02ID:???
>>825
それを1つのファイルでできないかなっておもいまして・・・
0827nobodyさん2006/02/02(木) 15:20:24ID:???
>>826
だからまずは、
複数のフレームを1つのHTMLファイルで実現する手段を見つけなよ。
それさえ出来れば、後のことは引き受けた。
0828nobodyさん2006/02/02(木) 15:21:02ID:???
>>823
何も難しく考えることはない。
フレームなんてブラウザが同じ画面に構成してるだけなんだから。
index.php、left.php、right.phpという、それぞれ元のhtmlを吐き出す
PHPスクリプトからはじめてみな。
0829nobodyさん2006/02/02(木) 15:25:36ID:???
>>826
んじゃ、index.phpを
index.php?f=main、index.php?f=left、index.php?f=right
で呼び出した時にそれぞれのフレームの内容を吐くようにつくれば?
ただHTMLのフレームって、ファイルをまとめるためじゃなくて、
寧ろ分けたままのものを、表示の際にまとめるための手段だと思うんだけど。
0830nobodyさん2006/02/02(木) 15:45:28ID:???
GETで配列を渡したいのですが今とりあえずserializeでやっていますが
結構長くなってしまうのでもうちょっと短くする方法はありませんでしょうか?
0831nobodyさん2006/02/02(木) 15:58:28ID:???
>>830
同鯖内ならSESSION
0832nobodyさん2006/02/02(木) 16:57:21ID:???
>>830
こんなのも
http://jp.php.net/http_build_query
0833nobodyさん2006/02/02(木) 20:01:06ID:ix6GldKp
<input type="hidden" name="ad" value="sample1@xxxx.xxx">
<input type="hidden" name="ad" value="sample2@xxxx.xxx">
<input type="hidden" name="ad" value="sample3@xxxx.xxx">
<input type="hidden" name="ad" value="sample4@xxxx.xxx">
 ・
 ・
 ・
という風な値をフォーム送信時に、
$ad=
sample1@xxxx.xxx\n
sample2@xxxx.xxx\n
sample3@xxxx.xxx\n
sample4@xxxx.xxx\n



";
という風に格納したいのですがやり方がわかりません。
ググッてみたんですが、検索キーワードが悪いのか、目的地にたどりつけず・・・
どなたか教えてください
0834nobodyさん2006/02/02(木) 20:04:51ID:???
配列使え
08358332006/02/02(木) 20:42:59ID:ix6GldKp
>>834
ありがとうございます。解決しました。
0836nobodyさん2006/02/02(木) 20:51:18ID:???
四文字で解決ってどうなのよ…
0837nobodyさん2006/02/02(木) 21:01:14ID:???
下質です
0838nobodyさん2006/02/02(木) 21:09:46ID:E0bq5JaA
それで解決できるってすげーよ。
0839nobodyさん2006/02/02(木) 22:02:31ID:AVLZG/Ha
他の掲示板にPOSTでデータを送るにはどうすればいいの?
悪用するわけじゃないけど、荒らしスクリプトみたいなのってどういう仕組みなのかなって思って。
0840nobodyさん2006/02/02(木) 22:06:05ID:???
>>839
さんざん既出。ソケット使え。(梨でも良いが)
0841nobodyさん2006/02/02(木) 22:15:18ID:???
>>840
うるさい
0842nobodyさん2006/02/02(木) 22:18:02ID:???
>>840
荒しとヒントの区別の付かない人には無理だと思う。
0843nobodyさん2006/02/02(木) 22:19:36ID:???
842 nobodyさん sage投稿日: 2006/02/02(木) 22:18:02 ID:???
>>840
荒しとヒントの区別の付かない人には無理だと思う。
0844nobodyさん2006/02/02(木) 22:21:28ID:???
>>842
だな
>>840で判らなきゃ何言っても無理
0845nobodyさん2006/02/02(木) 22:21:44ID:???
興味本位で便乗するけど、同じ名前のフォーム部品を持つHTML作って送りつければいいだけじゃないの?
0846nobodyさん2006/02/02(木) 22:28:36ID:???
まぁ、手動でぽちぽちするならそれもありかもな。
0847nobodyさん2006/02/02(木) 22:28:52ID:???
>>845
それだとUA変えたりできないじゃん
0848nobodyさん2006/02/02(木) 22:29:27ID:???
ある意味正解。しかしたいていの「まともな」スクリプトやサーバーは制御されてる。
0849nobodyさん2006/02/02(木) 22:30:35ID:???
既に答えは出たし、こういう話題は荒れるからここで終了。
0850nobodyさん2006/02/02(木) 22:33:54ID:???
post
0851nobodyさん2006/02/02(木) 22:33:59ID:???
PHPエディターを置いてるサイトの解説を見て、PC上でPHPを動くように最新版をダウンロードしまくったのですが、php.ini?の設定で変えておいた方がいい箇所ってありまつか?
0852nobodyさん2006/02/02(木) 22:38:49ID:???
PHPエディターを置いてるサイトの解説を見て、PC上でPHPを動くように最新版をダウンロードしまくったのですが、php.ini?の設定で変えておいた方がいい箇所ってありまつか?
0853nobodyさん2006/02/02(木) 22:44:26ID:???
>>852
実際にどこかのサーバで動かすスクリプトの開発環境として使用するなら、
そのサーバの環境に合わせる。(エンコード周りとか結構重要)
「とりあえず、遊んでみるだけ」って言うなら、当面はデフォで桶
0854nobodyさん2006/02/02(木) 22:47:40ID:???
累計17万5千ダウンロード突破(2006/1/8)

・・そんなに使ってるのか!?
0855nobodyさん2006/02/02(木) 22:51:15ID:???
>>853
ありがd。とりあえずこのまま開発してって不具合があったら調整していきます。
0856nobodyさん2006/02/02(木) 22:51:49ID:???
>>854
>>851-852
0857nobodyさん2006/02/02(木) 22:52:27ID:5dJz86s1
次のような方法で、グローバル変数を関数内で呼び出せることは分かっています。

<?php
$var_A = 1;
function Test() {
  global $var_A;   //グローバル文で宣言
  echo $var_A;
}
Test();
?>

しかし、関数Aで定義した変数を、関数Bで使う方法が分かりません。

function A() {
$var = "hoge";
}

function B() {
print $var;
}

これで $var を表示する方法が知りたいのです。
検索をかけても、グローバル変数を関数内で呼び出す方法が載っているサイトばっかりひっかかって、
下記の方法がなかなか見つからないのです。

ご教示お願いします。
08588572006/02/02(木) 22:55:15ID:???
追記です
後者は、

A();
B();

を実行した場合についてです。
08598572006/02/02(木) 22:59:26ID:???
関数Aと関数Bの両方で
「global $var;」を宣言したら使えました。
phpのスコープの概念が他の言語とかなり違っていて混乱していました。

global $var; は、
「グローバル変数 $var を 関数内で使用することを許可する。」というだけではなく、
「関数 $var を グローバル変数にする。」という処理も同時に行うという事なんですね。

自己解決でスレを汚して申し訳なかったです。
0860nobodyさん2006/02/02(木) 23:35:23ID:???
>>859
スコープの「概念」自体は他の言語と大差ないよ。
ただ、デフォルトがグローバルなのかローカルなのかの差はある。
08618572006/02/02(木) 23:47:17ID:???
>>860
関数内での宣言がデフォルトでローカル変数の言語は使ったことがあったので良かったんですが、
グローバル変数を関数内でそのまま呼び出せない部分で混乱したようです。

| global $var; は、
| 「グローバル変数 $var を 関数内で使用することを許可する。」というだけではなく、
| 「関数 $var を グローバル変数にする。」という処理も同時に行うという事なんですね。

と考えていたのですが。

| ローカル変数 $var と グローバル変数 $var は別に存在する
| 関数で「global $var;」と宣言した場合には、その関数内ではグローバル変数の $var が使われる。
| 他の関数内でそのグローバル変数 $var を使いたい場合には、そっちも global $var; と宣言する必要がある。

とシンプルに考えたらなんだか理解した気になれました。
0862nobodyさん2006/02/03(金) 00:00:10ID:???
別の関数内の変数を必要とした事が一度もないんだけど
0863nobodyさん2006/02/03(金) 00:13:21ID:???
そもそも、グローバル変数を介した関数間の変数のやり取りはよろしくない。
クラスにしてメンバ変数つかうのが妥当だと思われる。
0864nobodyさん2006/02/03(金) 00:16:10ID:???
globalを使わなきゃいけない状況ってどんなのがあるの?
08658572006/02/03(金) 00:19:30ID:???
>>862
うんと、本来の「関数」ではないところに、
作業の流れを分かりやすくするために関数扱いにして
一番上で条件ごとにどの関数を呼び出すのかを列挙している感じに使ってます。
08668572006/02/03(金) 00:25:50ID:???
具体的にはこんな風に関数を使っているので、
関数から他の関数で使っている変数を呼び出す必要があるんです。


# 処理内容を順番に列挙
LoadFile();
if ($_POST['Type'] == "表") {
FileTable();
} else {
FileG();
}


# ファイル読み込む
function LoadFile {
$ファイル内容 = fopen("hogehoge.dat", "r");
fclose($ファイル内容);
}


# ファイルの内容を表にする
function FileTable {
〜ここで変数 $ファイル内容 を使う〜
}


# ファイルの内容をグラフにする
function FileG {
〜ここで変数 $ファイル内容 を使う〜
}
08678572006/02/03(金) 00:26:34ID:???
()を抜かしていたので修正

# 処理内容を順番に列挙
LoadFile();
if ($_POST['Type'] == "表") {
FileTable();
} else {
FileG();
}


# ファイル読み込む
function LoadFile () {
$ファイル内容 = fopen("hogehoge.dat", "r");
fclose($ファイル内容);
}


# ファイルの内容を表にする
function FileTable () {
〜ここで変数 $ファイル内容 を使う〜
}


# ファイルの内容をグラフにする
function FileG () {
〜ここで変数 $ファイル内容 を使う〜
}


0868nobodyさん2006/02/03(金) 00:31:58ID:???
ところで、引数を使うのはダメなの?
function LoadFile () {
return $handle = fopen("hogehoge.dat", "r");
}

$naiyou = LoadFile();
if ($_POST['Type'] == "表") {
FileTable($naiyou);
}

これじゃダメ?
0869nobodyさん2006/02/03(金) 00:33:06ID:???
配列$x に 二次元配列$y[2][1] の値を代入したくて、次のような式を書きました。

print "$x[$y[2][1]]";

そうすると、パースエラーになってしまうようです。
Parse error: syntax error, unexpected '[', expecting ']' in /ディレクトリ階層/hogehoge.php on line 数字

原因を教えて頂けると幸いです。
08708572006/02/03(金) 00:36:49ID:???
>>868
上級者の方はそういうコードを好まれるみたいですね。
自分の場合は、関数から引数を2つ出力できなかったり(配列使えばできるけど)するので
なんとなく867みたいなやり方がわかりやすい気になっちゃうんです。
自分のコードは脆弱性を作りやすい書き方みたいですので、他の人のを参考にして綺麗なコードを書くように心がけます。
0871nobodyさん2006/02/03(金) 00:39:36ID:???
>>869
$x[] = $y[2][1];
print_r($x);
じゃ駄目なのかな
08728692006/02/03(金) 00:47:34ID:???
>>871
あ、すみません。
表現がおかしかったようです。


(誤) 配列$x に 二次元配列$y[2][1] の値を代入したくて、次のような式を書きました。

言葉で説明できないのでコードで書きますね。

このようなコードを1行に書きたいんです。
配列に配列をいれることをよくやるので1回一時的な変数にいれたりするとまどろっこしいので。
| $hoge = $y[2][1];
| $x[$hoge];


これを多くの言語では、$x[$y[2][1]] と書けばできるんですが、
phpではこのようにシンプルにやる方法はないのでしょうか?

0873nobodyさん2006/02/03(金) 00:58:02ID:???
>>867
なんか昔のBASICのサブルーチンを思い出すようなコードだな。
0874nobodyさん2006/02/03(金) 00:59:29ID:???
>>872
普通にできるだろう。
869のエラーはそれを”〜”中で書いてるせいだと思う。
0875無知ですまそ2006/02/03(金) 02:01:46ID:SfkSG4GR
パスワードチェックで

if ($FORM{'mail'} ne 'aaa') { &error("パスワードが違います"); }

としたのだけど、aaaとbbb以外は違うとするにはどうすればいいのか教えてください。
0876無知ですまそ2006/02/03(金) 02:02:53ID:SfkSG4GR
if ($FORM{'pass'} ne 'aaa') { &error("パスワードが違います"); }

でした。
0877nobodyさん2006/02/03(金) 02:10:54ID:???
>>875-876
おまえさん、そりゃPerlだよ。
0878nobodyさん2006/02/03(金) 02:15:28ID:???
>>870
基礎からやり直したほうがいいと思う。
用語も間違ってるし、全くわかってないだろ。
0879nobodyさん2006/02/03(金) 02:24:40ID:???
>>873
むしろCOBOLっぽい
0880nobodyさん2006/02/03(金) 02:26:02ID:???
>>875-876
って、マルチかよ・・
0881nobodyさん2006/02/03(金) 10:36:16ID:???
ASPのServer.Transferのように
GETとPOSTとSESSION以外で別ページに変数渡す方法ないでしょうか?

やりたいことは別PHPプログラムへ変数を渡すことです、
GETとPOSTはセキュリティの関係上使用したくありません、
変数を渡されるPHPプログラムは全く弄ることができないので、
SESSIONでも難しい状態です。
宜しくお願いします。
0882nobodyさん2006/02/03(金) 10:48:39ID:???
PHPってオーバーロードできないんですね・・^^;
0883nobodyさん2006/02/03(金) 11:14:29ID:???
php で関数をラップするにはどうしたら?

wrapper(1, 2, 3);
function wrapper() {
  $args = func_get_args();
   //return original($args);
  //これでは original(1, 2, 3) ではなく original(array(1, 2, 3))
}

python かなんかだと配列渡すと勝手に展開してくれた記憶が。
同じようなことをやりたい。
0884nobodyさん2006/02/03(金) 12:08:13ID:???
>>883
call_user_func_array()
0885nobodyさん2006/02/03(金) 12:13:10ID:???
>>881
渡されるプログラムをいじれないなら、渡されるプログラムが
受け取れる方法を確認するのが先じゃないのか?
つか渡されることを前提に作られていないなら get, post 以外は
無理だろ、ふつー。
0886nobodyさん2006/02/03(金) 12:14:01ID:???
>>881
そういうまっとーな質問は本スレ池
0887nobodyさん2006/02/03(金) 12:17:20ID:???
>>881
ASPのServer.Transferだって渡される側を改造しないとデータは受け取れなくなかったか?
0888nobodyさん2006/02/03(金) 12:17:48ID:???
>>881
変数をファイルに書き出して、FTP(もしくはSCP)で相手環境に投げる















・・・・んなバカなw
0889nobodyさん2006/02/03(金) 12:19:23ID:???
>>857
>>520- からの流れを読んで class 使うのが吉
0890nobodyさん2006/02/03(金) 12:26:45ID:???
>>889
こんな分割の仕方をする人がそのままの感覚でクラスを使ったら
めちゃめちゃメモリ食いのプログラムが出来上がる予感
0891nobodyさん2006/02/03(金) 12:32:38ID:???
atomのパーサ・ジェネレータでC++のフリーのライブラリってありますか?
0892nobodyさん2006/02/03(金) 12:36:20ID:???
ここはPHPの質問スレなんだが
08938832006/02/03(金) 14:18:12ID:???
>>884
うぽ。サンクス
0894nobodyさん2006/02/03(金) 14:39:16ID:???
>>890
今時そんな貧乏的なプログラミングする必要あるの?
どんな分割しようがこの時代において大差ないだろ。

そんなに、負荷が気になるなら eAccelerator でも使ってコンパイルすりゃいいじゃん。
そしたら分割がどうのなんてことによる差なんて殆どなくなるから。
0895nobodyさん2006/02/03(金) 17:23:33ID:???
$a = &$b;

$a =& $b;
って一緒ですか?
0896nobodyさん2006/02/03(金) 17:37:27ID:???
>>895
$aと=と&と$bはそれぞれ別のtokenだからスペースの有無は関係ないと思う
0897nobodyさん2006/02/03(金) 17:57:08ID:???
>>894
あの単なるラベルにしかなってないレベルの機能分けでクラスにしたら
大半の変数をメンバ変数に抱えてグローバルで持ち回る羽目になると思うし、
しかもそれをいちいちオブジェクトを通した間接参照することになる。
そういう状態になると、PHPってメモリを無駄に馬鹿食いする上に激遅になるんで
ホントにそのためだけにアクセラレーターなどを導入する羽目になりかねないと思う。
0898nobodyさん2006/02/03(金) 17:58:27ID:???
設計はどうでもPHP使うならアクセレータはあった方がいいよ
0899nobodyさん2006/02/03(金) 19:47:52ID:QzQwZT7X
おい

require_once "Auth/Auth.php";

function loginFunction()
{
/**
* HTML出力は、作成するアプリケーションに合うように、
* 変更してください。
*/
echo "<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\">";
echo "<input type=\"text\" name=\"username\">";
echo "<input type=\"password\" name=\"password\">";
echo "<input type=\"submit\">";
echo "</form>";
}

$dsn = "mysql://user:password@localhost/database";
$a = new Auth("DB", $dsn, "loginFunction");

$a->start();

if ($a->getAuth()) {
/**
* サイトの出力はここ。
*/
}

動かないんだが、
テーブル指定してないのにつながるの?
教えて下さい。
0900nobodyさん2006/02/03(金) 19:52:35ID:???
オーイ(^o^)/~~~~~オーイ
エスパーさんお呼びですよ
0901nobodyさん2006/02/03(金) 19:58:00ID:???
>>899
> おい
偉そうなやつだな。
0902nobodyさん2006/02/03(金) 20:06:13ID:???
動かないんならつながらない。
答えは出てるんじゃまいか。
0903nobodyさん2006/02/03(金) 20:30:19ID:???
>>899
それ配布するつもりか?
プログラム言語触ったことないやつにはecho "";なんて意味不明だ。
別ファイルにhtml部分は書き出したほうがいいんじゃないか?
0904nobodyさん2006/02/03(金) 20:56:05ID:???
>>896
そういうことか、さんくす
あるところに=&を参照代入の演算子だって書いてあったから=&で1つなのかと思った
0905nobodyさん2006/02/03(金) 21:12:53ID:???
>>899
>>903の言う通りだ。includeやら何やらでHTMLファイルを読み込むように汁。

0906nobodyさん2006/02/03(金) 22:40:41ID:???
SJISで
mb_ereg(preg_quote($a),"あと");


$a="あ";
だと真で
$a="あと";
だと偽

になるんですが両方とも真にしたいのです。原因わかる方いますでしょうか?
0907nobodyさん2006/02/04(土) 00:13:04ID:???
>>906
良く判らんがSJISに対応してないpreg_quoteで処理したら
そもそもおかしいのでは?
0908nobodyさん2006/02/04(土) 01:09:37ID:???
>>906
再現しない。普通にどっちも真になった。
SJISだ、と言ってるが、実はソースがSJISなだけでphp.iniの設定はSJISじゃなかったりしないか?
0909nobodyさん2006/02/04(土) 05:58:57ID:???
>>906-907
あれま、そうなんですか。よく確認してませんが、php.iniではEUCかもしれません。今起きたばかりなんであとにしますが、php.iniをいじれないのでme_internal_encoding()、ini_set()あたりでいけますかね?
0910nobodyさん2006/02/04(土) 06:00:01ID:???
・元になる配列はn個ある。(全てにキーが付けられていて、配列の長さ・並び順は同じ)
・共通部分を抜き出した配列を作り、重複するキーと値のペアを削除したい。

$array1 = array( 'a'=>1, 'b'=>2, 'c'=>3 )
$array2 = array( 'a'=>1, 'b'=>3, 'c'=>5 )
    ↓
$array1 = array( 'b'=>2, 'c'=>3 )
$array2 = array( 'b'=>3, 'c'=>5 )
$result = array( 'a'=>1 )


$result = array_intersect_assoc($array1, $array2 [, array ...])
マニュアルを調べて重複する物を取り出す方法は分かったけど、重複してるのを消すには各配列毎にunsetしなきゃダメかな。
もっとスマートな方法があれば教えてください。
09119062006/02/04(土) 08:30:29ID:???
INI_SET("mbstring.internal_encoding","SJIS");
でできました。ありがとうございました。
0912nobodyさん2006/02/04(土) 09:10:21ID:???
「List」が「いst」に見えました。
俺、疲れてるんでしょうか?
0913nobodyさん2006/02/04(土) 09:50:22ID:???
>>910
array_unique()使うといいのでは
0914nobodyさん2006/02/04(土) 10:09:10ID:???
array_unique() は一つの配列内での値の重複を無くす関数で、
複数の配列間で共通の物を抜き出す用途には使えないんじゃないかな。
0915nobodyさん2006/02/04(土) 10:17:19ID:???
あ〜そっか。
array_diff()だな。
0916nobodyさん2006/02/04(土) 10:32:01ID:???
>array_diff() は、他の引数のいずれにも存在しな いarray1の値の全てを有する配列を返します。
ってなってるから
>>910の例に則ると、array_diff($array1, $array2) の結果は array( 'b'=>2 ) になって、
欲しい結果として例示してる $result と 各$arrayには当て嵌まらなく・・ orz
0917nobodyさん2006/02/04(土) 10:38:25ID:???
mysqlで、abc.txtの中身
あいう|aabbccdd|1234
えおか|eeffgg|4321567
等100件くらいのデータを登録したいのですが、10件ほどしか登録できません。
どうしたらいいでしょうか?

$text = "abc.txt";
$mi = file($text);
$i = 1;
foreach($mi as $val){
$jon = explode('|', $val);
mysql_query("INSERT INTO dare VALUE ($i,'$jon[0]','$jon[1]','$jon[2]')");
$i++;
}
0918nobodyさん2006/02/04(土) 10:47:46ID:???
関係ないけどforeachでやってる意味なさそうな
0919nobodyさん2006/02/04(土) 10:51:55ID:???
>>916
$array1と$array2の共通部分が$resultならそれを各配列から除けばいい。
$array1 = array_diff_assoc($array1, $result);
多分こんな感じ。
0920nobodyさん2006/02/04(土) 10:53:47ID:???
>>917
クエリー発行の代わりにechoでもして変数の中身を確認してみ。
0921nobodyさん2006/02/04(土) 11:02:10ID:???
>>919
あぁ、なるほど・・勘違いして妙な事言ってすみません。
動作チェックをして意図した通りに動く事を確認しました。ありがとうございます
0922nobodyさん2006/02/04(土) 11:15:04ID:???
>>920
echoはちゃんと100件ほど表示されるんですよ。

navicat使っとく事にします。
ありがとうございました。
0923nobodyさん2006/02/04(土) 11:53:48ID:???
>>917
mysql_query("INSERT INTO dare VALUE ($i,'$jon[0]','$jon[1]','$jon[2]')") or die(mysql_error());
0924nobodyさん2006/02/04(土) 19:36:20ID:???
やべぇ。
PEAR が ペアって読むって TV 見てて初めて気付いた。。
てゆーか梨だったと今更気付いたしorz
0925nobodyさん2006/02/04(土) 20:40:11ID:???
>>924
m9(^Д^)プギャー

オレもだorz
0926nobodyさん2006/02/04(土) 20:55:59ID:???
うえ?ピアーじゃないの?
0927nobodyさん2006/02/04(土) 20:57:52ID:???
0928nobodyさん2006/02/04(土) 21:07:39ID:???
発音はピに近いペアー
日本語読みだとペアー
0929nobodyさん2006/02/04(土) 22:13:32ID:???
http://dictionary.goo.ne.jp/voice/p/00060483.wav
0930nobodyさん2006/02/05(日) 03:06:13ID:???
くだらない質問がおkということでやってきました。
当方WindowsでPHPをコーディングしているのですが、仕事場ならまだしも自宅でコーディングする時に
あの登録されていない拡張子のアイコンがとても気になります。Javaとかは良いアイコンがあったので
変更しているのですが、PHPファイルの良いアイコンがなかなか見つかりません。
誰か良いアイコンご存じないですか?
0931nobodyさん2006/02/05(日) 03:07:29ID:???
http://www.uploda.org/uporg304451.zip
これ使ってる。
0932nobodyさん2006/02/05(日) 03:19:48ID:???
>>931
横からだが、それイイネ
09339302006/02/05(日) 03:59:17ID:???
うおおおおおおお!!!!!!
ありがとうございます!
こんな素敵なアイコンがあったのか・・・
やる気が出てきたです!

しかしアイコンとかちょっとかえるだけで何か凄い新鮮な気分だ
0934nobodyさん2006/02/05(日) 04:06:25ID:???
0602/0131.dat

といったフォーマットの文字列から、
1〜4文字目と8〜9文字目を抜き出して
06 02/31
というフォーマットに変換にしたいんですが、どうやるのが手短ですか?
自分がやるとsubstrとか何度も使いまくってエライことになりそうなんですが…。
0935nobodyさん2006/02/05(日) 04:07:17ID:???
>>931
俺もそれ使ってみよう
0936nobodyさん2006/02/05(日) 04:09:38ID:???
>>934
正規表現かsscanf。自分でやるなら正規表現だけど、どっちでもいいと思う。
0937nobodyさん2006/02/05(日) 04:50:40ID:uUJqicme
元あるHTMLファイルにコメントを書き込んでいくスクリプトを製作しているのですが、
書き足していくと、もとある文章の上に書き足されてしまいます。
もとある文章の下に加えたい場合はどのような操作をすればよいのでしょうか?
0938nobodyさん2006/02/05(日) 05:12:58ID:???
自分も始めたばかりでよく分からないのですが

<?
$logpath = "hoge.txt";

$lines = @file($logpath);
$fp = @fopen($logpath , "w");
flock($fp, LOCK_EX);
  $lines[] = "追加したい文字列<br>\n";
  foreach($lines as $value) fputs($fp, $value);
flock($fp, LOCK_UN);
fclose($fp);

/*確認*/
$lines = @file($logpath);
foreach($lines as $value) print($value);

?>

こんなんでどうでしょう
0939nobodyさん2006/02/05(日) 05:15:00ID:???
>>937
fopenの第二引数について調べておいで。
0940nobodyさん2006/02/05(日) 05:16:52ID:???
>>938
いい筋してる でも無駄がある。
09419382006/02/05(日) 05:17:52ID:???
なるほどaにすればforeach使う必要ないのかw
勉強になりますた
0942nobodyさん2006/02/05(日) 05:23:48ID:???
wは必要ない時はあんまり使わない方がええよ。
0943nobodyさん2006/02/05(日) 05:31:54ID:???
モジュール版のphpって Apache 自体が処理するんですよね。

ってことは、無限ループphpを作って実行した場合には、
そのphpを終了することはできないのでしょうか?

終了するためにはApache再起動が必要になるんですか?
0944nobodyさん2006/02/05(日) 05:41:50ID:???
>>943
そこのあたりあんまり詳しくないけど多分そうだと思う。
しかもApache2からはタスクバーにApacheアイコンあるでしょ?
それからはApacheの再起動とか出来なくなっちゃう。
マイコンからサービスで止めなきゃダメポ
0945nobodyさん2006/02/05(日) 05:51:49ID:???
長いソースはってもいいですか
0946nobodyさん2006/02/05(日) 05:57:28ID:???
ステップ数にも夜が
出来るならどっかにあげてくれ
09479432006/02/05(日) 05:58:55ID:???
>>944
ということは、例えば共有レンタルサーバでスクリプトを無限ループさせちゃったら、
サーバ管理者しか止められないということなんでしょうか(´・ω・`)
09489452006/02/05(日) 06:01:16ID:???
MySQL用のDB操作クラスなんですが、基底クラス+派生クラスで158行あります。
空白改行とコメント含んでます。貼るには長いですかね。。
はれる場所さがしちゅ
09499452006/02/05(日) 06:20:23ID:???
なさそうなんで、切り抜いて貼ります。
すごく初歩的な質問になりますけれど、継承というのはこういう使い方でおかしくないでしょうか?
質問の仕方が悪いかもしれませんが、どう聞くべきかむずかし。。

親クラスに↓こんなメソッドがある場合、

//レコード取得
public function Set_Data($result, $row) {
mysql_data_seek($result, $row);
return mysql_fetch_array($result);
}

子クラスでそれを使いたい場合は↓のようにしている。

//結果取得
public function Setdata($row=0) {
$rs= parent::Set_Data($this->result, $row);
$this->setBbsdate($rs["bbsdate"]);
$this->setBbsid($rs["bbsid"]);
$this->setUsername($rs["username"]);
$this->setTitle($rs["title"]);
$this->setBody($rs["body"]);
$this->setMailaddress($rs["mailaddress"]);
$this->setWebaddress($rs["webaddress"]);
$this->setDeletekey($rs["deletekey"]);
$this->setRemotehost($rs["remotehost"]);
}
0950nobodyさん2006/02/05(日) 06:26:14ID:???
>>949
普通、子クラスから親クラスのメソッド呼び出すときも
$this->Set_Data(); ってやると思うぞ。
0951nobodyさん2006/02/05(日) 06:28:22ID:???
>>937
HTMLのどの位置にどうやって書き込んでるのさ。
現状の上書きしちゃうっつー方式がよく分からんぞ。
09529492006/02/05(日) 06:34:24ID:???
>>950
ありがとうございます。

例えば、こんな親のコンストラクタがある場合、

//親コンストラクタ
public function __construct() {
$this->constr = mysql_connect('*******', '****', '*******');
$this->dbname = '******';
mysql_select_db($this->dbname);
}

子のコンストラクタから親のコンストラクタを使う場合、↓みたいにしなきゃいけなかったので
親の使うときは全部こうなのかと勝手に思い込んでました。

//コンストラクタ
public function __construct() {
parent::__construct();
}

ご教授ありがとうございました。
0953nobodyさん2006/02/05(日) 09:10:19ID:iOU2xOeQ
質問させてください。

formのtextareaタグで以下のデータを入力します。
aaa
bbb
ccc

スクリプトで、
$arr = explode("\n",$data)
のように、改行コードで配列に格納し、

if ($arr[0] == "aaa")
で比較しても条件にマッチしません。

var_dump($arr[0])したところ、4文字になっていました。
どういうことなのでしょうか?
0954nobodyさん2006/02/05(日) 09:52:04ID:???
改行コードについて詳しく調べてみなさい
さすれば道は開けよう
0955nobodyさん2006/02/05(日) 10:23:24ID:???
\r\n
0956nobodyさん2006/02/05(日) 10:34:00ID:???
trim
0957nobodyさん2006/02/05(日) 10:45:22ID:???
>>953みて思ったんですけど

str_replace("\r","\n",$text);
str_replace("\r\n","\n",$text);

って常にやっとけばいいのかな?
0958nobodyさん2006/02/05(日) 11:08:26ID:???
>>957
\r\n \n \rの3パターンがある。(\n\rは無い)
それぞれの場合にその処理をするとどうなるか考えてみると、おのずと答えがでる。
0959nobodyさん2006/02/05(日) 11:31:00ID:???
perlから移行中なのですが、正規表現におけるphpとperlの違いをドキュメント化したサイトはありませんか?
0960nobodyさん2006/02/05(日) 11:34:34ID:???
>>959
perlがわかってるなら、phpマニュアルみれば違いがわかるのでは?
0961nobodyさん2006/02/05(日) 12:17:34ID:???
>>959
ttp://jp2.php.net/manual/ja/ref.pcre.php
0962nobodyさん2006/02/05(日) 13:38:58ID:???
                           ___    _
   | ̄|  />  _           _   /   _|   | |  />
   |  |//   \ \   __   / /   \ \.     |  |//
   |    \     \ \/ \/ /       〉 ヽ.    |   \
   |  |\ \     \ /\ /    | ̄ ̄   ノ     |  |\ \
 /::::/'"   ̄ヾi    /  ̄ ̄ \  /::::/'" ̄ ̄ヾi   /   ̄   ヽ
 |:::::::| ,,,,,_  ,,,,,,|   |  ^   ^  |  |:::::::| ,,,,,_  ,,,,,,|  |  ^    ^  |
 |r-==( 。);( 。)   | >ノ(、_, )ヽ、.|   |r-==( 。);( 。)   | >ノ(、_, )ヽ、.|
 ( ヽ  :::__)..:: }    ! ! -=ニ=- ノ !  ( ヽ  :::__)..:: }   ! ! -=ニ=- ノ !
  ヽ  ー== ;      \ `ニニ´ /   ヽ  ー== ;    \ `ニニ´ /
   \___ !        ̄ ̄       \___ !        ̄ ̄ ̄
0963nobodyさん2006/02/05(日) 14:37:05ID:6eXZDRj2
指定したURLから読み込んだhtmlファイルから、特定の場所の値を取り出す方法は、何かありますか?
例えば、2番目のテーブルの3行目の左から4個目のセルの値を取り出す方法。
やっぱり、文字列処理をしないといけないのでしょうか?
0964nobodyさん2006/02/05(日) 14:38:11ID:???
当然。
0965nobodyさん2006/02/05(日) 14:47:07ID:???
>>949
何かを取得するためのメソッド名が setXxx なのは絶対におかしい。
getXxx にしとけ。
0966nobodyさん2006/02/05(日) 15:11:02ID:???
>>959
PHPにはPerl互換の正規表現を扱うpreg系ライブラリがあるから
それ使ってればそれほど違いを意識しないで済むよ。
若干の仕様差はあるけど、pregのマニュアルの中で明記されてる。

Perl互換でないereg系は要するにPerl拡張の入ってない標準的な正規表現です。
09679442006/02/05(日) 15:57:34ID:???
>>947
今の俺の理解力ではそういうことになる。
一応そこに確認してみたらどうだろう?
で、結果が解ったら俺に教えてくれ('A`)
0968nobodyさん2006/02/05(日) 17:15:02ID:???
>>947
共有サーバだったら、PHPなりPerlなりの実行時間には制限が設けられていると思う。
1ユーザがリソースを食い尽くさないようにね。
なので、その制限時間を越えたら、問答無用で強制終了されると思われ。
0969nobodyさん2006/02/05(日) 17:35:00ID:???
ちょっと思ったんだけど、ローカルでチェックしてても無限ループする可能性があるのってどんな場合が考えられるのかな?
0970nobodyさん2006/02/05(日) 17:35:04ID:???
エクスプローラからドラッグアンドドロップでファイルをアップロードできるようにしたいのですが、
ActiveXを組み合わせる以外に方法はありませんか?

0971nobodyさん2006/02/05(日) 17:52:09ID:???
既出か分からないけど、
トップーページと入力すると
本来ならば%83g%83b%83v%83y%81[%83WのはずなのにPHPは%83g%83b%83v%83y%81_%83Wと受け取ってしまう。

[となるべく部分が_になってしまう。
[[[とすると_[[と受け取るので最初の[のみ誤認してしまうようです。

これの対処はどのようにすればいいでしょうか?
0972nobodyさん2006/02/05(日) 17:54:39ID:???
>>947
CGIだから無限ループが問題にならないということはないよ。
リソース食えば同居してるApacheの足を引っ張るから。

普通のまっとうな管理者ならリソースの制限をしてるので、
ユーザの過失で無限ループに陥っても、管理者が手動で止めるまで際限なく
ループが続くということはない。Apahce+PHP(サーバモジュール/CGI/suExec等)の
組み合わせにもよるので、制限や監視のしかたにも色々とあるが
そういった用意は管理者がしてるものなので「管理者が止めないとだめ」というのは正しい。

制限、監視をしてても、それらは一時的にはサービスの提供に支障が出るので、
テスト自体を共有サーバでしてるような香具師は注意・警告の上、
何度も繰り返すようなら契約の解除ぐらいはやります。他の人に迷惑だからね。
0973nobodyさん2006/02/05(日) 18:03:33ID:???
>971ですが状況が分かりづらくてすみません
>トップーページと入力すると
というのはURLに入力という意味で
http://.../index.php?トップページ』
としたときです。
このように入力した後 echo key ($GET); とするとトップペ\ジとなります。

それと、環境はPHP5を使用しています。
OSはWindowsXP SP1でAN HTTPDとApacheの両方で同様の誤動作を確認しています。

情報足らずで失礼しました、
引き続き対処の程を教えていただけるようお願いします。
0974nobodyさん2006/02/05(日) 18:12:41ID:???
>>947
ブラウザ閉じればPHPも途中で終了するんじゃないかな。
0975nobodyさん2006/02/05(日) 18:25:21ID:???
>>973
それで理由が分かったよ。
それ、PHPの仕様。マニュアル嫁。
0976nobodyさん2006/02/05(日) 18:35:09ID:???
->
↑の説明って、マニュアルのどこにありますか?
0977nobodyさん2006/02/05(日) 18:54:32ID:???
>>976
クラスの章かな
単体で->の説明は無いけど使い方ならサンプルソースで分かると思う。
0978nobodyさん2006/02/05(日) 19:00:18ID:???
>>975
なる程、仕様なのですね。
配列とkey関数のマニュアルは読んで見ましたが該当していそうな部分は見当たりませんでした。
さすがにあの量の中から探すのも大変なのでどこに書かれているか教えていただけませんか?

ついでに報告として
$test = Array ("トップページkey" => "トップページvalue");
print_r ($test);
print (key ($test));
を実行して見ましたが、トップペ\ジkeyとは表示されませんでした。
valueの方も同様にトップペ\ジとはなりませんでした。
0979nobodyさん2006/02/05(日) 19:14:37ID:???
>>977
そこは読んだのですけれど、分からなかったのです。
説明しているサイトとかないでしょうか?
簡単にでも言語化してあれば自分でいじってみるのですが…。

検索エンジンにもかからないんですよね…。
0980nobodyさん2006/02/05(日) 19:23:02ID:???
「php クラス」で検索すればそこそこヒットする筈なんだが。。。(そのページの拡張子がphpのものもヒットしてしまうが)
0981nobodyさん2006/02/05(日) 19:26:40ID:???
>>980
ありがとうございました。
検索してみます。
0982nobodyさん2006/02/05(日) 19:59:05ID:???
>>979
言語化というのはPHPとして書かれているという意味でいいんかな。
サンプルソースあるよ。
ttp://php.s3.to/man/language.oop5.basic.html
0983nobodyさん2006/02/05(日) 20:01:21ID:???
$n="00000000236";

みたいになってるデータをただの「236」という数字に直すにはどうしたらいいんでしょうか?
0984nobodyさん2006/02/05(日) 20:02:28ID:???
文字列で

<a href="yahoo.co.jp">yahoo</a>
<a href='yahoo.co.jp'>yahoo</a>
<a href=yahoo.co.jp>yahoo</a>

の違いって何でしょうか。
echoで出力するときにあんまり" "や' 'で囲むと複雑になるので
囲まないでやりたいんですが、どう使い分けるんでしょうか。
0985nobodyさん2006/02/05(日) 20:12:39ID:???
使いわけつーか、html4仕様で属性での " や ' が省略できる時の条件つーのが決められている。
自分で調べてみるかWeb制作板で聞いてみそ
0986nobodyさん2006/02/05(日) 20:13:28ID:???
>>983
即席で申し訳ないが
$num = sscanf ($n, "%d");
0987nobodyさん2006/02/05(日) 20:19:21ID:???
>>983
ついでに資料見っけたんで張る。
http://www.php.net/manual/ja/language.types.type-juggling.php#language.types.typecasting

echo (int)$n = "00000000236";
や、$nの型自体を変えたい場合は
settype($n, "integer")
としてもいいかも
0988nobodyさん2006/02/05(日) 20:19:55ID:???
>>984
URIの場合は "" や '' で囲まなければならない。
1つのブラウザでたまたま表示できても、他のブラウザで表示できる保証はない。

<a href="http://www.hogehoge.foo/my document.html">test</a> みたいに、
URIに空白が含まれていたら、囲わないと殆どのブラウザで表示できなくなるぞ。

ちなみに、URIに空白文字の使用は認められている。

09899372006/02/05(日) 20:21:24ID:uUJqicme
おかげさまで解決できました
ありがとうございました
0990nobodyさん2006/02/05(日) 20:33:02ID:???
>>983
条件にもよるけど、intval($n)とか(int)$nでいいと思う。
0991nobodyさん2006/02/05(日) 20:49:02ID:???
>>931
今見たら404。
どなたか>>931と同じアイコンをアップしてくれぬか。

http://www.php.net/download-logos.php
のでもいいんだけども。
0992>>9532006/02/05(日) 20:52:41ID:JmIOlMc7
ありがとうございます!!
0993nobodyさん2006/02/05(日) 21:24:21ID:???
php-cgi.exeをコマンドライン上で起動すると、正常に機能するのに
AN HTTPDから起動させようとするとうまくいかないのはなぜでしょうか。
php.exeなら動くのでAN HTTPDの設定は問題ないと思うのですが・・・
0994nobodyさん2006/02/05(日) 22:15:33ID:???
埋め
0995nobodyさん2006/02/05(日) 22:24:26ID:???
>>993
その段階だと俺はphp-cgiで動くなぁ、とか言うコメントしかできないかも。
OSとかAN HTTPDの設定とか書いてくれると色々アドバイス貰いやすいよ。
0996nobodyさん2006/02/05(日) 22:27:28ID:???
>>991
ちょっと待ってろ
0997nobodyさん2006/02/05(日) 22:34:49ID:???
>>991
どうぞ。
すまんぬ、いつもの癖でパスつけちゃった
ttp://upld3.x0.com/index.html
多分見たら解ると思う
0998nobodyさん2006/02/05(日) 22:39:03ID:???
【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/l5
0999nobodyさん2006/02/05(日) 22:44:35ID:???
1000だったら次スレの>>10がおっぱいうp
1000nobodyさん2006/02/05(日) 22:44:58ID:???
1000!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。