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

【Perl】初心者コーナー Part16

■ このスレッドは過去ログ倉庫に格納されています
00013PIO ◆3pIoOHKo 02/09/15 15:11ID:???
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

CGIだけど、なんか質問ある? Part 6 (その2)
http://pc.2ch.net/test/read.cgi/php/1025930486/
参考書籍の話題は【【Perl,CGI】参考書籍 第2版】
http://pc.2ch.net/test/read.cgi/php/988809842/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
スクリプトの改造依頼は 【スクリプト改造工房 Part4】
http://pc.2ch.net/test/read.cgi/php/1012839651/

過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0421nobodyさん02/09/26 21:26ID:???
>>415
君のソースをコピペきぼんぬ。

>>416
元の文字コードがsjisではないのではないかと言ってみるテスト。
uploadはとりあえず置いといて、ファイル名に入れた文字列と
そのときの$cgi->param('filename')を書いてみてくれんか。
0422412=41502/09/26 21:50ID:???
>>421
今いろいろ探っていたのですが、最初は
$replace_character = \xdd;
substr($buffer, $rep_position, 1) = $replace_character;

413-414を見たときにはシングルクオートで囲んで、
$replace_character = '\xdd';
substr($buffer, $rep_position, 1) = $replace_character;

420を見てダブルクオートで、やっと上手くいった次第です。
$replace_character = "\xdd";
ダブルクオートでも最初と同じ結果だろうと思って確かめていませんでした。
うーん、自分自身 ダブルクオートを使ったときの意味合いが良く解っとりません。
0423412=41502/09/26 21:56ID:???
訂正:
最初は0xddを使っとりました。
$replace_character = 0xdd;
0424nobodyさん02/09/26 22:33ID:???
>>418
sjis→euc変換をしているところをコメントにし、
$filename の変換は、

> while($bytesread = read($filename, $buffer, 2048)) {
> $file .= $buffer;
> }

よりも後にしてみるとどうよ?
0425メモがわりにカキコ02/09/26 23:20ID:???
>>417 で、$cgi->param('file_name') が返すのは、文字
列じゃないです。"" を overload してファイル名っぽく
見せているだけの、ひみつのパッケージ (Fh) に bless
されたリファレンスらしい。
0426nobodyさん02/09/27 01:44ID:HP3sTChT
use strict;
use vars qw($aaa,$bbb,$ccc);
これで'$aaa,$bbb,$ccc' is not a valid variable name under strict varsエラーがでます。
普通の変数名だと思うのですが何がいけないのでしょうか。
0427nobodyさん02/09/27 01:47ID:TZvB0TqN
http://money.2ch.net/test/read.cgi/stock/1031503451/l50
821 :  :02/09/27 01:44
ё[No.3121] お知らせ by 地蔵 2002年09月27日 (金) 01時02分57秒【この記事にレス】
比ヤングについての情報をお持ちの方、連絡ください
現在警察に相談中です
今後の処理を円滑に進めるために彼の連絡先等を教えていただけるとありがたいです
ご協力お願いします
http://obuchi.naikaku.com/angriffbbs/dempa.html
0428nobodyさん02/09/27 01:52ID:???
>>426
区切りがスペースでした
0429nobodyさん02/09/27 02:37ID:???
$a = "Win98" のとき、 "Win"を"Windows"に置換したものを$bにし、なおかつ$aは"Win98"のままにしたいです。

$a = "Win98";
$b = $a;
$b =~ s/Win/Windows/;

とすればうまくいったが、もっとシンプルな書き方はありますか?
0430nobodyさん02/09/27 02:44ID:???
if ($a eq 'Win98'){ $b= 'Windows98'; }
0431nobodyさん02/09/27 02:47ID:???
問題を単純化させるためにシンプルな例にしたんだから、
430のような回答はやめてください。
0432nobodyさん02/09/27 03:32ID:???
>>431
俺は430じゃないけど回答してもらっといてやめてくれとは何様?
429に対する答えが430じゃ間違ってるとでも?
意図したものじゃないとして、自分の例が悪かったという思考が何故働かない?

>良い回答は良い質問から。
0433nobodyさん02/09/27 03:35ID:???
>>429のは$aがWin98と限定されてんだから、>>430で十分だ。
0434nobodyさん02/09/27 03:44ID:???
>>430はネタだと思ってつい悪い言い方してしまった、スマソ。
$aは何が入ってくるかわからないものとしてください。
"Win95"かもしれないし"Win2000"あるいは"WinXP"かもしれない。それ以外かもしれない。
0435nobodyさん02/09/27 03:57ID:???
>>422
分からん時は目で確かめる。
print join '/', (0xdd, '\xdd', "\xdd", '\n', "\n", '');

>>429
($b = $a) =~ s/Win/Windows/;
0436nobodyさん02/09/27 04:58ID:EoYu/tZy
英語限定のメッセージボードで、日本語・アラビア語や、フランス語等
英語にはない表記のアルファベットなど、「英語以外の表記や機種依存
文字」が使用された場合、それらを全て「*」という文字に変換したい
のですが、その場合の方法を教えて下さい。宜しくお願いします。
0437hmk02/09/27 05:17ID:???
s/[^a-zA-Z0-9 ]/*/g;
例えばこんなのでいいのか?
0438yahooo!!アダルト02/09/27 05:31ID:YxOmbJ3N
http://muvc.net/jsweb/profiles.html
0439nobodyさん02/09/27 06:25ID:nnok+0bo
>>437さん、
あ、それだけでよかったのですか。ありがとうございます。
初心者まるだしの質問で申し訳ありませんが、この場合、数字以外の
「#」「$」「~」などの記号はそのまま表記されますよね?
宜しくお願い致します。
0440nobodyさん02/09/27 07:12ID:???
>>439
手元にテスト環境が無いのかい?

自分で確認した方が、人に聞くより早いし、
相手を手間取らせずにすむよ。
YES・NOで答えられる質問は、特にそう。

実際に試したうえで、分からない点が出てきたら、
また質問してね。

※ ちなみに質問の答はNO
  [^a-zA-Z0-9 ] が何を表しているか、考えよう。
0441nobodyさん02/09/27 08:34ID:???
JISみたいにアスキーとコード被ってるのが世界にどれだけあるか
わかんないからな…

JIS避けはこんな感じ?
s/\x1b\x24\x40(.*?)\x1b\x28\x4a/'*' x length($1)/eg;

んでその他と。
s/[^\x00-\x7e]/*/g;
0442nobodyさん02/09/27 12:10ID:???
>>441
SJISの第二バイトも被るだろ
0443hmk02/09/27 15:45ID:???
>>436 ...
ttp://www.din.or.jp/~ohzaki/perl.htm
ここの「文字の正規表現」が参考になると思われ。
儂がPGやってた頃には、ここをよくみてますた。

>>441 >>442
#/usr/bin/perl -Lsjis こんなオプションつけると、
2バイト目を気にしなくてもよくならなかったっけ?
間違ってたらスマソ。
0444nobodyさん02/09/28 01:46ID:iyuQXvId
サイト内の或るデータベースに全文検索CGIを自作して
つけようと考えています。
以下のようなものなのですが、Perlで作成しても
負荷が大きかったりとか、問題ないでしょうか?

現在300件ほどのデータがあって、
一件当たりが400文字(2バイト文字換算)程度です。
月に数件ずつ増える予定です。

サイトへのアクセス数は、現在一日に100回くらいです。
ただし、検索機能を使う人はもっと少ないと思います。

ホストはプロバイダのものを使用します。
(何サイトが一台のマシンを利用しているのかなどはわかりません。)

スクリプトの仕様は、まだ決めていませんが、
マッチ数が10件程度に小分けして表示するなど、
軽くなるようにはするつもりです。
どういうCGIが、高負荷でプロバイダからお叱りを受けるものなのか、
わかっていないので、作成する際に注意する点をお教えください。
0445nobodyさん02/09/28 01:57ID:???
>>444
チャットのように秒単位で絶えずアクセスし続けているようなCGIでもなければ怒られる事はないかと。
あとCPUを1秒以上使用したスクリプトは強制停止させられるところなどもあるので
その辺が目安かも。
ただプロバイダのサーバは基本的にかなり重いのでファイルロックがしっかりしてないと
あっさりログが飛ぶかも。
0446nobodyさん02/09/28 02:28ID:???
>>445
CGI配布サイトなどの掲示板スクリプトなどが、
ログを少なめにしたりしているので、
ひょっとして掲示板のログ100件程度でも辛いのかな? などと
考えていましたが、アクセスが重なる時がマズイんですね。

>マッチ数が10件程度に小分けして表示するなど、
>軽くなるようにはするつもりです。
深く考えずに書いてしまいましたが、
これってマッチしないとファイルの最後まで
検索しつづけますね。
便利でかつ軽いというものが思いつかないのですが、
項目別にログファイルを分けて、検索する対象を限定するなど、
いろいろ考えてみようと思います。
ありがとうございました。
0447nobodyさん02/09/28 02:37ID:???
>これってマッチしないとファイルの最後まで
全文検索なんだからそれで良いんじゃないの?
ファイル開く前に条件を整理して軽い条件からindexで流して
一気に対象を絞り込むとか。
0448nobodyさん02/09/28 03:01ID:???
文字の印字がわからない人は参考にしてください。

#!/usr/bin/perl

main:{
    printf("Hello, world.\n");

    exit(0);
}
044944402/09/28 03:49ID:???
>>447
言われてみればそうですね。
それに、現状では巨大なデータベースというわけでもないですし、
アクセス数も大したものじゃないですし、
負荷について考えすぎのような気もしてきました。
一応いろいろと公開されているソースも読んでから(C言語の方が多いのかな?)、
作成してみます。
0450nobodyさん02/09/28 10:52ID:???
仕事でCGIを覚えろと言われて勉強中です。
今、勉強しているのはフォームからデータを受け取り、
そのデータをメールで送信するプログラムなのですが、
メールの送信プログラムで
MIMEエンコード→メールヘッダ作成→メール送信(SENDMAIL)の流れは
みなさんどのように記述されてますか?
ネット上にUPされてるソースを見てるのですが、
いろいろな書き方があってどういう風に書けばいいのかがいまいち
よくわかりません。
ひとことアドバイスお願いします。

また、最近先人がつくられたソースを見てて思ったことなのですが
ライブラリ(例えば今回で言えばmimew.plとか)を
使ったものもあれば、使ってないものもある。
あれは『使わなくても書ける』とか『使った方が楽』とか
そういうレベルのものなのでしょうか?
別に使ったから処理が早くなる、遅くなるとかいったレベルではないんですよね?
(フォームデコードのやり方がやっと最近わかったのですが、cgi-lib.plを使うという方法も知ったので)

抽象的な質問ですみません。
0451nobodyさん02/09/28 12:19ID:???
>>450
プログラムなんて、要求仕様、開発者の技術レベルやポリシー、
開発期間などによって千差万別になって当たり前。
そういった諸条件さえしっかり把握できれば、必要な機能や
処理の流れは自ずと決まってくる。

人の書いたソースを読む時は、それが作られた背景も考慮に入れよう。

ライブラリやモジュールの類は「楽ができる」という以外に、
「理解し切れてない処理を正しく行ってくれる」という恩恵がある。
チャレンジは大事だが、あなたが mimew.pl の中身と同等以上の
コードを書けない内は、自分で書こうなんて考えちゃいけない。
スピードを気にするのは、処理内容とMIMEの仕様を理解してからだ。
0452nobodyさん02/09/28 18:54ID:BrjfrQHT
CGIです。
500個のファイルの最終更新時間を調べて配列にしたいのですが、
500ファイル全部statするのと、更新されるたびに最終更新時間を記録して
それを読み込むのとどちらの方が効率がいいと思いますか?

よろしくお願いします
0453nobodyさん02/09/28 19:06ID:???
>>452
もちろん後者
0454某スレ6802/09/28 19:23ID:9nQPxW7p
CGIスレから案内されますタ。

abcdefg
を
a b c d e f g
みたいにするのってパールで簡単にできますか。
行の操作じゃないからなんか難しそう。
短くかけっかなー。


0455nobodyさん02/09/28 19:23ID:???
500件ぐらいなら気にしなくても...
0456nobodyさん02/09/28 19:28ID:???
>>454
use Jcode;
print Jcode->new('abcdefg')->tr('a-zA-Z','a-zA-Z');
0457某スレ68 02/09/28 19:49ID:9nQPxW7p
>456
ややこしくてすみません。
スペースを入れていくということです。
0458nobodyさん02/09/28 19:49ID:???
$_= 'abcdefg';
for ($i=1; $i<(length); $i+=2){
    substr($_, $i, 0)= ' ';
}
print;
0459nobodyさん02/09/28 20:02ID:???
join " ", split //, "abcdefg"
0460nobodyさん02/09/28 20:02ID:???
>>457
全角にみえました^^;スマソ
print join(' ',split(//,'abcdefg'));
0461某スレ68 02/09/28 20:05ID:9nQPxW7p
理屈はよく判ってませんが、
とにかく、短くできるようですね。
有難うございました。
0462すみません。某スレ68 02/09/28 20:14ID:9nQPxW7p
% cat hoge
abcdefg

% perl -e 'for ($i=1; $i<(length); $i+=2){substr($_, $i, 0)= \' \' ; } print;' hoge
とワンライナーで書きたいんですけど、
パーサーエラーと叱られます。
{}ってワンライナーでは禁止されているのですか?
0463nobodyさん02/09/28 20:43ID:???
またいけるかな。。。
perl -pe'$_=join" ",split//' hoge
0464nobodyさん02/09/28 23:42ID:yZr0Nm9j
>>440-443さん、
本当にありがとうございます。m(_`_)m
0465データベース02/09/29 01:20ID:???
ttp://cgiroom.nu/
にある『検索専用データベース Ver2』
を使ってcsvファイルに含まれているデータの内容を取り除いてhtml上で繁栄
させる事ってできないでしょうか?

例
\pict\map\0001.gif
の「\pict\map\」の部分を取り除いて「 0001.gif 」だけ表示する

当方CGIの初心者で命令文の仕組みが全然把握できないので
「制作者に直接お願いしろやゴルァ」とか言わないで宜しくお願い致します。
急ぎの用なのでバージョンアップ待ちする訳にも行かず困っております。
0466nobodyさん02/09/29 01:27ID:???
>>465
s/.*\\//g;
0467nobodyさん02/09/29 02:01ID:???
>>465
情報不足。急いでるなら尚更しっかり説明しないと。
場合によってはスレ違い。改造工房行き。
0468nobodyさん02/09/29 03:28ID:???
>>465
少なくとも、
自分で調べてコード書いてみて、
間違ったままで良いからコピペして
どう直したら良いですか?
くらいしなきゃ、教える方も教えにくい。

「初心者だから」は通用しない。
初心者だからで言い訳するなら、はじめからCGIは触るな。
0469nobodyさん02/09/29 04:28ID:GXYgNgIm
>>461
@list = split(//, "abcdefg")
空の正規表現で分割すると,一文字ずつに分かれた配列が返る

join(" ", @list)
空白でつなぐ

ってこと。
0470nobodyさん02/09/29 09:57ID:Xgxp2+Gp
配列の値すべての \n を取り除くときは

chomp(@array);

でいいけど、逆に 配列の値すべてに \n をつけたい場合はどうすればいいですか?
for で地味にループさせる以外に便利なものがあったら教えてください。

for($i=0;$i<=$#array;++$i){
 $array[$i] .= "\n";
}

これよりスマートな記述キボンヌ
0471nobodyさん02/09/29 10:02ID:NgmswZAr
>>470
map {$_.="\n"} @array;

0472nobodyさん02/09/29 10:05ID:NgmswZAr
>>470
$_.="\n" for @a;
のほうがよかった。
0473nobodyさん02/09/29 10:30ID:Xgxp2+Gp
>>471-472
うぉお、すげぇ、ここまで短くなるんだな。サンクス子
0474nobodyさん02/09/29 10:43ID:u41sQpPi
$in{'key'}というデータを$xx{"key.$in{'id'}"}というデータに直す関数datasetと
それを書き込む関数dbm_wがあって、
両方ともハッシュのリファレンスを渡してやるのですがdatasetはハッシュを返すようになっています。
なので%bufとか適当に経由しないといけないのですが、簡潔に済ませる方法はあるんでしょうか?

%buf = &dataset(\%in);
&dbm_w(\%buf, "chardata");
0475nobodyさん02/09/29 11:21ID:???
>>474
dbm_w({ dataset(\%in) }, "chardata");
でどう?

&dataset の仕様がいまいちよく分らないけど。
0476nobodyさん02/09/29 12:12ID:Xgxp2+Gp
変数の宣言をするとき、

my $val = '';

のように書いて初期化しますが、これが複数になったとき、

my ($val,$aaa,$aho) = '';

とやっても、先頭の $val しか初期化されませんよね?だから

my ($val,$aaa,$aho) = ('','','');

と書けばよいかもしれませんが、これだと変数が100個になったら大変なので、
なにかよい方法がないです?
もっとも、変数100個なんて作らないんですが、
なんか、こういう記述って、いやなので、、
スマートな記述キボンヌ
0477nobodyさん02/09/29 12:16ID:???
='' は不要
0478nobodyさん02/09/29 12:20ID:Xgxp2+Gp
>>477
ということは、初期化しなくても、勝手に初期化されるということ?
cとかでは、初期化しないと、ゴミが入ってるじゃん?
perl は my で宣言したときに、ゴミは入らないの?

0479nobodyさん02/09/29 12:41ID:???
>>478
通常は気にせず my $val; でいいが、
「未定義 (undef)」と「空文字列 or 0」は別物なんで注意。

{ my $val; print 1 if defined $val }
{ my $val = undef; print 2 if defined $val }
{ my $val = 0; print 3 if defined $val }
{ my $val = ''; print 4 if defined $val }
{ my($foo, $bar) = ('',''); print 5 if defined $bar }
{ my($foo, $bar) = (); print 6 if defined $bar }
0480nobodyさん02/09/29 14:18ID:???
初期化する必要は無いけど、あえてする場合は
my ($val,$aaa,$aho) = ('')x3;
でどう?
0481nobodyさん02/09/29 15:22ID:???
HTMLファイルをSocketを使ってダウンロードしたいんですが
#!/usr/bin/perl
use Socket;
$port = 80;
$ipaddress = inet_aton("www.asahi.com");
$address = pack_sockaddr_in($port,$ipaddress);
socket(SOCKET,2,1,0);
connect(SOCKET,$address);
select(SOCKET);
$ |= 1;
select(STDOUT);
print SOCKET "GET /index.html HTTP/1.0\r\n";
print SOCKET "HOST: www.asahi.com";
print SOCKET "\r\n\n";
while(<SOCKET>){
print $_;
}
exit;
これで標準出力に表示されるはずなんですが表示されませんどうしてでしょうか?
0482nobodyさん02/09/29 15:30ID:???
print SOCKET "GET /index.html HTTP/1.0\n";
print SOCKET "HOST: www.asahi.com\n";
print SOCKET "\n";
048348102/09/29 15:48ID:???
>>482
すいませんそれで動かないってことはperl自体がおかしいんですかね?
Win32/ActivePerl5.6.1です
0484nobodyさん02/09/29 16:00ID:u41sQpPi
print SOCKET "http://www.asahi.com/index.html HTTP/1.0\r\n";
print SOCKET "\r\n\r\n";
0485nobodyさん02/09/29 16:04ID:u41sQpPi
>>475
希望道理の動作が出来ました。有難うございます。
0486nobodyさん02/09/29 16:05ID:???
>>484
は
print SOCKET "GET http://www.asahi.com/index.html HTTP/1.0\r\n";
print SOCKET "\r\n\r\n";
で。
0487nobodyさん02/09/29 16:16ID:???
>>484,486
 >>483を見なよ、Windows環境だよ。binmode(SOCKET)やってないんだから
 "\r\n" はいかがなものか・・・
0488484=48602/09/29 16:45ID:???
>>487
うちはWindows環境で、binmodeやってないが通ってたりする。。。
っていうかこれは相手サーバに渡す物だから、自分の環境がWinかどうかは関係無いんじゃないんですか?

いやはや無知ですいません。出過ぎましたね。
0489nobodyさん02/09/29 17:30ID:TaQBEb50
昔、2chの流出スクリプトを見たときに
{
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
}
の{}は何を意味しているの?
0490nobodyさん02/09/29 17:34ID:???
>>489
質問の意味がわからないけど、ブロック構造でしょ?

ソースの見栄えをエレガントにしたり、lastとかでブロック抜けしたりも可
if文やforなんかにも使ってるでしょ?
0491 ◆JAPH9PWA 02/09/29 19:03ID:???
>>489
Cだとブロックの先頭でしか変数宣言できないんで、その為にブロックを作ることもあるかと。
0492nobodyさん02/09/29 19:26ID:???
print "何回スーンするんや?";
print (("スン スン ス〜ン♪ ( ゜Д゜)ハッ!!\n") x <STDIN>);
0493nobodyさん02/09/29 19:32ID:???
jcodeを使わずにSJIS判定するにはどうすればいいでしか?
0494nobodyさん02/09/29 20:01ID:???
>>493
この辺を読んで頑張る。
ttp://www.din.or.jp/~ohzaki/perl.htm#Character
ttp://homepage1.nifty.com/nomenclator/perl/shiftjis.htm
0495nobodyさん02/09/29 21:07ID:???
>>494
ども。がんがります
0496nobodyさん02/09/29 21:23ID:TaQBEb50
>>490-491
ありがと。
でも、まだよくわからない。
普通は
if (XX)
{
XXXXXXXXXXXXXXXXXX
}
こんなかんじで条件が入るでしょ。
ところが>>489は条件が無いんだよね。
条件が無いなら、わざわざくくる必要が無いと思うんだけど。
0497nobodyさん02/09/29 21:33ID:???
>>444, >>449
全文検索エンジンならNamazuがいい。
それをまねしてindexファイル作って、高速化汁。
0498nobodyさん02/09/29 22:10ID:???
>>496
局所的な処理がしたいんじゃないの?
たとえば
$a = 1;
{my$a = 'hoge';…}
print $a;
#結果は1
0499 ◆JAPH9PWA 02/09/29 23:34ID:???
> ブロック化
そんな不思議ならその部分だけ出してみれば?
実際のコードを見ないと、それに確かな意味があるのかどうかはコメントできないよ。
0500nobodyさん02/09/30 00:45ID:???
>>487-488
の話はどっちなの?
0501nobodyさん02/09/30 00:54ID:???
HOST:
0502nobodyさん02/09/30 08:11ID:???
> ブロック化
C++等ではすごく一般的なコーディングスタイルで
局所的にしか使わない変数が、他へ漏れない様にするために使う

けど、perlでもそういう使い方なのかは知らない
0503nobodyさん02/09/30 08:58ID:???
Cでは使うけど、C++ではどこでも宣言できるからあまり使えないよな。
0504nobodyさん02/09/30 11:11ID:2MKvRRFx
掲示板を作ってみたのですが、

メイン画面⇒掲示板画面⇒投稿⇒掲示板画面
の順で操作をして最後の『掲示板画面』でブラウザの戻るを押したら
投稿する前の掲示板画面が表示されるのですけれども、メイン画面を表示させたいのです。

どうすればよいでしょうか? ご指導お願いします。
0505nobodyさん02/09/30 11:16ID:???
>503
ダウト

スレ違いなのであまり深くは追求しないけど
宣言できることが重要なんじゃなくて、局所的な変数が他へ漏れない様にするのが重要
あとその局所的なコードを他へコピペするときとか
ブロック化してあるとどこからどこまでコピペすれば良いのか一目瞭然だし
0506nobodyさん02/09/30 11:19ID:???
>504
それが仕様と思って諦める

というか自分で「メイン画面⇒掲示板画面⇒投稿⇒掲示板画面」つーフローを書いておきながら
ブラウザの戻るボタンでメイン画面まで戻そうとする事自体おかしいと気付かないか?

素直に「メイン画面へ戻る」リンクを掲示板画面に付けましょう
0507nobodyさん02/09/30 11:43ID:gw3vjcK1
cgiで任意のサイトのURL(html)を送信したらそのhtmlを
自動で自分のパソコンに保存できるようにしたいのですが
そういうの可能でしょうか。

可能な場合、送信したあと「Webページの保存」のダイアログが出てしまいますか?
できれば送信したら勝手に保存できるのがいいのですが。
0508nobodyさん02/09/30 11:50ID:???
>>507
もちろん可能です。

送信したあとには出ません。
050950402/09/30 12:13ID:2MKvRRFx
メイン画面自体がCGIの場合でも無理でしょうか?
メイン画面⇒[掲示板画面⇒投稿⇒掲示板画面]
と最後の要素をひとくくりにして、ブラウザで戻るでメイン画面に戻る
ことはできないでしょうか?

しつこくてスイマセンが、実際とても困っているので。
0510nobodyさん02/09/30 12:15ID:gw3vjcK1
>>508
おお、素晴らしい。出来るのですね。
ですが、ちょっとどんな風に書いたらいいか想像できないのでヒントか、
それに近い動作をするスクリプトを紹介していただきたいのですが。
0511nobodyさん02/09/30 12:18ID:???
>>509
ブラウザの「戻る」の意味わかってる?
cgiとかそういう話抜きにしてわかってないみたいだね。
0512nobodyさん02/09/30 12:23ID:???
>>509

「戻る」の意味解ってるか?

051351202/09/30 12:25ID:???
5分も遅れてかぶった
スマソ
0514nobodyさん02/09/30 12:27ID:???
>>509
できるよ
0515nobodyさん02/09/30 12:30ID:???
おおっと大胆発言だぁーーー!!
051650402/09/30 12:36ID:2MKvRRFx
>>514
どうすれば、よいのでしょうか?
051751402/09/30 12:40ID:???
[戻る]を右クリックして[メイン画面]を選択する
0518nobodyさん02/09/30 14:02ID:???
>>510
自動は無理と思われ。
とりあえず、URLを入力したら、そこのhtmlを
ファイルに保存するとこから始めてみたら?
それができたら、次はダウンロードにすりゃいい。
0519nobodyさん02/09/30 15:34ID:???
ダイアログも出さずに自動で保存させる事が出来たら
世の中のPCの中は大変な事になってるな。
0520nobodyさん02/09/30 15:36ID:???
>>509
locationで[メイン画面]に飛ばすじゃ駄目なん
どうしても戻るボタンでどうにかしたいなら
全て(または一部)の画面をHTML化すればできるかもしれないけど
■ このスレッドは過去ログ倉庫に格納されています