Perlコーディング初心者質問スレ Part 54
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/02/10(土) 19:21:23ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
お勧めサイトは >>2-10
前スレ http://pc10.2ch.net/test/read.cgi/php/1164519503/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
0067nobodyさん
2007/02/16(金) 01:41:11ID:???その結果を見ただけで意識しなくてもいいと判断する事は出来ないが、
正しいUTF-8ではそのような問題や、EUC-JPで良く発生するような
ずれてマッチする問題は起こらないことが保証されている。
参考資料: RFC2279(obsoleteだがUCS-4の範囲を全て表現できるため), RFC3629
というのもUTF-8というエンコーディングは面白い構造をしている。
まずASCIIの範囲はそのままASCIIのために割り当てられていて、
マルチオクテット文字には出現しない。これはEUC-JPと同じ。
で、問題のマルチオクテット文字の表現なのだけれど、
nオクテットで表現されるUTF-8文字は、最上位ビットから
nビット1が連続した後に0が来るようになっている。
全ての非ASCIIのUTF-8文字は2byte以上で表現されるので、
これは1オクテット目が10xxxxxxにならないということ。
そして、2オクテット目以降は上位2ビットが必ず10になっている。
これらによって、マルチオクテット文字中にASCII文字が登場したり、
他のUTF-8文字にずれてマッチするようなことがないことが保証できるわけだ。
さて、ここまではUTF-8に対する一般的な話だが、実はPerl(5.8以降、5.6は怪しい)は
UTF-8を内部エンコーディングとして正式にサポートしている。
文字列にはUTF-8フラグというものが用意されており、
マルチオクテット文字を1文字として扱うことが出来るようになっている。
この辺の話はテンプレ>>3の[Perl5.8Unicodeメモ]にあるサイトが詳しいので、
必要ならとりあえずそっちを読んでくれ。
0070nobodyさん
2007/02/16(金) 06:38:18ID:MoploLOU数倍ならば高速化できますが、100倍はムリだとおもいます。
処理内容は以下に記載。
1)CSVを1行を読み込み。
2)対応するWEBページのURLを作成。
3)上記URLをもとにWEBページをダウンロード。
4)ダウンロードした情報をCSVに付加。
処理時間は 1行あたり凡そ1秒。
既にダウンロードした情報はDBにキャッシュしていますが、
情報量の関係で
「新規にWEBページをダウンロードしなければならない」場合が
発生するのです。
0071nobodyさん
2007/02/16(金) 09:57:57ID:???例えば、AjaxとかCommetとかFlashで何秒おきかに進捗状態を取得して表示するとか。
かなり面倒なことは確か。
0072nobodyさん
2007/02/16(金) 10:28:08ID:???0073nobodyさん
2007/02/16(金) 14:30:20ID:???007464
2007/02/16(金) 19:29:33ID:???丁寧な説明ありがとうございました。
>その結果を見ただけで意識しなくてもいいと判断する事は出来ないが、
その通りですね、すみません・・・
007565
2007/02/16(金) 23:38:29ID:MoploLOUどうもです。
やはり ajax ですか・・・、調べてみます。
0076nobodyさん
2007/02/17(土) 01:22:16ID:???使ったことないけど、シンプルな進捗表示でいいなら
multipart/x-mixed-replace でさくっとできそうな気がする
007776
2007/02/17(土) 01:32:05ID:???やったことある方法では「<script> statusbox.value = "現在5件処理完了"; </script>」
的な1行javascriptをautoflushでprint。
0079nobodyさん
2007/02/17(土) 20:47:43ID:???my @file = <FILE>;
これより効率の良い方法ありますか。
ファイルの中身は最大で100KBです。
共有鯖なので心配で使えません。
0080nobodyさん
2007/02/17(土) 21:23:25ID:???0081nobodyさん
2007/02/17(土) 21:33:47ID:???最終的に何がしたいのか、および何の効率かによる。
メモリ効率を気にしていて、「ファイルの中身を」丸ごと「配列に入れたい」のなら、
その方法だとデータサイズの2倍程度メモリを消費して、
1行ずつpushで代入する方法だとデータサイズと同じ程度だったが。
(perl5.8.7 on FreeBSD5.4調べ)
本当にやりたい事を考えずに配列に代入する効率だけ考えるのは本末転倒というものだ。
0082nobodyさん
2007/02/17(土) 21:44:02ID:???0083nobodyさん
2007/02/17(土) 21:55:29ID:???(ファイルのフォーマットは先頭が数字で固定)
my @log = <FILE>;
my($start,$end) = hoge(); #ユーザーの入力による数字
my $new = ( $log[$#log] =~ /^\d+/s ) ? $& : 0;
my $old = ( $log[0] =~ /^\d+/s ) ? $& : 0;
$start = $old if( $old > $start );
$start = $new if( $start > $new );
$end = $old if( $old > $end );
$end = $ned if( $end > $new );
$end = $start if( $start > $end );
my @choice = print_request_lines(\@log,$start,$end);
sub print_request_lines {
my($log,$start,$end) = @_;
my $count = $start;
$end = $count unless($end);
foreach ( @$log ) {
if ( /^\Q$count\E/s ) {
print;
if ( $count >= $end ) {
last;
}
else {
$count++;
}
}
}
}
あとあとはこんな処理です。長いので一応簡潔にまとめたつもりです。
read(FILE,my $hoge,-s FILE);とか?
気になるのは鯖の負荷です。一日2万弱アクセスあります。
008481
2007/02/17(土) 22:00:24ID:???my @choice = ...
あたりはまとめミスですorz
0085nobodyさん
2007/02/17(土) 22:02:22ID:???83でした。すみません
0086nobodyさん
2007/02/17(土) 22:28:50ID:???指定される範囲は通常データ全体に比べて非常に小さいものかな?
番号がソートされて並んでいるなら二分探索が有効。O(log n)に出来る。
行頭探すのがちょっと面倒だがなー。データ構造を変えることが可能ならば、
あらかじめ番号に対してオフセットを記録しておくような簡単なindex付けを行っておくのが吉。
0087nobodyさん
2007/02/17(土) 23:07:21ID:???指定される範囲は予想ではデータ量の2割りくらいがメインです。
10割りの時もありますが。
二分探索を調べて見ましたが使いまわしできなくなりそうなのでやめました。
結局ファイルを小刻みに分割することにしました。
index付けとは言えませんが、
先に位置情報ファイルを読み込んで該当ファイルを探すといった感じです。
>>81 >>86 大変勉強になりました。ありがとうございました。
0088nobodyさん
2007/02/18(日) 04:57:02ID:???行頭についてる整数値を取得すれば1行読みの1パスで行けるんじゃない?
>if ( /^\Q$count\E/s ) {
の行、$count=10のとき行頭が"100"でもマッチするね
データ構造上無いのかも知れないけど
ちなみに小分けしたファイルのどれから読み込むのかを
要求された値から機械的に算出できるようにするという工夫もあるよ
0089nobodyさん
2007/02/18(日) 09:12:59ID:???>1行読みの1パス
ファイルが100KBを超えるたびに先頭の1行を削除していたので
$new,$oldをどうやって取得するかが問題でした。
>if ( /^\Q$count\E/s ) {
if ( ^\Q$count\t\E/s )にしました。
>機械的に算出
(ファイルを100件刻みで小分け)
my $file = './log/*.dat';
my $fle_numbe = int($start / 100) + 1; #+1は必ずtrueにする為
$file =~ /\*/$file_number/e;
とりあえずこんな感じにしました。
ファイルをまたぐ方法を考え中です。
なんとなくpipeを勉強(`・ω・´)
009065
2007/02/18(日) 17:02:29ID:qiEEvOwU>そんな事、CGIでやるべきではないと気付け。
CSV処理サービスを多数に公開する趣旨にもとづき、CGIで試作しています。
CGI以外で、多数のユーザーに処理サービスを公開する方法がありましたならば、
ご教授願います。
0091nobodyさん
2007/02/18(日) 17:24:45ID:???簡単な方法としては、
(1) HTTP response header を返す。
(2) HTTP body の先頭を返す。
ここで総処理件数を表示しても良い。
(3) 時間の掛かる処理を開始する。
(4) 1件処理毎に何らかのデータを返す。
(プログレスバーのような格好の良い物の代替として)
(5) できあがったCSVをダウンロードするためのリンクを出力。
つまり、プログレスバーの代わりに、(4) で何らかのデータを
返すだけだけどね。
垂れ流し的に「n件目、処理中」ってのが同じページに繰り返し
出ちゃったり、ちょっとかっこわるいけど。
0092nobodyさん
2007/02/18(日) 17:34:02ID:???時間の掛かる処理を開始する前に
<meta http-equiv="Refresh" content="10;URL=hoge.cgi?jobid=123">
みたいなページを返して、定期的に hoge.cgi を呼び出させる。
上記のページをクライアント側へ返したらSTDOUTとSTDERRはcloseする。
hoge.cgi は与えられたパラメータ(例示のjobid=123みたいな)でどの処理か
特定し、処理途中なら進捗具合を返す、の繰り返し。
処理完了なら、CSVダウンロードのためのリンクを返す。
で、どうだろ。
0093nobodyさん
2007/02/18(日) 17:58:06ID:???十分だろ
0094nobodyさん
2007/02/18(日) 18:05:14ID:???割り切って人間に対してはそれでも良いかもね。
しかしHTTP通信上、一定時間データが流れないと、ブラウザ側が
エラーと見なしてしまうことがあるからね。
009565
2007/02/18(日) 20:30:00ID:qiEEvOwUCGI の神のご教授、感謝です。
いままでは local 環境でのプログラミング( kernel層)ばかりだったので、
CGI は可也勝手が違います。
0096nobodyさん
2007/02/19(月) 05:29:32ID:???ちょっとだけファイル書き出しておけばよさそうに感じるけど、そういう感じって出来ないのかね。
処理してるのと別の工程でそのファイル読み出して進展状況とするみたいな感じで。
0097nobodyさん
2007/02/19(月) 07:55:57ID:vpFQD8kwできるよ。一度ユーザに画面遷移してもらうという点では>>92と同じ考え方。
実装では>>92もファイルを書き出すことになるだろうけど。
0098nobodyさん
2007/02/20(火) 02:04:21ID:???use CGI;
$q = new CGI;
foreach($q->param){
といった形のソースで、POSTされたデータをハッシュで受けたいのですが、keyにあたる部分にHTMLでいうところのID要素を与えたいと思います。
ループ内でVALUEは$_で受け取れますが、ID要素に当たる部分を取得する方法はありませんか?
0099nobodyさん
2007/02/20(火) 08:31:07ID:???http://perldoc.jp/docs/modules/CGI.pm-2.89/CGI.pod
「スクリプトの渡された全てのパラメータの名前の取り出し」から
「パラメータリストのハッシュでの取り出し」まで読もうな。
0101nobodyさん
2007/02/20(火) 10:36:15ID:???0102nobodyさん
2007/02/20(火) 11:28:45ID:6AwpaKJsApache のアクセスログで、Mozillaが含まれる行だけを削除して他のファイルに出力しようとしています。
以下のようにやったのですが、
syntax error at access_log.pl line 13, near ")
print"
access_log.pl had compilation errors.
と言われてしまいます。どこがいけないのか教えていただけますか?
以下ソース。
#!C:/Perl/bin/perl
$in = 'access_log';
$out = 'access_log_out';
open(IN, $in) or die "$!";
open(OUT, ">$out") or die "$!";
while (<IN>)
{
chomp($_);
if ($_ !~ /Mozilla/i)
print(OUT "$_\n");
}
close(IN);
close(OUT);
0103nobodyさん
2007/02/20(火) 11:32:45ID:???よく見るんだ!!
0104nobodyさん
2007/02/20(火) 11:36:24ID:???それが何か?
>>102 入れ替える。
print(OUT "$_\n")
if ($_ !~ /Mozilla/i);
0105102
2007/02/20(火) 11:38:33ID:???if ($_ !~ /Mozilla/) {
print(OUT "$_\n");
}
と括弧つけたらコンパイル通りました・・・
式が一文だから括弧つけなくてもいいと思ってたのに、
ダメなんでしたっけ?
0108nobodyさん
2007/02/20(火) 11:50:45ID:???Perlでは必ず必要。Cとは違うのです。
以下perlsyn(1)の該当部分。Note that以降に注目。
The following compound statements may be used to control flow:
if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
LABEL while (EXPR) BLOCK
LABEL while (EXPR) BLOCK continue BLOCK
LABEL until (EXPR) BLOCK
LABEL until (EXPR) BLOCK continue BLOCK
LABEL for (EXPR; EXPR; EXPR) BLOCK
LABEL foreach VAR (LIST) BLOCK
LABEL foreach VAR (LIST) BLOCK continue BLOCK
LABEL BLOCK continue BLOCK
Note that, unlike C and Pascal, these are defined in terms of BLOCKs,
not statements. This means that the curly brackets are required--no
dangling statements allowed.
0109102
2007/02/20(火) 12:50:14ID:???入れ違いになってしまいました。ありがとうございます。
>>107,108
なるほどそうなんですね、
Cあがりなので後置というのがすごく違和感あるのですが
頑張ります。
ありがとうございました。
0110nobodyさん
2007/02/20(火) 13:03:25ID:???当たり前の事をあえて書いているので、nameとvalueからidを生成する画期的な技でも隠しているのかと。
0111nobodyさん
2007/02/20(火) 13:05:23ID:???俺はほとんどイディオムと化している next if 〜ぐらいしか後置は使わないな。
いろいろ、好みもあるとは思うがね。
0112nobodyさん
2007/02/20(火) 13:05:26ID:???0113nobodyさん
2007/02/20(火) 13:30:25ID:???0114nobodyさん
2007/02/20(火) 13:37:37ID:???渡しは、より順位が下という理由だけで、ほとんどorを使ってるけど。
0115nobodyさん
2007/02/20(火) 13:52:16ID:???valueが可変なのはtextかtextareaかpasswordぐらいっしょ
その他ならできるんじゃね?
っつーかあんた陰でイヤミって呼ばれてるっしょ?
0116nobodyさん
2007/02/20(火) 13:56:54ID:???漏れは必要なときだけorかな
・条件文の中では||
・式をショートサーキット評価するときも||
・文をショートサーキット評価するときはor
while ($x || $y) {
my $hoge = $fuga || parse() or die 'Parse error';
...
}
実際にこんな組み合わせて書くことはないけれどこんな感じで
0117nobodyさん
2007/02/20(火) 14:12:04ID:???どうでもよくて制御構造っぽく使うときだけ。
0118nobodyさん
2007/02/20(火) 14:22:08ID:???0119nobodyさん
2007/02/20(火) 14:45:36ID:???ロクな検討もしていない思いつきを垂れ流されると振り回されて迷惑。
nameとvalueが予め列挙できている事で可能になる、idの生成方法なんて考えて無いでしょ?
0120nobodyさん
2007/02/21(水) 18:22:26ID:???スクリプトの記述は、cgi呼び出されたら、
・wgetで、hoge.txtを指定して実行
・カウントをひとつ足して記録
こんな感じでしょうか?
wgetでダウンロードできるでしょうか。
0121nobodyさん
2007/02/21(水) 18:23:28ID:u+1RH8XXhoge.txtがどこにあるかしらないが、同じサーバ上にあるなら普通にopen()して読み取ればいいんじゃないの?
0122nobodyさん
2007/02/21(水) 21:25:39ID:???待たずに即座に終了させたい。
↓こんなサブルーチン作ったけど確認できないのでご教授ください。
sub FileLockEX {
# use Fcntl ':flock';
my($fh,$lockfile) = @_;
open($fh,"> $lockfile") or die;
if ( flock($fh,LOCK_EX|LOCK_NB) ) {
return $fh;
}
else {
die;
}
}
0123nobodyさん
2007/02/21(水) 23:08:58ID:???以上
次どうぞ
0124nobodyさん
2007/02/21(水) 23:34:29ID:???0125nobodyさん
2007/02/21(水) 23:41:16ID:???0126nobodyさん
2007/02/21(水) 23:56:26ID:???【Perl】ファイルロック(排他処理)について語ろう
http://pc10.2ch.net/test/read.cgi/php/1024795138/
0128nobodyさん
2007/02/22(木) 19:13:48ID:???レス遅くなりました。
いただいたアドバイスの意味がわからなくて、
時間かかってしまいました。
print "Content-type: application\/download\n";
print "Content-disposition: filename=\"$filename\"\n\n";
open(FILE,"< $filename") || die "$filename open失敗しました";
binmode(STDOUT);
binmode(FILE);
while (<FILE>) { print; }
close(FILE);
いろんなページ見ながら、上記のようになりました。
Content-type:
は、ダウンロードするファイルの種類によって、変えるんでしょうか。
意味がわからなかったりしますが、ちょっとずつ勉強したいと思います。
ありがとうございました。
0129nobodyさん
2007/02/22(木) 21:18:05ID:???0130nobodyさん
2007/02/23(金) 01:48:29ID:zpF2/r1popen(FILE, '>:encoding(cp932)', $fn) or die;
のようにしてUTF-8の文字を、Shift-jisに変換しています。
UTF-8には存在する文字でShift-jisに存在しない文字の場合、
エラーが発生し、UTF-8の文字コードが表示されてしまうの
ですが、Shift-jisに存在しない文字コードの場合は表示を
しないようにする(空白に変換する等)にはどのようにしたら
よいでしょうか?
0131nobodyさん
2007/02/23(金) 02:49:49ID:???perldoc Encode して
Handling Malformed Data
のあたり読んでみそ。
お好きなように選択してくださいな。
0132nobodyさん
2007/02/23(金) 21:26:44ID:vPX/8GZG$urlが存在しない場合、(http://fugahoge.zubazubaとか)
以下のコードで、(A)に対して3秒タイムアウトが効きません。
(B)には効きます。
$request = GET($url);
eval{
local $SIG{ALRM} = sub { die "timeout\n" };
alarm (3);
$res= $ua->request($request);--------------(A)
# sleep 10;---------------------------(B)
alarm 0;
};
alarm 0;---------(C)
if($@) {
if($@ =~ /timeout/) {
# タイムアウト時の処理
#fugafuga
} else {
# その他例外時の処理
}
}
}
もう死にそうです。5時間ほど寝てません。
0133nobodyさん
2007/02/23(金) 21:35:25ID:???0134nobodyさん
2007/02/23(金) 21:40:39ID:vPX/8GZG存在しないマシンをさっさと検知したいのです。
ちなみに対象ホストはpingかけても無応答が20秒くらい続くようなマシンです。
0135nobodyさん
2007/02/23(金) 22:08:15ID:???or
LWP + fork
ttp://www.gac.jp/article/index.php?stats=question&category=12&id=16922&command=msg
0136nobodyさん
2007/02/23(金) 23:24:55ID:???ならば、Net::DNSで自分で引く。
0137nobodyさん
2007/02/24(土) 02:30:49ID:???0138nobodyさん
2007/02/24(土) 02:39:06ID:???0139nobodyさん
2007/02/24(土) 15:19:31ID:8+oB65y+整数だけの四則計算を数万回繰り返して結果を返すというのを作っているので
すが(÷は小数点以下切捨て)、結果が変になる場合がありました。
調べてみると、途中に非常に大きな数値が一つでもあるとそこでずれるというの
までは分かったのですが、正常に計算できる限界というのはどこまでなのでしょうか?
(perl v5.8.5, kernel-2.6.9-34)
0140nobodyさん
2007/02/24(土) 15:41:17ID:???有効桁数については前スレで既出。まだ落ちてないようだから行ってらっしゃい
http://pc10.2ch.net/test/read.cgi/php/1164519503/641-681
計算方法を見直すか、根本的に解決するにはMath::BigInt
0141nobodyさん
2007/02/24(土) 16:33:44ID:8+oB65y+あと、BigInt も軽くテストしてみてokだったので、実際に組み込んで
動かしてみましたが、結構遅いのですね。計ってみましたが300倍ぐら
い遅いです。
正確さをとるか速さをとるかのトレードオフなんですね。
0142nobodyさん
2007/02/24(土) 16:55:27ID:8+oB65y+0143nobodyさん
2007/02/24(土) 16:56:46ID:???Math::BigIntはPurePerlな実装だからね…
Math::BigInt::GMPとかXSによる実装があるから、
コンパイルできるならこれらを使うとそれなりに速くなると思うけれど。
http://search.cpan.org/search?query=Mathh%3ABigInt&mode=dist
0144nobodyさん
2007/02/24(土) 17:10:20ID:K7bQHZEYopen(FH,"$hoge");
@hoge=<FH>;
close(FH);
foreach $hoge (@hoge){
($Hoge,$HOge,$HOGe,$HOGE)split($hoge)
#その他処理
}
というのがあるんですが、上のを下記の記述に変更した場合、
サーバーへの負荷とかどのように変わってくるか、具体的な数字は分かりますか?
open(FH,"$hoge");
while(<FH>){
($Hoge,$HOge,$HOGe,$HOGE)split($_)
#その他処理
}
close(FH);
下の方が無駄に変数やリストを使わなくなるので軽いような気はしてるんですが、
イマイチ確信がもてないのです、実際どうなんでしょう?
0145nobodyさん
2007/02/24(土) 18:11:51ID:???0146nobodyさん
2007/02/24(土) 18:42:29ID:8+oB65y+有難うございます。
すぐコンパイルが出来ず確認できないのですが、今度やってみます。
0147nobodyさん
2007/02/24(土) 18:58:10ID:???0148nobodyさん
2007/02/24(土) 20:14:03ID:8+oB65y+45 / 20 = 2.25 (割り切れる)
45 / 21 = 2.1428.. (割り切れない)
0151nobodyさん
2007/02/24(土) 20:57:13ID:???割り切れるか否かは基数によって変わるわけであって、
コンピュータでの小数表現は2を基数とするのが一般的。
つまりコンピュータにとっては1/5は「割り切れない数」なわけだが、>>148はどうしたいんだろうね。
まあともかくnを基数としたときに割り切れるかは、
その分数を約分した分母がnの素因数の積で構成されているかを判定すればOK
0152nobodyさん
2007/02/24(土) 20:57:37ID:???m,nの最大公約数を求める。lとする。
n/lが2^x * 5^y(x,yは0以上の整数)という形ならOK
最大公約数の求め方はユークリッドの互除法でも調べてください。
後半は2と5でそれぞれ割り切れるだけ割っていって最後1になるか判定
という感じでいけるんじゃないか?
0153nobodyさん
2007/02/24(土) 21:51:38ID:Iwese7yM∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧
______ < 踏んだら孕んだ!抱いたら揉んだ!
/:::::::::::::::::::::::::::::ヽ < 孕んだ振る降る般若だ!
/::::::::::::::::::::::::::::::::::::ヽ < ティムポ擦る無駄、フン出る春巻きはむ無理!
|::"´ ̄ ̄ ̄ ̄ ̄ヽ:::| < チン毛ちぎり、看板塗る飛騨!
|:::| |:::| < 陰毛臭いんだ!モッコリ膨らんだ!
ヽ/ -=.、 _,=- ゾ < 安打!?半田ゴテ適時打!!
| | -ェゝ ";ュ- |ヽ < 原チャリ盗んだ!あんだとこら!?
ヽト、 ´i ` ,.イ/ < よくちょん切れるハサミだ!
〈 i /L_、 i 〉 _ノ∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨
__,. -‐ヘ -=三=- /──、
_ -‐ ''" / \ /\  ̄゛ー- 、
ハ / |ヽ ̄ ̄// ヽ、 ∧
| ヽ く ! .>ーく / > / !
| | _> ∨-、r‐/ <_ / !
∧ ! ヽ | 厂L/ ■/ i .∧
/ \ | \ ∨ ! / | / ハ
0154130
2007/02/24(土) 23:31:04ID:WjAlsxOjは「?」に変換したいと考えてます。
この場合どのようになコーディングをしたらよいでしょうか?
せっかく131の方が答えてくれたんですが、
よくわかりませんでした。。すみません。。。
0155nobodyさん
2007/02/25(日) 00:25:19ID:???$CGI::POST_MAX = 1024*1024;とせずに
ファイルサイズを調べて1MBより大きい場合にはじくのとでは
サーバへの負担が違いますか?
あと、POST_MAXを指定してサイズがオーバーしていた場合に
処理が取り消されたという情報はどこかに入るのでしょうか?
0156155
2007/02/25(日) 00:29:49ID:???最初にやってみるべきでした。
スレよごし、すいません。
0159nobodyさん
2007/02/25(日) 07:00:21ID:???$hoge = 11 ;
$foo = 3 ;
if ( $hoge % $foo == 0 ){
}
0160nobodyさん
2007/02/25(日) 07:31:31ID:???結局質問には一応だけど答えてるツンデレなんだし。
0161nobodyさん
2007/02/25(日) 08:41:45ID:???>>148をもう一回よく読んでみ
45 % 20 は0じゃないが割り切れると判断するんだぞ
0162nobodyさん
2007/02/25(日) 09:25:01ID:???0163nobodyさん
2007/02/25(日) 09:26:01ID:???0164nobodyさん
2007/02/25(日) 09:38:58ID:???0165148
2007/02/25(日) 10:16:04ID:k71AVSTb>>149,159,160
% で解決できるなら助かるのですが(>_<)
質問は理解し易く『 45 / 20 = 2.25 』と書いたつもりだったのですが、
難しかったようで、失礼しました。
>>152
有難うございます。
難しい・・・。もうちょっと勉強します。
>>162,163
有難うございます。10倍しても、1億倍してもどこで諦める瞬間を作らないと
いけないですよね。もしかしたら1億1倍のところで割り切れるかもしれない。
>>161 thank you...
■ このスレッドは過去ログ倉庫に格納されています