5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

CGIだけど、なんか質問ある?part4

1 :名無しさん@お腹いっぱい。:01/09/18 18:17 ID:plR9HC2E
print "くだらねぇー質問はココから始めろや!\n";

print<<HTML_END;
<a href="http://corn.2ch.net/test/read.cgi?bbs=php&key=988727833" target="_blank">旧スレ</a>
HTML_END

320 :319:01/10/20 15:26 ID:???
初心者なりの考えで。。

open(LOG, ">> $logfile") || die "開けません.";
flock(LOG,2);
print LOG "$data\n";
flock(LOG,8);
close(LOG);

open(READ,"< $logfile")
flock(READ, 2);
$log_all = <READ>;
flock(READ, 8);
close(READ);

print "$log_all";

識者の方々、どうでしょうか?

321 :名無しさん@お腹いっぱい。:01/10/20 15:37 ID:???
素直なスクリプトだね。
一つだけ。
$log_all = <READ>;
では最初の行しか入らないよ。
@log_all = <READ>; と配列に入れるか。
undef $/; して置く必要がある。

あとは、
flock 解除する必要は無い、closeだけでいい。
読み込みモードで開いたんなら flock(READ, 1) で十分。
って感じかな。
前者については逆に解除するとまずい理由があるんだけどパス。

ただ、open2回は効率が悪い。
+< で開いてopen一回で済ませる方法も考えてみるといいかも。

322 :318ではないですが:01/10/20 17:29 ID:hnM1JpJW
ただ単にファイルの中身を全て表示したいのですが
どうすればいいっすか?

323 :名無しさん@お腹いっぱい。:01/10/20 17:35 ID:???
過去ログを読めばいいっす。

324 :318ではないですが:01/10/20 17:43 ID:hnM1JpJW
旧スレにいくとそんなスレないっていわれました

325 :名無しさん@お腹いっぱい。:01/10/20 17:53 ID:???
>324
HTML化してるだけやん。見れたよ。
Perlなら,とほほに書いてあること一通り読んで。

326 :319:01/10/20 18:01 ID:???
>>321
なるほど…。
というわけで、出直して参りました。
+<に関する情報が思いの外少なくて苦労しました。
ラマ本には載ってないし…。

open(LOG, "+< $logfile") || die "開けません.";
flock(LOG,2);
print LOG "$data\n";
@log_all = <LOG>;
close(LOG);

foreach(0 .. $#log_all){
print "$log_all[$_]\n";
}

ていうか俺は318じゃないのに良いんだろうか?(笑

327 :名無しさん@お腹いっぱい。:01/10/20 18:49 ID:???
>>326
ん、その+<は試してから書いた?
あとforeachは
foreach (@log_all) { print "$_\n" }
だけでいいような。

328 :gorn:01/10/20 18:59 ID:m+yOgEsu
サーバーレンタルしてるんだけど
そことは、ショッピングバスケット使っちゃいけない契約(体言止め)
負荷の問題らしいけど、あんまり掲示板と変わんないよね
それで、文句を言われてもBBSとMailとCountの複合技ですっと言い張れる感じに仕上がる
ショッピングシステムを思案中です
なんかいいアイディア無いですか?
あと、そこのサーバはLinuxなんですけど
MySQLがインストールされているんです
アナウンスされてないけど
勝手に使っていいんでしょうかね

329 :319:01/10/20 19:45 ID:???
>>327
試したらドえらいことに…。
+>>、seekについては、とりあえず意味も分からず
ソースだけ盗んで動くようになりました。
これから勉強してみます。
foreachについては恥ずかしい限りです…。

$logfile = "log";
$data = "hogehoge";
open(LOG, "+>> $logfile");
print LOG "$data\n";
seek(LOG,0,0);
@log_all = <LOG>;
close(LOG);

foreach(@log_all){
print "$_\n";
}

ていうか、スレ違い気味なので今回のは終了にします。
続きがあったらPerl初心者スレでやります。
ありがとうございました。

>>318
なんか横取りみたいでスマソ。

330 :悲惨な294:01/10/20 21:42 ID:???
これで一旦解決と思ったら、またUser-Agent依存の挙動が発見
されました。
PocketIEはレスポンスヘッダに不可した
Refresh; n,URL=ほげほげ
を解釈できないかもしれないです。iPAQユーザから「全くリロード
しなくなった」と報告をうけました。つーことは<META>タグで
埋め込んでやらないと自動リロードしないのかー。

331 :悲惨な294:01/10/20 21:42 ID:???
不可→付加の、まちがいです。

332 :名無しさん@お腹いっぱい。:01/10/21 00:22 ID:???
iPAQまで面倒見てるのか  ヽ(´ー`)ノ
頑張ってくれ。うちはIE4以降onWIN以外無視だからなあ。。

333 :名無しさん@お腹いっぱい。:01/10/21 02:11 ID:FKLL3OSG
みなさんこんばんわ
僕もCGIというのをおぼえようとおもっているのですが
自作のCGiをおける大手プロバイダでおすすめはどこになりますか
ホントはADSLに変えたいのですが高いです
スレちがいですか プロバイダ板はyahoo関係に占領されてたのですが。。。
ちなみにいまはdionのこみこみ20じかんこーすでmacOS9.02です
りゅうこうはPHPをおぼえればイケイケらしいのですが
大手プロバイダでのサポートは少ないらしく
またいかんせんmacOSXでないとダメだそうです
webでざいなーを目指す第いっぽなので
どうかよろしくおねがいします。。。

334 :名無しさん@お腹いっぱい。:01/10/21 02:32 ID:???
とりあえず漢字ぐらい変換できるようになれ。
とりあえず適当な本買って、基礎知識手に入れてからにしな。
あと、デザイナー目指すならデザイン勉強したほうがいいよ。

335 :333:01/10/21 03:57 ID:gzw1ipZQ
すみません。333です。
企業はデザインだけ出来る人よりも、オールマイティーな人材を求めている
と聞いたので、サーバーサイドの基礎知識を少し身に付けたいのです。
デザインはflashやdreamweaverなどで
コードはhtml、javascriptなんかをやりだしたくらいなのですが
CGIのアクセスログなんかを自分で創りたくてウズウズしてます。
だって、そっちの方が面白そうだもの。
自分はどちらかというと面白そうなことなら、まず、実際にやりながら、
参考書片手に勉強というのでなければ続かないたちなので
とりあえず簡単に自作のCGIを動かせる大手プロバイダで
「動いた!」という感動を向上心につなげようと思ってます。
でも、本屋に売ってる本で具体的に初心者におすすめのプロバイダとか
そういう話は当然のってないんですよね。
かなりスレ違いのような気もするので、簡単に
「僕くらいなら当面biglobeで十分ですか?」
「大手のADSLサービスで自作CGIオーケーなとこってあるんですか?」
今はレンタルサーバーとかは考えてません
下の方の質問はここでするのはかなり勇気入りましたです。
とりあえず、上だけでもよろしくお願いします。

336 :名無しさん@お腹いっぱい。 :01/10/21 04:08 ID:???
>>335
とりあえず、自分のPCで動かしてみれば?

337 :名無しさん@お腹いっぱい。:01/10/21 04:10 ID:???
>>333
http://127.0.0.1/

338 :名無しさん@お腹いっぱい。:01/10/21 04:21 ID:???
biglobeってどんなだっけ? w
君はこうしてネットに繋げてる訳だろ?
取り合えずJavaとperlはネットに吐き気がする位ドキュメントが転がってる
まずはGoogleに行きなさい、分からない事が有ったらGoogleにキーワードを入れるだけで
関数一つに至るまで、これでもかという位ヒットする、しかもその結果は重み順に並べられている
ここで聞くといつ答えが有るか解らんだろ?、Googleに行けば1秒で望みのWebがヒットする
馬鹿にされることも無いし、ヒットしたWebは他の目的でもとても有用な事が多い
試しに「無料」「サーバー」「cgi」で検索してみてくれ。

339 :名無しさん@お腹いっぱい。:01/10/21 05:11 ID:???
>>335
>オールマイティーな人材を求めていると聞いたので
聞いた?君はそれを確かめたの?
本当に企業はオールマイティーな人材を求めているの?
実際分業が進んでるところでは、デザイナーには
完全にデザインしかやらせないとこもあるんだよ。
入社したい企業があるのなら、そこに直接電話して
「将来お前のところで働きたいんだけど、どんなデザイナーほしい?」
ぐらい訊く根性見せてくれよ。
ま、Webデザイナーにサーバーサイドの知識があったらあったで
便利なんで適当に勉強してくれや。確かに面白いし。
ただし、器用貧乏にならないようにな。
勉強する程度ならbiglobe(あれdionじゃないの?)でも十分だ。

とにかく、自分で判断・確認しなよ。
他人の言うことを鵜呑みにするな。俺の言うこともな。

340 :名無しさん@お腹いっぱい。:01/10/21 08:16 ID:???
ファイルアップロードに付いてですが、
例えばform multi/part で1MBのファイルをアップロードしたとすると
ファイルが完全にアップロードされてから、STDINとApacheとのストリームが結びつく
んでしょうか。それともバッファ分に分割されて順次STDINに入ってくるんでしょうか
後、どこかでpostメソッドの上限は128kbと書かれてたんですが、これはmulti/partの
場合には当て嵌まりませんか? 下らない事ですが、FTPと比べてメモリを大量に消費する
様なら良くないかと気になってしまって、、

341 :333:01/10/21 09:44 ID:WcdX3zQj
>>336>>338>>339
助言ありがとうございます。
とりあえず、自作CGIオーケーのbiglobeにでものりかえて実際に勉強しようと
思います。
>ただし、器用貧乏にならないようにな。
あぁ、たしかにそういうこともありがちかもしれませんねぇ。
よく、覚えておきたいです。みなさんありがとうございました。

342 :名無しさん@お腹いっぱい。:01/10/21 18:00 ID:???
$logfile = "data";
open(FH, "$logfile");
@log = <FH>;
foreach $all (@log) {
print $all;
}
close(IN);

とうのを作ったのですがブラウザ上に表示するにはどうすればいいのでしょうか?

343 :名無しさん@お腹いっぱい。:01/10/21 18:08 ID:???
print "Content-type: text/html\n\n";



close(FH);

344 :名無しさん@お腹いっぱい。:01/10/21 19:22 ID:???
>343
どこにprint "Content-type: text/html\n\n";を入れるんですか?

345 :名無しさん@お腹いっぱい。:01/10/21 19:26 ID:???
>344
http://tohoho.wakusei.ne.jp/www.htm
まずここで基本から勉強して来た方がいいよ。

http://tohoho.wakusei.ne.jp/wwwcgi6.htm
ここにはWinでCGIのテストをする方法も載ってる。
くれぐれもWebサーバー上でテストはしないでくれ。

346 :名無しさん@お腹いっぱい。:01/10/21 19:27 ID:???
やったね! ^o^)ノ~~~

347 :名無しさん@お腹いっぱい。:01/10/21 19:27 ID:???
はやく教えてくださいっ!!!

348 :名無しさん@お腹いっぱい。:01/10/23 01:24 ID:???
>>347
何をよ?

349 :名無しさん@お腹いっぱい。:01/10/24 03:04 ID:K36o4fv/
無限世代で返信できる掲示板を作っているのですが
後ちょっとのところで出来ません
スレにつき一個のログ作ってますんで
openしたらあとはそれを並び替えるて書き込むだけなんですが
ちゃんと並んでくれません(書き込み時に並べる方針をとってます)
ログにはその記事のナンバーと返信元のナンバーなどが記録されています
どうか教えてください

350 :名無しさん@お腹いっぱい。:01/10/24 03:19 ID:???
>>349
@ary = (0..20);
@ary1 = sort {$a <=> $b} @ary;
@ary2 = sort @ary;

@ary1と@ary2の違いはわかってるよな?

351 :名無しさん@お腹いっぱい。:01/10/24 17:33 ID:uoazam2k
一対一で会話中は他の人に見られなくて
客が言葉を教えられるような
人口無能チャットありませんか?

352 :名無しさん@お腹いっぱい。:01/10/24 17:37 ID:???
>>347 は人口無能

353 :名無しさん@お腹いっぱい。:01/10/24 17:40 ID:???
>351
板違いだよ
探してくくれる板に行け

354 :名無しさん@お腹いっぱい。:01/10/24 17:47 ID:???
>板違いだよ

スレ違いだろ

355 :名無しさん@お腹いっぱい。:01/10/26 00:39 ID:6VKZEJwr
IEだと化けないのですが、Netscapeだと化けてしまいます。
HTMLが間違っているのかと思い、NNで保存して、それを
読ませると問題ありません。

試しに

print "Content-Type: text/html\n\n";
print "<html><head></head><body>\n";
print "ほえほえ\n";

だけやってみました EUC、SJISどちらも化けます。

どうも昔から NNは CGIの出力だと化けるように思えるのですが…。

356 :名無しさん@お腹いっぱい。:01/10/26 00:47 ID:???
>355
METAタグで文字コードを指定したら?

357 :名無しさん@お腹いっぱい。:01/10/26 00:49 ID:???
テキストファイルの一番上にデータを保存するにはどうしたらいいんでしょうか。
下のやりかたで出来そうなんですが、あまりきれいじゃないので・・・。

open(IN, $datafile);
my @alldata = <IN>;
close(IN);

unshift(@alldata, $newdata);

open(OUT, ">$datafile");
foreach(@alldata){print OUT;}
close(OUT);

358 :名無しさん@お腹いっぱい。:01/10/26 00:51 ID:6VKZEJwr
>>356
もちろんそれも試しました。

<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.01//EN">
<META HTTP-EQUIV=Content-Type CONTENT=text/html; charset=Shift_JIS>

ブラウザでキャラセット変更してもダメなのです。(TДT)

359 :名無しさん@お腹いっぱい。:01/10/26 00:54 ID:???
>357
追記保存にしてreverseするってのが一般的かな?

360 :名無しさん@お腹いっぱい。:01/10/26 02:23 ID:wndpF29s
>>355
使ってるサーバどこ

361 :名無しさん@お腹いっぱい。:01/10/26 08:49 ID:???
>>358
print "Content-Type: text/html; charset=Shift_JIS\n\n";

362 :名無しさん@お腹いっぱい。:01/10/26 08:51 ID:???
>>357
print OUT @alldata;

foreach する必要なし。

363 :教えてください:01/10/26 19:13 ID:lq1ms3Dt
最近ホームページ作りを始めた超初心者です。

フォーム中のテキストフィールドにパスワードを入力して、それを
CGIプログラムに渡す時、"/cgi-bin/login.cgi&passwd=xxx"が
ブラウザのアドレスに出てきてしまいますよね。

この"passwd=xxx"の部分を、なんとか隠す方法ってないもんでしょうか?

初歩的な質問で、ホントにすみませんが、よろしくお願いします。

364 :名無しさん@お腹いっぱい。:01/10/26 19:18 ID:???
>>363
"form メソッド post"で検索してみましょう。

365 :どうも!:01/10/26 19:44 ID:lq1ms3Dt
>364 ありがとうございます。やってみます。

366 :名無しさん@お腹いっぱい。:01/10/27 18:36 ID:???
age

367 :質問させて:01/10/27 21:03 ID:7BskCaCJ
マイヤフーなんかで、ユーザIDとパスワードを入力してログイン
すると、途中で他サイトのページにいっても、そのIDとパスワードを
保持してますよねえ。これって、どんなテクニックを使ってるのだろ?

368 :名無しさん@お腹いっぱい。:01/10/27 21:10 ID:???
たぶんくっきー

369 :名無しさん@お腹いっぱい。:01/10/27 21:45 ID:???
ついでだから訊きたいんだけど、クッキーのビスケットの違いはどこにあるの?

107 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)