#!/usr/bin/perl use warnings; # 警告表示 # use strict; # 構文チェック # # # require './jcode.pl'; # for Shift-Jis # # # # Read Cookie *************************************************## Cookieの内容を読込む # my $cv = ""; # クッキーのデータ行を格納する # my $cname = ""; # クッキーに保存された名前 # my $curl = ""; # クッキーに保存されたURL # my $cmssid = ""; # クッキーに保存されたID # my $nouse = ""; # ゴミデータの処理 # # # $cv = $ENV{'HTTP_COOKIE'}; # (あなたの)環境変数, クッキーの内容を変数に読込む # # # ($cname, $curl, $cmssid, $nouse) = split( /#@#/, $cv ); # クッキーの内容を各変数に格納 # # # if( (index( $curl, 'http://' )) < 0 ) # 入力文字列が"http://"以外で始まるかどうか # { # 入力文字列が"http://"以外で始まる場合 # $curl = 'http://'; # デフォルトで"http://" # } # # # # unless( defined $cmssid || $cmssid ne "" ) # 入力IDが未定義または空白かどうか # { # 入力IDが未定義または空白の場合 # $cmssid = 1; # デフォルトで"1" # } # # #/Read Cookie *************************************************## # # Read Log ****************************************************## ログファイルを読込む # my @reada = (""); # ログファイルの内容を格納する # # # open( LOGR, "<./filelog.txt" ) # ログファイルをオープン # or print "Location: http://bj006.com/cgi/error2.htm"."\n\n"; # 失敗時はエラーページ2(内部エラー)へジャンプ # flock( LOGR, 1 ) # 共有ロック # or print "Location: http://bj006.com/cgi/error2.htm"."\n\n"; # 失敗時はエラーページ2(内部エラー)へジャンプ # @reada = ; # ログファイルの内容を行ごとに配列に格納 # close LOGR; # ファイルクローズ # #/Read Log ****************************************************## # # HTML Front **************************************************## HTML前半部出力 # print 'Content-type: text/html'."\n\n"; # HTML出力 # # # print < uploader

bj006.com File Uploader

Name:
Comment:
File:
Password:
URL:
ID: (input 1-1024)

-HOME- このアップローダについての説明

HF #/HTML Front **************************************************## # # Query *******************************************************## クエリ判定部 # my $qkey = ""; # クエリのキー値 # my $page = 0; # クエリのページ指定値 # # # unless( defined $ENV{'QUERY_STRING'} ) # クエリがないかどうか # { # クエリがない場合 # $page = 0; # 最新ページを表示 # } # # else # クエリがある場合 # { # # ($qkey, $page) = split( /=/, $ENV{'QUERY_STRING'} ); # クエリを取得 # } # # #/Query *******************************************************## # # HTML Log ****************************************************## HTML出力 ログ部 # my $cnt = @reada; # 書込み件数取得 # my $n = 0; # ページ毎出力件数カウント用 # my $no = ($cnt - 10 * $page); # ログ件端数 最終ページに対応 # # # my $name = ""; # 名前 # my $subject = ""; # タイトル # my $filename = ""; # ファイル名 # my $url = ""; # URL # my $mssid = 0; # ID # my $time = ""; # 書込み時刻 # my $size = 0; # ファイルサイズ # my $ipaddr = ""; # IPアドレス # my $host = ""; # ホスト名 # # # while( $no > 0 && $n < 10 ) # ログ出力は1ページ10件まで, ログがなくなれば終了 # { # # ($name, $subject, $filename, $size, $url, $mssid, $time, # ログの内容を各変数に格納 # $ipaddr, $host, $nouse) = split( /#@#/, $reada[$no - 1] ); # # $n++; # 出力件数カウントアップ # # # print < '."\n"; # HTML出力 # #/Log Process *************************************************## # print < END #/HTML Log ****************************************************## # exit;
No.$no $name ($mssid) "$subject" $url $time
$filename : size = $size byte
HL $no--; # ログ件端数カウントダウン # } # # # Log Process *************************************************## 過去ログページへのリンク出力 # print <
[NEWEST] Log → LOG # # $page = 1; # 全ログ表示に必要なページ数 == ページ番号 # while( ($cnt - $page * 10) > 0 ) # より古いログが存在する # { # # print '['. # # "$page". # ぺージ番号を表示に # '] '; # HTML出力終了 過去ログへのリンク部 # $page++; # ページ番号カウントアップ # } # # print '
Copyright © 2005-2008 baje, All rights reserved.