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

【PHP】質問スレッド Part6

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん02/12/04 16:55ID:???
■本家
 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あたりに
0809nobodyさん03/01/25 18:20ID:???
イメヌ反対ヽ(`Д´)ノ
0810nobodyさん03/01/25 18:26ID:???
>>807
もう一度見直してごらん。動いている方をコピペするのが望ましい。

>>808
preg_replaceの中でurlencodeを文字列連結してるのがマズイんじゃないかな。
貼ってあるのを実行してみたら、
parse error, unexpected T_DNUMBER, expecting T_VARIABLE or '$' って出たから。
T_DNUMBERってのは浮動小数点のことだから . を小数点と思ってるらしい。
081180603/01/25 18:34ID:0e7Y0sPn
>>810
urlencode(ほげほげ) OK
urlencode($1) NG
なんですよ
どうしてなんでしょう?
0812nobodyさん03/01/25 19:02ID:J+PAIJA/
> replacementでは、 \\n形式または (PHP 4.0.4 以降) $n 形式で参照を指定することができます。
らしいので、4.0.4以前なら、\\1を書かないといけない
0813nobodyさん03/01/25 19:06ID:???
810っす。いつもマニュアル嫁って言ってるのに自分が・・・
ソースDLしてきて確認しますた。\\nになってますた。
0814nobodyさん03/01/26 01:41ID:ocSHdA01
webstudioで
HogeClass::staticMethod( $this->classhoge );
HogeClass::staticMethod( $this->classahoaho );
だと大丈夫なのに
HogeClass::staticMethod( $this->classname );
だとデバッグエラー・・・。
でもPHPは問題なく実行できる。
webstudioのバグかなぁ。
エディタのためになんて
ソース書き直したくないよー!ヽ(`Д´)ノウワァァン
0815nobodyさん03/01/26 09:36ID:???
>>806

$message = preg_replace_callback("/http:\/\/([\x21-\x7E]+)/",'a',$message);
function a($b) { return '<a href=\"http://ime.nu/"'.urlencode($b[1])."\" target=\"_blank\">http://$1<;/a>"; }

と preg_replace_callback を使ってみるとか。

>>807

header の後に exit を入れ忘れているのでは?
0816nobodyさん03/01/26 11:49ID:???
>814
DBGのバグかも?
確認しないで言ってるけど。

>エディタのためになんて
>ソース書き直したくないよー!ヽ(`Д´)ノウワァァン
バグ対応待った方が賢いかと。
0817nobodyさん03/01/26 12:06ID:???
ビデオチャットってどうやってつくるの?
0818nobodyさん03/01/26 12:09ID:sMLM3DXM
http://www.bizassist-jp.com/?ID=B0484
0819nobodyさん03/01/26 12:15ID:???
無能ほどライブラリのせいにしたがるぞ。と。
0820nobodyさん03/01/26 13:53ID:???
>>815
classname に2バイト文字入ってる?
ttp://webstudio.japansite.org/modules/newbb/viewtopic.php?topic_id=25&forum=4&13
0821nobodyさん03/01/26 17:01ID:???
半角英数字を漢数字に変換する良い方法はありますか?
0822nobodyさん03/01/26 17:02ID:???
あるよ
0823nobodyさん03/01/26 17:10ID:???
>>821
文字コード表を手元に用意しておくと便利だよ
0824名無しさん03/01/26 21:28ID:???
(A)ファイルハンドルから1行ずつ配列に読み込み
@array = <FILE>;

(B)配列をファイルハンドルに書き込み
print FILE @array;

(C)ソケットから1行ずつ配列に読み込み
while (<$socket>) {push(@array,$_);}

PHPで(A)(B)(C)それぞれできるだけシンプルにやるにはどうすればいい?
0825gn355my003/01/26 21:56ID:???
>>824

(A)
system("perl -e '@array = <FILE>'");

(B)
system("perl -e 'print FILE @array'");

(C)
system("perl -e 'while (<$socket>) {push(@array,$_);}'");
0826nobodyさん03/01/26 22:18ID:???
>>825
どうかと。
082780703/01/26 23:31ID:sz9i/LMG
>>810 >>815
レスありがとうございます。
ソースを貼ろうにも、どこまで貼って良いのやら悩んでます。
exit を付けてみたのですが変わらないですね。もともと全ての処理が終わった後に
リダイレクトかけてるので、関係ないといえばないのでしょうが。。

あれからもう少し試していたのですが、ますます分からない状況に・・・
場合によってはリダイレクトが効くことを見つけたのですが、条件がよく分かりません。
現在、こうなっています。

aaa.php →[POST]→ bbb.php →[リダイレクト]→ ccc.php or ddd.php

  1) aaa.phpのフォームから値を受けとって、bbb.phpで処理。
  2) その後、処理分岐で ccc.php または ddd.php にリダイレクト。

ところが、aaa.php のフォームに入力する値によってリダイレクトできたりできなかったりするようなんです。
どなたか分かる方いらっしゃいませんか?
bbb.php の構造は以下のようなものです。
082880703/01/26 23:31ID:sz9i/LMG
-------------------------------
<?php
 if (isset($_GET['btn_save'])) {
  // 保存ボタンが押されていれば
  // TEXTAREAの内容をファイルに書込む

  (省略)

  // 今入力したデータの参照画面へリダイレクト
  header("Location: http://xxxxx/xxx/display.php?id=" . $id);
 } else {
  // そうでなければ何もせず元画面へリダイレクト
  header("Location: http://xxxxx/xxx/index.php");
 }
?>
-------------------------------
0829nobodyさん03/01/27 00:05ID:???
>>814
そういうときは phpEclipse を試してみましょう。
漏れも使ってないから、レポートきぼんぬ(w
0830nobodyさん03/01/27 00:41ID:???
はじめまして。
ページ内にプルダウンメニューとテキストボックスと送信ボタンがあって。
プルダウンメニューにはサイト名(red、blue、yellow、など)
テキストボックスには日付(030127)を入力し、送信ボタンを押すと
http://www.red.aa/hoge/030127のサイトを別ウィンドウで開くようにしたいのですが
どうすればよいのか教えていただけませんか?
どうかご教授のほどよろしくお願いいたします。
0831nobodyさん03/01/27 01:08ID:???
>>830
どこで詰まってるの?
0832nobodyさん03/01/27 01:40ID:???
>>824(A) $array[] = fgets($fp);(B) fwrite($fp, implode("\n", $array));(C) print_r(file('http://www.2ch.net'));
0833nobodyさん03/01/27 02:37ID:???
>830
スレ違いでは、、。
0834nobodyさん03/01/27 02:38ID:0+jZJ41u
>>830
ヒントだけ。

<form action="redirect.php" method="POST" target="_blank">

header( "Location: http://www.".$_POST[color].".aa/".$_POST[date] );

JavaScriptでやるのが一番スムーズだけど板違いなので(w
0835nobodyさん03/01/27 07:15ID:???
UTF-8もマルチバイト文字列だけど mbstring とかで何か設定しないでも使えるの?
0836nobodyさん03/01/27 07:27ID:???
いちおう内部エンコーディングとして動作すると書いてあるね。
http://php.planetmirror.com/manual/ja/ref.mbstring.php
0837nobodyさん03/01/27 08:47ID:???
>>828
(省略)した部分で、エラーとか何か文字列が出力されているということはない?
header 関数の仕様をマニュアルで確認してみると何か分かるかも。

http://jp.php.net/manual/ja/function.header.php
0838nobodyさん03/01/27 13:56ID:???
webstudioの次のバージョンいつでるか知ってる人いる?
コード解析がよくなるって聞いたんで楽しみにしてるんだけど。
0839nobodyさん03/01/27 15:29ID:???
現在、
Windows2000 + PHP4.3.0 + Apache2.0.44 の環境で動かしているのですが、
Apache起動時(PHPモジュール読込時)に、

Unknown(): Unable to load dynamic library 'C:\usr\php\extensions\php_*.dll' - 指定されたモジュールが見つかりません。

とエラーが出て、DLLが読み込まれてくれません。
# *の部分は使おうとした(php.iniのコメント指定を外した)DLL全ての意味で、実際はimap等の文字が入ります。

PHPのインストール先は"C:\usr\php"で"C:\usr\php\extensions\"以下に該当するDLLは間違いなく存在しています。

php.ini内の記述は

extension_dir = "C:\usr\php\extensions"

となっています。
他に"/usr/php/extensions/"や、"C:/usr/php/extensions/"という指定も
試しましたがエラーメッセージのパス部分が置き換わるだけで全て駄目でした。

googleで検索したところ、同様のトラブルをいくつか(国内外問わず)発見しましたが
全て未解決のままのようでした。
この"PHP質問スレッド Part2"の743にも似たような記述があります。
# 提示する情報が少なすぎて、相手にされなかったようですが。

同様のトラブルに見舞われ、
その後こうしたら解決したという方がおられましたら、
対処法をお教え頂けないでしょうか。
よろしくお願いします。
084083903/01/27 15:45ID:???
補足です。
php.iniは"C:\WINNT"内にあります。
また設定の変更は有効になるので、php.iniは読み込まれているようです。

>>839の書き込みが長くなっているので要約すると、

extension_dirの設定は間違いなくあっているのに、
DLLが読み込まれないという状態です。
0841nobodyさん03/01/27 15:56ID:???
>>839
php.exeからの相対パスにしてみたらどう?
extension_dir = ./extensions/

0842nobodyさん03/01/27 16:01ID:???
>>841
PHP実行時のカレントが本当にそこかどうかってのは不安だけどね。
0843nobodyさん03/01/27 16:14ID:uLZ+Nd5N
+ とか ? とか URLとして特別な意味を持つ文字を
%2b とか %3f とかに置換する関数ってどれだっけ?
0844nobodyさん03/01/27 16:15ID:???
>>843
rawurlencode
0845nobodyさん03/01/27 16:21ID:???
>>844
(゚∀゚)サンクスコ
0846nobodyさん03/01/27 16:49ID:???
Options -ExecCGI -Includes
みたいなかんじで .htaccessで php 使用の許可/不許可を制御するには
どうしたらよいのですか?
0847nobodyさん03/01/27 16:59ID:FKaVhwP2
>>839
Winでこういう書き方できるんだけっけ?>php_*.dll
きちんと並べて書いたらできたりしない?
0848nobodyさん03/01/27 17:10ID:???
WEB上に公開されてる画像をローカルに保存するってのを
作りたいんですけど、どんな風にやればいいんですか?
「テキストみたいに一行読み取っては書き込むってのを繰り返す」でいいんですか?
0849nobodyさん03/01/27 17:12ID:???
>>848
バイナリファイルなら行なんて概念はないだろ。
バッファに全て取り込んでから書き出したり、1バイト読んでは書き出したり。
085084903/01/27 17:14ID:???
s/1バイト/一定のバイト数/
0851nobodyさん03/01/27 17:30ID:???
ちっ。先に訂正があったか。
一バイトだけって読み込めないんだよね。最初知ったときびっくりした。
利用方法思いつかないから別にいいんだけど。
085284803/01/27 17:46ID:???
>>849-851
レスありがとうございます。
それってfreadで読んで適当なファイルにfputsでいいんですか?
どうもうまくいかないのですが全然間違ったことやってます?
0853nobodyさん03/01/27 17:50ID:???
>>852
それでいいはずだけど。
バイナリモードで読み書きしている?(UNIX系OSの場合は必要ない)
085485303/01/27 17:51ID:???
もちろんHTTP(だよね?)のヘッダーは取り外しているよね?
0855nobodyさん03/01/27 17:57ID:???
SSIの <!-- #include "foo" -->を php に変換するとどうなりますか。
085684803/01/27 18:00ID:???
winXPにphpdevインストしてやってます。

保存のときにwでfopenすると崩れた画像になって
bでfopenするとエラーになります。
ブラウザに表示させるときれいに表示されます。

>もちろんHTTP(だよね?)のヘッダーは取り外しているよね?
何度も質問すいません。それってどうやるんですか?
0857nobodyさん03/01/27 18:14ID:???
>>846
AddType text/html .php
にしたら普通のhtmlとして表示される。
ソース丸見えだけど。
>>855
<? include ("foo.php"); ?><? include ("foo.txt"); ?>
<? require ("foo.php"); ?><? require ("foo.txt"); ?>
<? virtual ("foo.cgi"); ?>
<? readfile ("foo.txt"); ?>
0858nobodyさん03/01/27 18:21ID:???
>>856
$fp = fopen("hoge.jpg",wb);
085985803/01/27 18:23ID:???
$fp = fopen("hoge.jpg","wb");
(´・ω・`)ショボーン
086085303/01/27 18:30ID:???
>>856
> 何度も質問すいません。それってどうやるんですか?
fopenでURLを開いている場合は必要ないよ

保存するときに>>859のようにモードを指定して開く。
そうしないとLFがCRLFに変換されてしまう。
0861nobodyさん03/01/27 18:33ID:???
<?xml version="1.0" encoding="UTF-8"?>
がはじめの行にあるとphpが動かないんだが。

やっぱフリーウェアじゃ駄目なのかな。
0862nobodyさん03/01/27 18:34ID:???
>>861
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
086384803/01/27 18:35ID:???
なんで間違えたんだろう、wbですよね(w
無事保存できるようになりました。
どうもありがとうございました。
0864nobodyさん03/01/27 18:48ID:???
そういや、うちじゃ virtual()がうまく動かないうごかない (長文の途中でvirtualを入れると,
virtualをいれた位置よりも遥か前に書き出される)んですが、おなじ現象の人います?
XP+Apache2.0.44+php4.3.0なんですが。
0865nobodyさん03/01/27 18:51ID:137vpvvh
PHPを使った.phtmlのファイルでSSIカウンタを使いたいんですが、
<!-- exec cmd="hoge" --> って使えないんですか?

<? echo("<!-- exec cmd=\"uptime\" -->") ?>ってな感じで
試してみたんですけど、ダメでした。

.htaccess で
Options Includes
AddType text/html .phtml
AddHandler server-parsed .phtml
って書いて .phtml でSSIを実行させたら、今度はPHP動かないし・・・
0866nobodyさん03/01/27 18:56ID:???
PHPのカウンタ使えばいいだろ
なんでわざわざPHPでSSI使うの?
0867nobodyさん03/01/27 18:57ID:???
>>865
CGIの出力によるSSI命令は解釈されない(Apacheの本より)のと同じじゃない?

# それにしてはhypermartではできたんだよな・・・Apache 1.3.9よりも後のバージョンならできるのかしら。
086883903/01/27 21:29ID:???
>>847
"php-*.dll"はここで説明する時に、
どのDLLでも同じという意味でそう書いただけで、
php.iniの中では、extension=php_pgsql.dll というように実際のファイル名で書いています。
(まぎらわしい書き方で済みません)

>>841
相対指定にしても、エラーメッセージが".\extensions\php_*.dll"となるだけで変化無しです。
実際に使うときは>>842で言われてるように、
カレントがPHPのパスになるか、スクリプトのパスになるか、Apacheのパスになるか、
あるいは別の呼出し元のパスに分かりませんし。

>>861
PHPの設定で、ショートタグを無効にすればいいはずですよ。<XMLとの共存
その代わり、<? hoge(); ?>じゃなくて
必ず<?php hoge(); ?>としなければならなくなりますが。
0869nobodyさん03/01/27 22:09ID:Y5jXCX7a
Win2000 Apache1.3.20 PHP4.2.2です。

ブラウザからPHPを介してメール送信したいのです。
しかし、mail関数がエラーを返します。恐らく、プログラムではなく、
設定不足ではないかと。
php.ini、pear\sendmail.phpなどの設定変更は必要でしょうか?
また、mb_send_mailもCall to undefined function: mb_send_mail()となります。
インクルードファイルが足りないのでしょうか?

合わせてご教示願います。
087084103/01/27 22:33ID:???
>>868
関係なかったですかスマソ。俺のphp.ini(デフォルトのまま)は相対パスで書いてあったもんで。

いっぱいDLLを読み込もうとしているんだよね。
たとえばどれかひとつだけにしてみたらどっすか。変わらないかな。
あっちなみに俺のphpは4.2.2っす。
0871nobodyさん03/01/27 22:35ID:???
>>869
php.ini
SMTP = あなたの使うsmtpサーバ名
sendmail_from = 送信者として@表示する.メールアドレス
087286503/01/27 22:37ID:137vpvvh
>>866さん
使いたいのは、SSIカウンタというか、アクセス解析でした。
http://www.cj-c.com/cgi_s/access.htm なんですが。

現在は JavaScript でリファラを取得して使ってるんですが、それだと
ソース見たらランキングを設置してる場所がバレてしまいます。
こっそり設置して一人で、にやそ(´ー`)ってしたいのです。

>>867さん
Apache のバージョン確認したら1.3.26 でした。
うーん、1.3.9以降なら出来るのでしょうか・・・
鯖管にバージョンアップしろやゴルァって言ってみようかな・・・
ご教授ありがとうございました。
0873nobodyさん03/01/27 22:42ID:???
>>872
リファラとかいらないならJavaScript消しても良いですよ。
0874 ◆Kiss.FX29M 03/01/27 22:45ID:???
>>868
WINNT\System32とかにlibeay32.dllがあるか?
無い場合は、php\dllsにある奴をSystem32へコピーしてみる。
それでもダメな場合はssleay32.dllもコピーして味噌。

一度にコピーせずに、一つずつ確認して報告汁!
087586503/01/27 22:50ID:137vpvvh
>>873さん
レスありがとうございます。
えっと、リファラがないと、どこから飛んできたか解らないので
アクセスランキングの意味が・・・
わがままでごめんさない。
087686903/01/27 23:04ID:Y5jXCX7a
>>871さん
どうも有難うございます。
送信できました。
mb_send_mail()はどうでしょう?
087783903/01/27 23:11ID:???
>>870
解決しました。

php.iniを"Windowsのメモ帳で編集して保存する"とこのエラーが出るようです。

新しくphp.ini-recommendedをベースに設定ファイルを作成しなおし、
編集をxyzzy(*1)のみで行ったところ、正常に認識されました。
# さらに再びメモ帳で編集すると同じエラーが出ました。

(*1)フリーウェアのテキストエディタです。

文字コードや改行コードはShiftJISでCR+LFのままです。
メモ帳で編集している人は他にも大勢いると思うのですが…不思議です。
(WindowsのDLLのバージョンが関係しているのでしょうか?)
結局のところ、根本的な原因は不明です。

>>841さん、>>842さん、>>847さん、ありがとうございました。
php.iniをメモ帳で編集しなければ大丈夫のようです。

同様の症状が出ている方の参考になれば幸いです。
087883903/01/27 23:24ID:???
>>874
書き込み見落としてました。済みません。

原因は>>877に書いた通りだったのですが、
エラーの確認作業の時は、
依存関係の無いDLL(php_bz2.dllなど)1つだけにして行っていました。

ありがとうございました。

# メモ帳を信用出来なくなりました…。
0879nobodyさん03/01/27 23:25ID:???
>>878
メモ帳の仕様も知らずにメモ帳を悪いというあなたを信用出来なくなりました。
088083903/01/27 23:33ID:???
>>879
後学のために、その仕様というのを教えて頂きたいのですが。
メモ帳で保存したファイルと他のテキストエディタで保存したファイルに、
まったく違いが見られない(ファイルサイズ、改行コード、文字コード)ので気になります。
0881nobodyさん03/01/28 01:26ID:???
保存時にphp.ini.txtとなってたりする罠。
0882nobodyさん03/01/28 01:55ID:???
phpの日本語訳コンパイル済みhtmlヘルプってところどころ文字化けしてるよな。バカっぽい。
0883nobodyさん03/01/28 03:01ID:???
<? echo "a"; flush(); virtual("index.html"); ?>
とすると、index.htmlのあとに a が出力されます。


なんで?
088483903/01/28 05:34ID:???
>>881
いや、さすがにそれは無いです。
そもそも、php.ini.txtになったら読み込みにもいってくれませんし。

fcで比較をとっても、

FC: 相違点は検出されませんでした。

と出るので、不可解に思っているわけです。
0885nobodyさん03/01/28 09:33ID:???
>882
ひょっとしてphp.netから落としてる?
あれは元々日本語のこと考えられてないから
仕方ないと思うけど。
0886nobodyさん03/01/28 15:39ID:kRPl3+8l
gooのPHP さいこー みたいだよ
http://pc.2ch.net/test/read.cgi/esite/1031482990/413

PHPがわからない人は 必見だね
0887nobodyさん03/01/28 15:42ID:???
php.net から落としてメモ帳で編集してるけど、別に何も……。
0888 ◆Kiss.FX29M 03/01/28 16:26ID:???
>>886
拡張子の打ち間違いかな?
一部だけど、インクルードファイルも見えました。(はぁと)
> $words[$i] ="(news like '%$words[$i]%')";
インデックスなしの検索がどのように使われているのか興味が
あったんだけど、みあたんなかった。
0889nobodyさん03/01/28 21:06ID:???
あげとく。
0890nobodyさん03/01/28 21:42ID:YAt4VdBa
質問です。
PHPとMS ACCESSのデータベースを使って、WEBを構築しています。
そこでPHPでデータベースにコネクト、そして文章を取り出して、

$body = [DBから取り出した文章];

というように、ひとつの変数に入れ込んだのですが、
変数をHTML内に表示したところ、文章が途中で切れてしまうのです。
自分の予想としては変数のサイズの限界があるんだろうな。。なんて
考えているのですが、どうしたらよいでしょうか?お願いします。
0891nobodyさん03/01/28 22:55ID:???
私なら次の順番に疑うかな。
1. 文字にHTMLにしたら表示が消えるようなもの
2. MS ACCESSとPHPを繋ぐ部分にサイズ制限
3. PHPの変数にサイズ制限

具体的に切れるバイト数を出すとピンとくる人がいるかもよん。
(新鯖記念パピコ)
0892nobodyさん03/01/28 23:47ID:1yvFtiYN
PHPが得意なおまいらに質問があります。
質問対象のバージョンはPHP4.1.2(微妙に古いですが)です。

コンフィグオプションに
--with-pgsql=(Postgresのインストールパス)
っていうのがあり、、これを指定することでpg_*などの関数が
使えるようになるじゃないすか?
(これはこういう理解であってますよね)

でも、Postgresが別のサーバで動いている場合は
ここにパス指定しようが無いと思うんだけど、
そういう場合はどうするのですか?

このオプションなしでコンパイルしてみたけど、pg_connect()呼ぶと
Fatal error: Call to undefined function: pg_connect()
とか怒られるし...。

--with-pgsql だけでconfigure走らせてもpathがnullだみたいにいわれて
怒られるし...。ムキー!

おしえてくさい。
0893 ◆375CdmmTco 03/01/29 08:37ID:???
>892
OSは?
FreeBSDならPortsの「postgresql-devel」だけ入れればいけそう。
Redhatでもそんな名前のrpmあるはずだから、それをいれれば。

一番確実なのは素直に接続するPostgresと同じバージョンのPostgresを
PHP動かす鯖にも入れることだけど。
089489203/01/29 10:43ID:???
OSはSolaris8だす。

そうか、ダミーで同じPostgresを入れるって手はありましたね。
ひとまずそれで逝ってみます。
どうもでした。
0895nobodyさん03/01/29 14:35ID:???
>>886
商用サイトで動いてるコードを見る機会ってあまり無いから
勉強になるなぁ。
とりあえずローカルに落としておこう
0896nobodyさん03/01/30 00:30ID:???
まえ、DOS/Vマガジンのサイトのソースの一部落としたことあるよ
あっちはASPだったけど。
0897nobodyさん03/01/30 01:09ID:???
>895
落とし損ねた…。
0898nobodyさん03/01/30 01:22ID:Tq4euJ7b
>>897
まだぜんぜんおとせるよ。
>>886のリンク先をみつけられるスキルがあればね。
0899nobodyさん03/01/30 01:29ID:???
>898
すまん。ほんとだ。
さっき見たとき404だった気がしたんだが…>search.php3
0900nobodyさん03/01/30 02:38ID:???
http://channel.goo.ne.jp/news/search/search.php3
0901nobodyさん03/01/30 22:54ID:???
PHPとは直接関係ないのですが
掲示板でプロキシ経由の書き込みを排除したいんです。

その場合、
ttp://www.cybersyndrome.net/
から手作業でホストを登録していくしか手がないのでしょうか?
0902nobodyさん03/01/30 23:31ID:???
適当なスレが見つからないなぁ。強いて言えばくだ質かな。

プロキシの判定って確実な方法って無いんよ。
1. プロキシ特有の環境変数がセットされてるかチェック
2. javaを使ってIPを取得し、CGIを比較
こんなとこかなぁ。まぁどっちとも確実じゃないけど。
0903nobodyさん03/01/30 23:33ID:???
>>902
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
0904nobodyさん03/01/31 01:48ID:???
>>865

Apache2でなら、Filtering機能によって
PHPの出力したHTML中からSSIが使えるようになりますよ。
0905nobodyさん03/01/31 02:04ID:NbV66Yrk
perlで
if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }

@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {

($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
&jcode'convert(*value,'sjis');

if (!$allow_html || $name ne 'Value') {

$value =~ s/</</g;
$value =~ s/>/>/g;
}

$value =~ s/\t//g;
$value =~ s/\r\n/\r/g;
$value =~ s/\n/\r/g;

if ($name eq 'Clear') { $Clr = 1; next; }

$in{$name} = $value;
}
をPHPに直したいっす。
0906nobodyさん03/01/31 02:07ID:???
>>905
がんがれ

てか、ネタに違いないな....
0907nobodyさん03/01/31 02:13ID:NbV66Yrk
>>906
PHP化されていない有名なCGIは
YOMIサーチ
2ショットチャット
だと思うので
いま、2ショットチャットをがんばっています。
すみまそ
0908404.HDML ◆StMXML.EXE 03/01/31 02:18ID:???
>>907
$_REQUEST
レス数が900を超えています。1000を超えると表示できなくなるよ。