トップページ⇒php
986コメント361KB

【PHP】質問スレッドpart27【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/03/03 22:41:23ID:???
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
 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辺り
00676605/03/09 10:40:39ID:???
>>66
& そのものを書くなら & と、ね。
……& が解釈されてしまったよ。
00686505/03/09 10:42:13ID:???
>>66
あ、そうですよね。失礼しました。
細工をするならリーダーの方で行うしかないのでしょうか?。
また、RSSで&を使用する事はモラル違反とはならないのでしょうか?。
00696505/03/09 10:43:32ID:???
私も&は考えたのですが&自体含まれていますよね;。
どうにもならないのでしょうか。
00706505/03/09 10:47:44ID:???
今、試してみたら&は使えるのですね
ありがとうございますm(_)m
&が見えると先入観が^^;;
0071nobodyさん05/03/09 12:44:45ID:???
& と表記したいときは & と書きませう
0072nobodyさん05/03/09 12:48:45ID:???
&
00731105/03/09 13:14:22ID:???
>>71
じゃあ&と書きたいときは&ですね
0074nobodyさん05/03/09 13:15:44ID:???
>>66-70
ちっと餅付け。わけがわからん
0075nobodyさん05/03/09 13:18:58ID:???
機種依存文字にマッチする正規表現を知りたいのですが、
Perlの正規表現で有名なサイト(Perlメモ)にある正規表現を
preg_match で使用したところ、

Compilation failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset

と怒られてしまいました。
内容から察するに、preg_match でサポートしていない
正規表現だったためのエラーだと思うんですが、
どなたかPHPで動くものをご存知の方いらっしゃいますでしょうか?

文字コードはEUCを想定しています。
00761105/03/09 13:39:10ID:???
>>75
多分 \X -> \x
00777505/03/09 17:36:34ID:???
>>76

有難うございます。
\X を \x にしたところ、
Compilation failed: nothing to repeat at offset
という警告が出ました。

正規表現中のグループ化のカッコ(?: 〜 )
を外したところ、警告はなくなったのですが、
正常な文字でもひっかかるようになってしまいました。。
0078nobodyさん05/03/10 10:51:45ID:BLVfW5EX
フォームから送信したデータが「表示」が「表¥示」に化けてしまいます。
今はstripslashesで¥を取り除いて処理しています。
ただサーバによっては文字化けしないので、stripslashesを使うと逆に文字化けするので、
stripslashesを使うのはちょっと怖いです。
これって正しいやり方なんでしょうか?ほかになにかいい方法があるのでしょうか?
よろしくお願いします。
0079nobodyさん05/03/10 10:55:42ID:???
>>78
magic_quotes_gpcのOn/Offを見てから処理をする。
get_magic_quotes_gpc();
00807805/03/10 11:21:56ID:???
>>79
有難うございます。ということは

function convert($str){
$result = htmlspecialchars($str);
if(get_magic_quotes_gpc()) {
$result = stripslashes($result);
}
return $result;
}

こんな感じでよろしいんですよね。
0081nobodyさん05/03/10 16:07:59ID:???
mojavi解凍するとディレクトリの中にwebapp.newとか
.newというバイナリが入っているんだけど、これは
何なんでしょうか。
0082nobadyさん05/03/10 16:17:18ID:???
質問です。


<?php
$fp = fopen("log.dat", "a");
fseek($fp, 0);
flock($fp, LOCK_EX);
fwrite($fp, "xxxxx");
flock($fp, LOCK_UN);
fclose($fp);

?>


とやると、ファイルの最後に文字列が追記されていきます。
ファイルオープンモードを"a"で開いて、ファイルの最後ではなく、
最初に文字列を追記することはできますか?
0083nobodyさん05/03/10 16:40:11ID:???
>>81
バージョン管理用のゴミか差分じゃないかなぁ。
削除して問題ないですよ。

>>82
関数1つではできませんので、そういう処理をするロジックを書いてください。
0084nobodyさん05/03/10 16:57:22ID:tcK+MKqw
質問です。

dbから一定時間経っても反応が無いとき(例えば5秒)、
タイムアウトさせる方法ってどうやるのでしょうか??
0085nobodyさん05/03/10 17:12:06ID:krxtmGDV
includeを使う際に
もとになるファイルの拡張子は
incでもhtmlでも何でもいいですよね?
この中で、この拡張子だと他のよりも読み込みが早い!
なんてのはないですか?
0086nobodyさん05/03/10 17:37:08ID:???
マニュアル読んだのか?
0087nobodyさん05/03/10 17:47:38ID:???
世の中にはいろんな考えがあるもんだ。感心する。
「ファイルネームによって読み込みの速度が違うのではないか?」
なんて、頭が固い私には全く思いつかなかった。
0088nobodyさん05/03/10 18:44:56ID:???
>>87
「a01」
というファイル名と
「a000000000000000000000000000000000000〜0000000000000000000000001」
というファイル名ではスクリプト全体としての速度は違うかもよ。
読み込み自体は変わらんと思うけど。
0089nobodyさん05/03/10 19:13:10ID:???
>>84
そのデータベースアクセス関数にタイムアウトが
実装されてないとやりようがないんじゃないかな。
0090nobodyさん05/03/10 19:15:55ID:???
おいおい、ファイル名で速度が違うと言うのは常識だろw
まさかそんな大事なことを無視してDBの使い方に終始してんじゃねーだろうな
0091nobodyさん05/03/10 23:22:12ID:???
ttp://www.linux.or.jp/JF/JFdocs/XML-RPC-HOWTO/xmlrpc-howto-php.html
を参考に XML-RPC を勉強してます。
例のように渡す値は 2 つだけ、と固定の場合は分かりましたが、
渡す値が可変の場合はどうしたらいいでしょうか?

例えば、果物の名前と個数を複数個渡す、という場合です。
0092nobodyさん05/03/10 23:54:48ID:???
>>88
読み込み速度はどうだか知らんが、
メンテナンスは確実に時間が増す。
0093nobodyさん05/03/11 00:36:54ID:???
ファイル名に関してはディレクトリエントリの状況や
ディレクトリエントリキャッシュあたりのような
偶然に左右される要素が影響してくるので、
キニスルナつーか気にしてもどうしようも無いって感じだろうね。

元質の話に戻ると、
拡張子は何でもいい、つーか拡張子が無くてもいい、
PHPの中の人はそのファイルに<?phpがあるかどうかだけ気にしている。
つー所でいいんでなかろうか?
0094nobodyさん05/03/11 03:33:23ID:???
http://script.lovely.to/bbs/infolng.cgi?print+200205/02050004.txt
ここを参考に機種依存文字を判定するFunctionを作っているのですが、
どうしても機種依存文字以外の文字も検出してしまいます。

$str = '文字列';
if (is_kisyu_sjis($str)) {
print "true";
} else {
print "false";
}
function is_kisyu_sjis($str) {
$ascii = '[\x00-\x7F]';
$sjis_twoBytes = '[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]';
$sjis_pattern='[\xA0-\xDF]|[\x87\xED\xEE\xFA-\xFC][\x40-\x7E\x80-\xFC]';
if (preg_match("/(($ascii|$sjis_twoBytes)*?)($sjis_pattern)/", $str)) {
return true;
}else {
return false;
}
}
正規表現がマズってますかね?
0095nobodyさん05/03/11 22:42:09ID:???
なんで()で括ってるの?
0096nobodyさん05/03/11 23:43:35ID:???
| の優先順位を明示したいだけでしょ

つか、正規表現はスレ違いかと
0097nobodyさん05/03/12 00:44:49ID:???
テスト用に用いている文字列はほんとにSJISなのかと。
00989405/03/12 16:03:01ID:???
もうちっとがんばってみます。
検索ですか・・
0099nobodyさん05/03/12 23:00:23ID:???
正規表現スレってテンプレ入れてもいいと思うんだけど
現スレまでに入って無いのって何か理由あったっけ?

とりあえず
正規表現道場@2ch Part4
http://pc5.2ch.net/test/read.cgi/php/1105930285/
0100nobodyさん05/03/13 04:53:03ID:???
xml/xsl 変換後のエンコード指定がうまく動いてくれません。
PHP Version 4.3.10
EXPAT Version 1.95.6
XSLT support enabled
Sablotron Version 1.0.1

$data = xslt_process($xslt, $xml, $xsl, NULL);
上記からコンバートはできるのですが、書き出されたhtmlの
文字コードがutf-8になってくれません。

xslt_set_encoding($xslt, "UTF-8");
と指定すると、
Fatal error: Call to undefined function: xslt_set_encoding()
となりおかしいです。
PHP 4.3.10ではxslt_set_encoding()が使えると思うのですが。
0101nobodyさん05/03/13 05:22:51ID:???
こっちのPHP 4.3.10(FreeBSDのportsでインスコ)では、
Fatal error: Call to undefined function: xslt_set_encoding()
にならなかった。何が違うだろ。
0102nobodyさん05/03/13 05:24:36ID:???
>>101
redhat9 sourceからです。
0103nobodyさん05/03/13 07:23:25ID:???
ext\xslt\sablot.c の中で
|#ifdef HAVE_SABLOT_SET_ENCODING
|PHP_FE(xslt_set_encoding, NULL)
|#endif
みたいになってるし、マニュアルには
|Sablotronバックエンドを使用する際、このオプションは
|Sablotronにエンコーディングサポートを付けて
|コンパイルした場合のみ利用可能です。
とあるよ。xslt使ったこと無いから具体的にどうするのか知らないが。
0104nobodyさん05/03/13 07:30:56ID:???
あとext\xslt\sablot.c のxslt_set_encoding関数のところに
こんなコメントも付いてた。
|The user has to explicitly compile sablotron with sablotron encoding functions
|in order for SablotSetEncoding to be enabled. config.m4 automatically checks for this...
0105nobodyさん05/03/13 12:46:53ID:owz6Nafx
menu.phpというのを作成して、
includeを利用して、メニューを埋め込むようにしたんですが、
階層が変わると、menu.php内に書かれたリンクが相対パスでは
上手くいかなくなるんですが、
絶対パス以外でなんか良い方法はありますか?
0106nobodyさん05/03/13 13:08:42ID:IhUUdOoo
・各種項目を設定している「a.php」
・実際の動作を司っている「b.php」

という2つのファイルがあります。

b.phpはinclude("a.php");でa.phpの設定を受け継いでいます。
そのb.phpで出力された変数「$2ch」をa.phpで使うにはどうすればいいでしょうか。
0107nobodyさん05/03/13 13:11:58ID:???
1文字目が数字の変数は使えませんよ。
0108nobodyさん05/03/13 13:17:23ID:???
>>105
詳しく

>>106
b.phpで「出力された」変数 ですか?
returnを使えば値を返せることは返せますが。。
0109nobodyさん05/03/13 13:32:40ID:j3cG5KiD
誰かttp://pya.cc/みたいなスクリプトありましたら教えてください。
0110nobodyさん05/03/13 13:49:30ID:???
>>109 板違い
011110605/03/13 13:51:11ID:???
>>107
変に例を作ったのが墓穴を掘りました。実際には文字から始めてます。

>>108
すいません忘れてください。
変数に変数を代入することは可能でしょうか?

例)

<form>

-略-

<input type=text name=yyyyy value=>

</form>

$zzzz = "<a href=$yyyyy>";

というように。
011210505/03/13 14:02:04ID:4ktgufgk
>>108
menu.phpにサイトマップやヘルプなどへのリンクを張って
includeを使用して、全ファイルで共有したいのですが、

サイトマップなどへのリンクを相対パスで記述した場合、
フォルダの階層が変わると、上手くいきません。

menu.phpのincludeは
<?include($_SERVER['DOCUMENT_ROOT'] . 'menu.php') ?>
を使用して、階層が変わっても対処できたんですが、
同じような感じでmenu.php内のリンクに対しても対処方法はないでしょうか?
0113nobodyさん05/03/13 14:13:13ID:???
>>112
・htmlでbase要素を用いる
・メニュー内のリンクを/からのパスにする
・menu.phpに相対パスを計算させる
011410505/03/13 14:29:21ID:4ktgufgk
>>113
menu.phpに相対パスを計算させる
とはどういう事ですか?
0115nobodyさん05/03/13 14:39:11ID:???
>>114
REQUEST_URIから各リンク先への相対パスを求め、リンクに埋め込む。
011610505/03/13 14:45:16ID:???
>>115
base要素でできました。
ありがとうございます。
あと、お手数ですがその方法をもう少し詳しく教えて欲しいのですが。
0117nobodyさん05/03/13 16:16:46ID:???
>>116
お手数過ぎるからヤダ
011810505/03/13 19:08:02ID:???
>>117
そうですか^
まーでも目的は果たせたので、
いずれにせよ、ありがとうございました!
011910005/03/13 19:14:17ID:???
configureにSablotSetEncodingを
どうやって指定するのでしょうか。
--with-xslt-sablot以外になさそうなのですが。
./configureの中身は読んでみましたがさっぱりでした。
0120nobodyさん05/03/13 21:02:24ID:???
>>119
読むのならむしろ libsablotron の configure とか /usr/include/sablot.h かと。
0121nobodyさん05/03/13 21:15:58ID:???
>>119
だからexpatはともかく、sablotは使っとらんので知らんがな。

>--with-xslt-sablot以外になさそう
それはPHPのconfigureオプションであって、PHPで該当するオプションは
sablotの設定を見て自動で設定するからいらない。
コメントで書いてあるのは、それ故「必要ならsablotの設定をちゃんとしろ」ってこと。
012210005/03/14 03:18:42ID:???
Sablotにencoding関係の configure オプションは
ないみたいです。
gingerall にいったら、新しい1.0.2が出てたのでそれをインスコ中
012310005/03/14 05:32:21ID:???
先生だめでつ。
http://bugs.php.net/bug.php?id=21427
これを参考にしたんですけど。

●Sablot-1.0.2
$ ./configure --with-expat=/usr/local --with-iconv=/usr/local

●php-4.3.10
./configure --with-apxs2=/usr/local/apache2/bin/apxs \
--enable-mbstring \
--enable-mbstr-enc-trans \
--enable-mbregex \
--enable-zend-multibyte \
--with-zlib \
--with-mysql=/usr/local/mysql \
--with-zlib-dir=/usr/lib \
--with-gd \
--with-jpeg-dir=/usr/local \
--with-png-dir=/usr/local \
--with-xml \
--with-dom=/usr/local \
--enable-xslt \
--with-xslt-sablot=/usr/local \
--with-iconv-dir=/usr/local \
--with-expat-dir=/usr/local

expatとiconvのインストールディレクトリ合わせてるんですけど
だめなんですよ。
0124nobodyさん05/03/15 02:58:15ID:hZ3yLB9y
質問です。
携帯で着メロのダウンロードサイトを作成しているのですが、
開発環境のWindows版ではうまく動作するのですが、
本番環境のLinux版ではダウンロードしようとするとで502エラーを返してきます

fopen(ファイル)
fput(ファイルの中身吐き出し)
fclose

って方法で接続端末に着メロを出力しているのですが、
なぜかうまくいきません。
502エラーってことはApacheの設定が悪いのでしょうか?
そして、対処法はどのようにすればよろしいでしょうか?
0125nobodyさん05/03/15 06:41:46ID:???
>>124
ケータイにダウンロードさせるなら、適切なContent-Type吐いてechoしてはどうだろう?
0126nobodyさん05/03/15 12:43:52ID:???
>>124
着信音については
Content-Type
拡張子
HTTPリクエストの末尾
に注意する必要がある
0127nobodyさん05/03/15 21:24:22ID:???
description attachmentって携帯で使えないのかな?
0128nobodyさん05/03/16 22:49:46ID:???
一時間に一回自動でデータベースから情報を読み込みファイルを出力したいのですがどのように考えればいいですか?
00分になりアクセスがあったらファイルを出力し次の00分になるまで出力はなし。見たいな考え方でいいですか?
この考え方だと一回もアクセスがないと出力されないことになりますが、何か便利な関数があるんですか?
0129nobodyさん05/03/16 23:10:09ID:???
定期的に実行しなければならないなら、OS側が提供しているcronやtask scheduler。
これが使えないようなら、データ投入時や表示時になんとかするしかない。
表示時(アクセス時)に必要なデータをかき集められるものなら、表示時に時間をチェックして誤魔化す。
データ投入時にあらかじめページを作成しておいて、表示時の時間チェックと組み合わせるのもありだな。

実行環境ややりたい事が分からんことには、可能か不可能かさえも分からんよ。
0130nobodyさん05/03/16 23:49:33ID:???
イメージ関数について質問です。
背景が透過gifな画像をリサイズした場合に透過ではなくなるのですが、
これを透過のままリサイズ出来ないのでしょうか?。
出来るのであれば参考になるサイトまたは方法を教えてください。
0131nobodyさん05/03/17 10:53:09ID:???
>>128
基本は、>>129が言うように、OSの自動処理を使う。
連鯖などでcrontabが使えない場合、いかにしてトリガを引くか、それを考える。

・WEBアクセスの際に前回処理時間と比較しトリガ発生→アクセス無ければ無意味
・自宅のPCのタスクスケージュラや、DiCE等で定期的にトリガプログラムへアクセス →PC付けっぱなし必須
・携帯電話などで自分でトリガプログラムに定期的にアクセス → 鬱陶しい、眠れない、パケ代かさむ

さぁ、どれにする?
013212805/03/17 11:48:17ID:???
ありがとん
リナックスのことワカメだから本買ってしらべてみます
0133nobodyさん05/03/17 15:28:44ID:???
cronが楽だが使えないとなれば、>>131の書いてる3つの内の2つ目が一番一般的かな?
0134nobodyさん05/03/17 17:42:24ID:???
>>130
こんな感じ。フルカラーじゃないから汚いけど。

$src_info = getimagesize ($src_path);
$src_image = imagecreatefromgif ($src_path);
$dst_image = imagecreate ($dst_width, $dst_height);
$trans = imagecolortransparent ($src_image);
if ($trans) {
 imagepalettecopy ($dst_image, $src_image);
 imagefill ($dst_image, 0, 0, $trans);
 imagecolortransparent ($dst_image, $trans);
}
imagecopyresized ($dst_image, $src_image, 0, 0, 0, 0, $dst_width, $dst_height, $src_info[0], $src_info[1]);
imagegif ($dst_image, $dst_path);
013512805/03/17 18:11:56ID:???
すまんポコやっぱりわからないや

使ってるサーバーがカゴヤなんだけど
cron設定はノーサポートでおしえてくれないや
自分なりに考えてみたんだけど
カゴヤ管理画面のCRON設定 で
*/1 * * * * /home/カゴヤアカウント/public_html/count.php
のみ入力してみたんだけどでなにがちがうんですかね?
/bin/sh: /home/カゴヤアカウント/public_html/count.php: cannot execute binary file
ってなのがメールで送られてくるんだけど
エロイ人教えてください
0136nobodyさん05/03/17 18:24:21ID:???
>>135
エロくはないけど、
たぶん、
*/1 * * * * php /home/カゴヤアカウント/public_html/count.php
だろうね。
それでもエラーが出るようなら、phpのパスを調べれ。・
013712805/03/17 18:41:56ID:???
だめぽよ
/bin/sh: php: command not found
のエラーのメールがきますわ
count.phpのパーミッソンハ705
中身は
<?/* シンプルカウンタ by ToR tp://php.s3.to 2000/10/18 */
$fp = @fopen("count.txt","r+") or die("ファイルが開けません");
$count = fgets($fp, 64);
$count++;
rewind($fp);//set_file_buffer($fp, 0);
flock($fp, LOCK_EX);
fputs($fp, $count);
fclose($fp);echo $count;?>
何がちがうんですかね?
0138nobodyさん05/03/17 18:45:35ID:???
>>137
>>136 wrote
> それでもエラーが出るようなら、phpのパスを調べれ
環境変数、特にコマンドの検索場所を指すPATHが違う。
0139nobodyさん05/03/17 18:53:46ID:???
>>137
CLI用PHPへのパスは?
1行目に
#!/usr/local/bin/php
とか書いてる?
0140nobodyさん05/03/17 18:58:22ID:???
>>137
ttp://www.kagoya.net/cgi/
の、「コマンドパス」項目を穴が開くほど睨んでみ。
014112805/03/17 19:10:27ID:???
おまいらすげー
できたよありがとうぅ
こんなん何処でおしえてもらうん?
専門学校かね?
んまありがとー
014213005/03/17 19:11:49ID:???
>>134
ありがとうございます。
imagecolortransparent()の返り値が0の場合があるのでif ($trans) {の分岐を外して
実行しているのですが、返り値が0以外の場合には透過になりません。

$trans = imagecolortransparent ($src_image);
imagepalettecopy ($dst_image, $src_image);
imagefill ($dst_image, 0, 0, $trans);
imagecolortransparent ($dst_image, $trans);

パレットをコピーし透過になる色で塗りつぶし、その色を透過に指定しているので
正しく透過出来そうだと想うのですが、これはフルカラーではないという所が問題
なのでしょうか?。
imagecreatetruecolor()で作成した場合は正しく利用できないのでしょうか。

塗りつぶしをしているので問題がある場合もありそうですが、とりあえず
$trans = 0で指定しています。
0143nobodyさん05/03/17 19:52:29ID:???
自宅サーバ上での質問です。

AnHttpDでISAPI経由でPHPを動かしているのですが
ISAPIだと設置した掲示板やチャット等で、IPやHOSTの情報を取得してくれません。
CGI経由だと取得してくれるのですが、この問題を解決する方法はありますか?

■バージョン
PHP 5.0.3
AnHttpD1.42n
0144nobodyさん05/03/17 20:22:09ID:???
>>143
PHPのバージョンを変えてみるという手がある。
が、「問題を解決する方法」としては選択しづらいだろうね。

つか、なんでバージョンでその辺が変わるのかねぇ>PHP
サーバ側とのAPIが変わってるわけでもないのに。
014514305/03/17 20:25:16ID:???
>>144
スクリプト上で取得の方法を変えたら出来ました。
(前)$ip = getenv("REMOTE_ADDR");
(後)$ip = $_SERVER["REMOTE_ADDR"];

お騒がせしますた(;´д`)
0146nobodyさん05/03/17 20:36:26ID:???
>>128
はてなあんてな使う手もある。
0147nobodyさん05/03/17 21:12:04ID:PAcs7vRb
open_basedir を設定している状態で、
require_once('../main.inc');

と相対パスで一つ上を指定したいんだけど、open_basedirをどう設定すればいい?
0148nobodyさん05/03/17 21:12:14ID:???
>>145
ちゃんとマニュアルに
getenv
注意: この関数は、ISAPIモードでは動作しません。
書いてあるじゃん
0149nobodyさん05/03/18 03:12:21ID:???
>>143-4は池沼
0150nobodyさん05/03/18 10:44:51ID:0xXwO3mo
formからpostされた値を、改行コードを統一してから
AUTO指定でEUCに変換すると

preg_replace("/(\r\n|\r)/","\n",$str);
$str = mb_convert_encoding($str,"EUC","AUTO");

毎回ではないのだが、頻繁にエンコードに失敗するのですが
Warning: mb_convert_encoding(): Unable to detect character encoding in hoge.php on line ○○

何故?改行コードでエンコードの判断してるの?
エンコードしてから改行コードの変換をすれば良いって問題なんかな?

formはSJISで、PHPのバージョンは4.3.4です。
0151nobodyさん05/03/18 11:00:56ID:???
おまいら!
SJISでスクリプト掻いてますか
EUCですか?
0152nobodyさん05/03/18 11:27:32ID:???
>>151
外に出す時はUTF-8
普段はASCII
0153nobodyさん05/03/18 11:44:31ID:???
>>150
formがSJISならSJISで来る確率が高かろうから'auto'じゃなくて
'SJIS, EUC-JP, UTF-8, JIS, ASCII'とでも指定してみれば

私はhiddenに判定文字列入れてmb_detect_encodingやってるけども
0154nobodyさん05/03/18 11:50:37ID:???
>>152
外に出すときは生
普段は極薄
0155nobodyさん05/03/18 12:23:49ID:???
>>153
ありがとう、AUTOやめてSJISの優先度上げたら落ち着いたよ
0156nobodyさん05/03/18 14:09:11ID:???
E・U・C!E・U・C!
0157nobodyさん05/03/18 15:47:30ID:H8eZrdKt
.htaccessで

ErrorDocument 404 /404.php

として404をPHPに飛ばしてるのですが
このPHPで本来どこにアクセスされたのかを
知ることってできますか?


0158nobodyさん05/03/18 16:06:59ID:???
$_ENV["REQUEST_URI"] かな
015915705/03/18 16:44:12ID:???
>>158
あ、ありがとうございます
$_SERVERで試してました。。。orz
0160nobodyさん05/03/18 17:05:03ID:???
$_SERVERでも問題ないと思うが
016115705/03/18 17:08:04ID:???
>>160
あれ? ほんとだ・・・
なんか全然関係ないとこで勘違いしてたみたいです。
たいへん失礼しました
0162nobodyさん05/03/19 00:12:12ID:???
質問です。
ファイルの行数を取得したいのですが、
極力負荷を低くやりたいです。
ファイルのサイズはデカくて、
1行の文字数は不定なのですが
なにかウマい方法はないでしょうか?
0163nobodyさん05/03/19 00:34:00ID:???
>>162
wc。要するにバイナリーとしてファイルを舐めて[改行]の数をカウント
0164nobodyさん05/03/19 00:53:10ID:???
fileで読み込んでcountで参照って手も。
0165nobodyさん05/03/19 00:57:40ID:???
ありがとうございます。

>>163
す、すみません…
バイナリは扱ったことがないので分からないのですが
もう少し詳しく教えていただけませんか?

>>164
ファイルがかなりデカいので、fileで読み込むと悲惨なことになりそうです…
0166nobodyさん05/03/19 00:58:41ID:???
>>165
まず試せ。
wcはUNIX系OSのシステムコマンド。
■ このスレッドは過去ログ倉庫に格納されています