【PHP】質問スレッド Part7
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/02/06 05:56ID:???http://www.php.net/
■ 日本 PHP ユーザ会
http://www.php.gr.jp/
■ PHP マニュアル
http://www.php.net/manual/ja/
■ PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ及び注意事項等は、>>2-10あたりに
0345nobodyさん
03/02/28 01:14ID:???でしょうか?
0346nobodyさん
03/02/28 01:16ID:???ってことで。方法。
/usr/local/src/php4
にソースがあるとして
cd /usr/local/src/php4
cvs -d :pserver:[email protected]:/repository login
cvs -d :pserver:[email protected]:/repository co pear/PECL
たぶん、これでいけるはず。
cvsでPHPのソースとってくる方法は公式サイトにも書いてあるから
そっちも参考にしてくれ。
うーん、無理だったか。スマソ。
で、ちょっと試してみたんだが、IEだと>>344のようにフルパスでもダメだったが、
KDEのコンカラだとうまく出来たよ。
ってことで、ブラウザ依存だな。別のに替えてミソ。
0350nobodyさん
03/02/28 11:05ID:???#諸般の事情で4.3.0が使えないのです。
hello world!
を
Hello World!
になるように変換したいのですが。
0352nobodyさん
03/02/28 12:26ID:???それくらい数行だから関数かけば
function my_case_folding($str, $mode = 'CASE_UPPER')
{
switch($mode) {
case 'CASE_UPPER':
return strtoupper($str);
case 'CASE_LOWER':
return strtolower($str);
case 'CASE_TITLE':
$retval = array();
$words = split(' ', $str);
foreach ($words as $word) {
$retval[] = strtoupper(substr($word, 0, 1)) . substr($word, 1);
}
return join($retval, ' ');
default:
return FALSE;
}
}
0353nobodyさん
03/02/28 12:48ID:ybZkxx6m例えばttp://www.takarakuji.mizuhobank.co.jp/miniloto/lt6-h1502.html
の本数字の列だけ取り出して自分のページに表示など・・・
ページ全体を表示したりある場所からある場所までのソースを表示したり
出来たりするのは見たことがあるのですが・・・
テーブルのデータの一部を取得することは可能でしょうか?
ページの構造が変わらないのを祈りつつ、ひたすら正規表現で
抽出すれば可能。
てか、先日そゆ仕事をやったばかり。
0357353
03/02/28 17:05ID:ybZkxx6mまじですか?もしよかったらどんな風にやればいいか
教えて頂けませんか?
出来たら簡単なテーブルからでもいいので
やっていただけませんか?
禿同
正規表現を使うと言われてわからんのなら諦めれ。
HTML関連は大変だね…。
最近自分もそういう仕事だけど。
だんだんと
HTMLの適当さが許せない
↓
IEが適当なHTMLでも適当に表示出来るから
適当なHTMLが普及した
↓
ゲイツ許すまじ
と、逆恨みするようになりますた。
IEで見ると画像表示されてるのに、imgタグがうまく抜き出せないと思ったら
<img src="hogehoge.png" alt="ほげ" ←最後の>がない
なんだもん(苦笑
>357
preg_match / preg_match_all あたりのヘルプ見て
とりあえず自分で頑張るしか。
0361nobodyさん
03/02/28 17:41ID:???そうそう、htlmlの適当さにどれだけ余計な気を配らないといけないのかとおもう。
のと同時に valid-html401 を取れるようにhtmlを書いている自分がバカらしくなる。
>>357
念為言っとくが、正規表現無しでも抽出出来なくもない。
但し説明はかんべん。面倒&飯のタネ(w
時代が求めて無くとも、実際に解析対象になるのは
世に溢れてる腐ったHTMLなのよ。
自分が喰っていくためだから仕方なく。
って、スレの趣旨に反してる会話っぽい。
スマソ。
0365nobodyさん
03/02/28 19:34ID:???もしも転向する勇気があるなら、Perlで、HTML::*を使え。とっても簡単。
自前で正規表現を考えるのは時間の無駄。勉強目的ならいいけど。
0367nobodyさん
03/03/01 00:44ID:???PC,i-modeだとエラーが出ないんだが、
auだとエラーが出る。
504エラーとか。
これはPHPのプログラムが原因?
それともモバイルが原因?
0369nobodyさん
03/03/02 06:26ID:Ohkwqiqgstring fgets ( int fp [, int length])
の
[, int length]
を実現するにはどうすればいいんすか?
function fgets($fp,[length])
じゃないでしょうし。
0370nobodyさん
03/03/02 06:51ID:???http://www.php.net/manual/ja/functions.variable-functions.php
0371nobodyさん
03/03/02 06:52ID:???http://www.php.net/manual/ja/functions.arguments.php
0372nobodyさん
03/03/02 07:19ID:L99j8QKUhttp://www.pink-angel.jp/betu/linkvp/linkvp.html
0373369
03/03/02 07:28ID:OhkwqiqgOKパパ。
>可変長引数リスト
明日はホームランだ。
0375nobodyさん
03/03/02 09:54ID:???outlookでメールを見れる機能の資料が見つかりません。
どこかに情報ありませんでしょうか?
0376nobodyさん
03/03/02 10:12ID:y/b+02sAhttp://homepage3.nifty.com/digikei/ten.html
0377nobodyさん
03/03/02 11:00ID:vIn8CkpBメモリの値を指定することはできますか?
Xms等のオプション使えるのかな?
0378nobodyさん
03/03/02 11:26ID:34JjEEoBどうやったら見られるように出来ますか?
0380nobodyさん
03/03/02 12:32ID:???0381nobodyさん
03/03/03 01:18ID:???借りているサーバーのPHPのバージョンは4.0.6なのですが
register_globalsのon/offを調べる方法はありますか?
私の借りている会社は質問の返事が遅いのでできれば自分で調べたいです。
0382nobodyさん
03/03/03 01:19ID:???初心者スレにいってきます。ごめんなさい。
0385nobodyさん
03/03/04 23:05ID:EJ3Hcn+Sこちらでわかる方がいらっしゃったら教えてください。
PHPのxml_parse()でRDFファイルをパースしてるんだけど、
<link>http://www.hoge.com?foo=1&amp;bar=2</link>
(&amp;は半角)をパースするとセミコロン以下の
bar=2しかとれないんだけど・・・誰かおせぇ〜て。
実際のパースはxml_set_character_data_handler()で指定した
関数内で行ってます。
0386nobodyさん
03/03/04 23:06ID:???>初心者スレでリアクションなかったんで
普通にみんないろいろ答えだしてくれてたと記憶。
自分が理解できない回答は無視か・・・。
0387nobodyさん
03/03/04 23:17ID:???おいおい、>>385 の質問には誰も答えてないぞ。よく見ろ
ちょっと初心者スレでは難しすぎたか・・・
ちなみに俺も&がらみで悩んでる。
スラッシュドットが読めないんだよ。
仕方ないから Bulknews のRSS使ってるけど・・・
0388385
03/03/04 23:30ID:EJ3Hcn+Sフォローサンクス(w
自分もRSS生成スクリプトとRSSパーサ作成中で
Bulknewsとかrss-jp.netのRSSは読めたんだけど
自分の生成スクリプトで吐くRSSが自分のRSSパーサで読めない・・。
回避方法も思いつかないんで、誰かヘルプミー!
0389nobodyさん
03/03/06 16:02ID:E4DTVLrl0390nobodyさん
03/03/06 19:10ID:lDHR920pそれでもこと足りるが、スマートじゃない(汎用性が少ない)よ。
折角関数あるんだから使わないと。
echo ini_get("register_globals") ? "On" : "Off";
な感じで。
register_globalsの場合は状態が、0か1とstringで返ってくるけど
他のパラメータでは、値がstringで返ってくるものもあります。
0391nobodyさん
03/03/06 19:14ID:???0392nobodyさん
03/03/06 20:20ID:lDHR920pXMLパーザの使い方は良く知らんのだけど、試してみたら
別に支障なくcharacter_data_handlerの関数が呼ばれたけど。
でもCDATAが「http://www.hoge.com?foo=1&amp;bar=2」だと、
CDATA handlerの関数は、
1.「http://www.hoge.com?foo=1」
2.「&」
3.「bar=2」
と複数回に分けて呼び出されるでしょ。&が切れ目と判断されるので。
あと空白(半角スペース)とかでも分割される。
その辺、handlerで指定している関数の処理で考慮足らなくない?
後、これは関係ないと思うけど、以前XMLパーザエンジンのターゲット
エンコーディングの指定間違いで意図しない動作になったことあった>私
0393nobodyさん
03/03/06 20:24ID:???http://example.com/ということで。
0394nobodyさん
03/03/06 21:47ID:h/KaZ1MQ任意の場所にupdate.phpというphpファイル(外部)を挿入したい場合
<body>
任意の場所に、<?include("update.php");?>
</body>
といれればいいのでしょうか?相対パスで<?include("../../php/update.php");?>
としても動くのでしょうか?
何回やっても呼び出せず、同じフォルダの中にいれないと動いてくれなかったの
ですが外部ファイルを挿入するときの注意というのはあるのでしょうか?
0396385
03/03/07 07:26ID:JRpfToFn>複数回に分けて呼び出されるでしょ。&が切れ目と判断されるので。
おお!知らなかった!&が切れ目で複数回呼ばれるから
最後に呼ばれた「bar=2」が保持されてるように見えるわけね。
ちょっと試してみる。ありがと。
0397nobodyさん
03/03/07 08:01ID:enfkacF8http://homepage3.nifty.com/digikei/ten.html
0398385
03/03/07 17:00ID:JRpfToFnサンキュ!でけた。
0399nobodyさん
03/03/07 17:24ID:???mbstring.http_output = SJIS
してるんだけどページがeucで出力されちゃうYO
httpd.conf
AddType application/x-httpd-php .php .php4
AddType text/html .shtml .html
AddHandler server-parsed .shtml .html
php.ini
output_buffering = On
output_handler = mb_output_handler
default_charset = "Shift_JIS"
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
SSIのAddHandlerを指定しなければちゃんとSJISで表示されるのに ・゜・(ノД`)・゜・
誰か教えてください。
0400
03/03/07 18:46ID:c/VpYaG2どうもうまくいかん。
ANHTTPDにPHPをぶちこんで
ローカルテストをしてるけど
うまく動かん
初期HTML画面ははきだすが
フォーム送信をすると
error404がでてしまう。
う〜ん
どうしたもんでしょう・・・
0402nobodyさん
03/03/07 18:54ID:x1G5YRRJ0404nobodyさん
03/03/07 18:57ID:???いいね。でも、404ってことは実行以前にファイルが見つかってないってことなわけで。
恐らくformのactionが変なんだと思うけれど。
0405nobodyさん
03/03/07 19:03ID:???0406400
03/03/07 19:27ID:???global $PHP_SELF;
echo "<FORM ACTION=$PHP_SELF METHOD=POST ENCTYPE=application/x-www-form-urlencoded>\n";
echo "<INPUT TYPE=HIDDEN NAME=action VALUE=post>\n";
こういうふうになっててね。
0407400
03/03/07 19:34ID:???簡単なecho文はきちんとはきだすんだがな〜
0410400
03/03/07 20:03ID:???いや入力して送信すると404になる
406のつづき
echo "<CENTER><P><FONT SIZE=6 COLOR='green'>ログイン</FONT></P>\n";
echo "<P><HR ALIGN=CENTER></P>\n";
echo "<P><TABLE BORDER=0 WIDTH=27%>\n";
echo "<TR><TD WIDTH=50% BGCOLOR=#CCFFCC><P ALIGN=CENTER>ユーザーID</TD>\n";
echo "<TD WIDTH=50%><INPUT TYPE=TEXT NAME=u_id SIZE=12></TD></TR>\n";
echo "<TR><TD WIDTH=50% BGCOLOR=#CCFFCC><P ALIGN=CENTER>パスワード</TD>\n";
echo "<TD WIDTH=50%><INPUT TYPE=TEXT NAME=passwd SIZE=12></TD></TR>\n";
echo "<TR><TD COLSPAN=2><CENTER><P><INPUT TYPE=SUBMIT NAME=Submit VALUE=送信></CENTER></TD></TR></TABLE></P>\n";
0411400
03/03/07 20:06ID:???はき出されたHTMLの
action=???
の???のところはどうなってる?
それをコピー&ペーストしてほしいんだけど。
と、>412は言いたいのだろうけど。
0416400
03/03/07 20:45ID:???<FORM ACTION= METHOD=POST ENCTYPE=application/x-www-form-urlencoded>
<INPUT TYPE=HIDDEN NAME=action VALUE=post>
<CENTER><P><FONT SIZE=6 COLOR='green'>ログイン</FONT></P>
<P><HR ALIGN=CENTER></P>
<P><TABLE BORDER=0 WIDTH=27%>
<TR><TD WIDTH=50% BGCOLOR=#CCFFCC><P ALIGN=CENTER>ユーザーID</TD>
<TD WIDTH=50%><INPUT TYPE=TEXT NAME=u_id SIZE=12></TD></TR>
<TR><TD WIDTH=50% BGCOLOR=#CCFFCC><P ALIGN=CENTER>パスワード</TD>
<TD WIDTH=50%><INPUT TYPE=TEXT NAME=passwd SIZE=12></TD></TR>
<TR><TD COLSPAN=2><CENTER><P><INPUT TYPE=SUBMIT NAME=Submit VALUE=送信></CENTER></TD></TR></TABLE></P>
あれ?なんかへん?
0417nobodyさん
03/03/07 20:49ID:???><FORM ACTION= METHOD=POST ENCTYPE=application/x-www-form-urlencoded>
激しく変
0418nobodyさん
03/03/07 20:55ID:???なんでだろ〜なんでだろ〜w
0419400
03/03/07 21:06ID:???ファイルでは
echo "<FORM ACTION=$PHP_SELF METHOD=POST ENCTYPE=application/x-www-form-urlencoded>\n";
となってるのに
ANHTTPD上のHTMLソースは
<FORM ACTION= METHOD=POST ENCTYPE=application/x-www-form-urlencoded>
になっちゃうよ
どうなってんだあ?
0422400
03/03/07 21:17ID:???エラーがでちゃうよ
Parse error: parse error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING
なんでだろ〜なんでだろ〜w
0423nobodyさん
03/03/07 21:33ID:???0424240
03/03/07 21:46ID:???Expatの動作についての良い説明が見つからなかったんだけど、
(付属のドキョメントがない=即ちソース追えってことなんだろうけど)
同じExpatをベースにした、PerlのXML::Parserの解説で
http://standards.ieee.org/resources/spasystem/twig/perl_xml/perl_xml.html
>the strings it receives may be split arbitrarily,
それ(character handlerのこと)が受ける文字列は任意に分けられるかもしれなくて、
>ie the content of a single element can cause
>several successive calls to the character handler
>each with a part of the complete string,
言い換えれば単独要素のコンテントが、ひと揃えの文字列の部分毎に
いくつかの連続したcharacter handlerの呼び出しを引き起こす場合があります。
>especially when the string includes entities.
特に文字列がエンティティを含んでいる場合は
エンティティで区切りがつくらしい。「プロフェッショナルPHPプログラミング」の
P.386にもイベントの発生条件には言及していないが似たような事が書いてあった。
どれも、maybeとか「ことがある/こともある」とか全然断定的な書き方じゃなくて
言葉濁してるのが、また(笑)。
Webで見かけるコードは考慮して出力をスタックしてるものもあれば、
知らないか、分断されないコンテントしか入らないので考慮しないものもある感じ。
コードはともかく書籍の説明では一言触れても良いと思うのだか>その他の本
取り合えず勉強になったよ
0425400
03/03/07 21:59ID:???0426nobodyさん
03/03/07 22:11ID:???敢えてApacheじゃなくて、ANHTTPDを使うんだから積極的にhttpdに関する
情報を集めないと駄目かと。情報数ではApache > ANHTTPD なので。
http://homepage1.nifty.com/yito/namazu/gbook/20021209.0310.html
CGI版、ISAPI版、PHP4.3以降などの違いで取れる/取れない環境変数が
異なるようなので、他にも注意した方が良いと思われ。
0428394
03/03/07 22:15ID:zvlfISdLだめでした。絶対パスでやってもできん・・・(TT
同じディレクトリに置くとできるんだけど。
レッツPHPさんのスクリプトいただいてるんですけど、どっか設定いじらないと
呼び出せないってことはないですよね?
あとXHTML1.0だとなんかできないんですけど、そんなことはない?
0429400
03/03/07 22:21ID:???おお!
こんなゲストブックのスレがあったのか!
なんだよPHP_SELFは使えないのか・・・
情報ありがとう
やっぱApacheでテストした方がいいのかなあ
Apacheって設定がなあ
Unixの知識いるんでしょ?
0431426
03/03/07 22:50ID:???そっすね。デーモン自体はUNIX系で、
Windows-NT(除くCygwin)系は呼び名は"サービス"かな。
別にそこまで拘って使った訳じゃなくて、UNIX由来のものはhttpdとかftpd等と
そのままプロダクト名(ex.AN-httpd)や種類名に定着しているので、
そのhttpサーバの意味合いの種類名で使いました。
0432426
03/03/07 23:04ID:???UNIXの知識と言うより、Apacheの知識。
Apacheもネイティブアプリケーションなので、インストール自体はWindowsインストーラ一発
良くAN-HTTPDは簡単と聞くけど、設定がGUIなのと日本語で書いてあるので簡単なようなだけで
本来どっちも"簡単じゃない"と思います。AN-HTTPDに慣れてるのなら知識を上積みできるし、
そのままで良いんでは。私はAN-HTTPDでの動作チェックはしてないですが、動作が変という質問が出た場合は、
http://www.st.rim.or.jp/~nakata/gbook/faq.html
http://homepage1.nifty.com/yito/anhttpd/faq/
をチェックしてます。
PHP_SELFだけなら、現状で替わりにSCRIPT_NAMEを使うか、
AN-HTTPD1.42dとPHP4.3のCGI版(php.exe)との組みあわせなら
"PHP_SELF"に関しては値が取れるみたいですよ。
http://homepage1.nifty.com/yito/anhttpd/faq/php.html
0434nobodyさん
03/03/07 23:19ID:???スマソ。あれだけで判ってくれると思ってたんで。
で、$_SERVER["PHP_SELF"]が使えないことに対する予想される落ち。
echo "<FORM ACTION=$_SERVER["PHP_SELF"] METHOD=POST ENCTYPE=application/x-www-form-urlencoded>\n";
これのどこがまずいのか判らなかったら初心者逝きでFAだと思う。
因みに答えは echo "<FORM ACTION=". $_SERVER["PHP_SELF"] .">\n";
追記:
>>406
>>410
のような書き方するなら
<?
function HTML_BODY(){
?>
<FORM ACTION=<? print $_SERVER["PHP_SELF"]; ?> METHOD=POST ENCTYPE=application/x-www-form-urlencoded>
<INPUT TYPE=HIDDEN NAME=action VALUE=post>
<CENTER><P><FONT SIZE=6 COLOR='green'>ログイン</FONT></P>
<P><HR ALIGN=CENTER></P>
<P><TABLE BORDER=0 WIDTH=27%>
<TR><TD WIDTH=50% BGCOLOR=#CCFFCC><P ALIGN=CENTER>ユーザーID</TD>
<TD WIDTH=50%><INPUT TYPE=TEXT NAME=u_id SIZE=12></TD></TR>
<TR><TD WIDTH=50% BGCOLOR=#CCFFCC><P ALIGN=CENTER>パスワード</TD>
<TD WIDTH=50%><INPUT TYPE=TEXT NAME=passwd SIZE=12></TD></TR>
<TR><TD COLSPAN=2><CENTER><P><INPUT TYPE=SUBMIT NAME=Submit VALUE=送信></CENTER></TD></TR></TABLE></P>
<?
}
?>
なんてので代用できたりする。
0435400
03/03/07 23:33ID:???ありがとうございます
がんばります
0436nobodyさん
03/03/08 04:39ID:???$HTTP_COOKIE_VARS 使ってもさっぱりできません。
0437nobodyさん
03/03/08 05:02ID:???ていうか皆さんPHPのversionかきませう。
変数とれないって言ってる人。
とりたいスクリプトの最初に
phpinfo(32);
って入れてみましょう。
http://www.phppro.jp/ から得たネタですがw
0439nobodyさん
03/03/08 05:56ID:CI2+9VSLのを取得するにはどうすればいいでしょうか?例えば、ディスクへの書き込み
が失敗した時、ディスク容量の不足かどうかを判定する場合を考えています。
perl なら $! ですが、php ではエラーハンドラの引数から取得するしか無い
のでしょうか?
0440nobodyさん
03/03/08 07:14ID:???phpinfo(INFO_VARIABLES);
INFO_GENERAL
INFO_CREDITS
INFO_CONFIGURATION
INFO_MODULES
INFO_ENVIRONMENT
32:INFO_VARIABLES
INFO_LICENSE
INFO_ALL
番号入れて〜。
0441439
03/03/08 07:16ID:CI2+9VSL# usort のドキュメントに「安定でない」と注記して欲しいと思いました。
0442nobodyさん
03/03/08 07:55ID:2Y4AuOiphttp://homepage3.nifty.com/digikei/ten.html
0444441
03/03/08 11:30ID:???そう? 単に「おかしい」と言われてもわけわからないけど、stable sort は
http://www-cse.uta.edu/~holder/courses/cse2320/lectures/l8/node9.html
にあるように、同順の要素の順列を乱さないソートのこと。(余談だけど、
Perl は 5.8.0から use sort 'stable' が使えるようになった。)
1:INFO_GENERAL
2:INFO_CREDITS
4:INFO_CONFIGURATION
8:INFO_MODULES
16:INFO_ENVIRONMENT
32:INFO_VARIABLES
64:INFO_LICENSE
-1:INFO_ALL
■ このスレッドは過去ログ倉庫に格納されています