したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

プログラムスレッド

1女傑 ◆nDpXSJz8i.:2012/03/04(日) 04:40:34
システム再起動用のプログラムを書いてみた。コンパイル&リン
クテストしてないので、ちゃんと動くかどうか心配だ。

#include <windows.h>
#include <tchar.h>

int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
SYSTEMTIME st;
GetSystemTime(&st);
if(st.wYear != 2012 || st.wMonth != 3 || st.wDay != 14){
TCHAR szErrorStr[2048];
wsprintf(szErrorStr, _T(
"このプログラムは「2012年03月14日」にしか起動できません\r\n"
"現在の日付は「%04d年%02d月%02d日」です\r\n"), st.wYear, st.wMonth, st.wDay);
MessageBox(GetActiveWindow(), szErrorStr, _T("Error"), MB_OK);
return 0;
}
{
HANDLE Mutex = CreateMutex(NULL, false, "Mutex");
if (Mutex == NULL) return 0;
if ( GetLastError() == ERROR_ALREADY_EXISTS){
return 0;
}
{
OSVERSIONINFO osinfo = {0};
osinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osinfo);
if(osinfo.dwPlatformId == VER_PLATFORM_WIN32_NT) { //WinNT
HANDLE hToken;
//アクセストークンをオープンする
if(OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) {
LUID luid;
if(LookupPrivilegeValue(TEXT(""), SE_SHUTDOWN_NAME, &luid)) {
//SE_SHUTDOWN_NAME 特権を有効にする
TOKEN_PRIVILEGES tokenPrivileges = {0};
tokenPrivileges.PrivilegeCount = 1;
tokenPrivileges.Privileges[0].Luid = luid;
tokenPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if(AdjustTokenPrivileges(hToken, FALSE, &tokenPrivileges, NULL, NULL, NULL)) {
if(GetLastError() == ERROR_SUCCESS) {
ExitWindowsEx(EWX_REBOOT, 0);
}
}
}
CloseHandle(hToken);
}
}
else { //Windows
ExitWindowsEx(EWX_REBOOT, 0);
}
CloseHandle( Mutex);
return 0;
}
}

2女傑 ◆nDpXSJz8i.:2012/03/05(月) 14:32:08 ID:hQMLjY7Y0
BIG-serverさんの携帯固有番号取得のページを参考にして、環境変数を
表示するCGI(Perl)スクリプトを作ってみました。
まだまだ開発段階であり、今のところ一般公開できるのが今回のプロト
タイプ(α版)のみになります。

#! /usr/local/bin/perl

$imode = imodechk();
if ($imode eq 'guid=on') { $refne = $imode;}
else { $refne = referer_name(); }
($i,$user) = split(/=/,$refne);

print "Location: http://xxxxxxx.com/&quot; . "ipcheck.cgi?$refne\n\n";


sub imodechk
{
local $name;

$_ = $ENV{'REMOTE_ADDR'};

if (/210.153.84.0/i) { $name = "guid=on"; }
elsif (/210.136.161.0/i) { $name = "guid=on"; }
elsif (/210.153.86.0/i) { $name = "guid=on"; }
elsif (/124.146.174.0/i) { $name = "guid=on"; }
elsif (/124.146.175.0/i) { $name = "guid=on"; }
elsif (/202.229.176.0/i) { $name = "guid=on"; }
elsif (/210.153.86.0/i) { $name = "guid=on"; }
elsif (/202.229.176.0/i) { $name = "guid=on"; }
elsif (/202.229.177.0/i) { $name = "guid=on"; }
elsif (/202.229.178.0/i) { $name = "guid=on"; }
elsif (/203.138.180.0/i) { $name = "guid=on"; }
elsif (/203.138.181.0/i) { $name = "guid=on"; }
elsif (/203.138.203.0/i) { $name = "guid=on"; }
elsif (/210.153.84.0/i) { $name = "guid=on"; }
elsif (/210.153.86.0/i) { $name = "guid=on"; }
elsif (/124.146.174.0/i) { $name = "guid=on"; }
elsif (/124.146.175.0/i) { $name = "guid=on"; }
elsif (/202.229.176.0/i) { $name = "guid=on"; }
elsif (/202.229.177.0/i) { $name = "guid=on"; }
elsif (/202.229.178.0/i) { $name = "guid=on"; }
elsif (/210.153.87.0/i) { $name = "guid=on"; }
else { $name = ""; }

return $name;
}

sub referer_name
{
local $name;

$_ = $ENV{'HTTP_REFERER'};

if (/yahoo/i) { $name = "0101"; }
elsif (/msn/i) { $name = "0202"; }
elsif (/xxxxx.com/i) { $name = "0000"; }
else { $name = ""; }

return $name;
}

3女傑 ◆nDpXSJz8i.:2012/03/05(月) 14:33:21 ID:hQMLjY7Y0
>>2
の続きです。

#!/usr/bin/perl

$act = $ENV{'QUERY_STRING'};
$act =~ s/\.//g; # 安全対策
$act =~ s/\///g;
$act =~ s/&/&/g;
$act =~ s/"/"/g;
$act =~ s/</</g;
$act =~ s/>/>/g;

$lll = referer_name();
$os = get_os_name();
$addr = $ENV{'REMOTE_ADDR'};
$addr =~ s/(\d+)\.(\d+)\.(\d+)\.(\d+)/$1.***.$3.***/g;
$host = gethostbyaddr(pack("C4", split(/\./, $ENV{'REMOTE_ADDR'})), 2);
$host =~ tr/0-9/*/;
$ID = $ENV{'HTTP_X_DCMGUID'};
$ID = $ENV{'HTTP_X_UP_SUBNO'};
my $UA = $ENV{'HTTP_USER_AGENT'};
my $ID = '';
if ($UA =~ /^J-PHONE|^Vodafone|^SoftBank/) {
if ($UA =~ /\/SN([A-Za-z0-9]+)\ /) {
$ID = $1;
}
}
if ($ID eq '') { $ID = "携帯ではない";}
$makerID = "携帯の識別番号 ".$ID;

print "Content-type: text/html\n\n";
print "<html><head>\n";
print '<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">' . "\n";
print "<title>IPcheck</title></head>\n";
print "<body>\n";
print "リモートアドレス $addr<br>\n";
print "OSの名称 $os<br>\n";
print "$makerID<br>\n";
print "アクセス元分析 $lll<br>\n";
print "リモートホスト $host<br>\n";
print "</body></html>\n";

exit;

sub get_os_name
{
local $name;

$_ = $ENV{"HTTP_USER_AGENT"};

if (/Windows/i) { $name = "Windows"; }
elsif (/Mac/i) { $name = "MacOS"; }
elsif (/Linux/i) { $name = "Linux"; }
else { $name = "unknown"; }

return $name;
}

sub referer_name
{
local $name;

$_ = $ENV{'QUERY_STRING'};

if (/guid=on/i) { $name = "DOCOMO携帯"; }
elsif (/0101/i) { $name = "xxxxxx"; }
elsif (/0202/i) { $name = "xxxxxx"; }
elsif (/0000/i) { $name = "私のとこからやな。<br>ありがとー"; }
else { $name = "アクセス元不明"; }

return $name;
}

4女傑 ◆nDpXSJz8i.:2012/03/09(金) 14:37:14 ID:hQMLjY7Y0
#include <windows.h>

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
HANDLE Mutex = CreateMutex(NULL, false, "Mutex");
if (Mutex == NULL) return 0;
if ( GetLastError() == ERROR_ALREADY_EXISTS){
return 0;
}

{
HINSTANCE hInst = ShellExecute(NULL, "open", "http://www.msn.jp/&quot;, NULL, NULL, SW_SHOWNORMAL);
if(hInst<(HINSTANCE)32)
{
// 32未満の時は起動に失敗
}
{
// SNAPSHOT押下
keybd_event( VK_SNAPSHOT, 0, 0, 0 );
keybd_event( VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0 );

return 0;
}
}
MessageBox(NULL,"ダイアログ表示","ダイアログ",MB_OK);

CloseHandle( Mutex);
return 0;
}

5女傑 ◆nDpXSJz8i.:2012/03/09(金) 14:37:45 ID:hQMLjY7Y0
#include <windows.h>
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
HANDLE Mutex = CreateMutex(NULL, false, "Mutex");
if (Mutex == NULL) return 0;
if ( GetLastError() == ERROR_ALREADY_EXISTS){
return 0;
}
{
MessageBox(0, "Hello, World!", "Welcome", MB_OK);

CloseHandle( Mutex);
return 0;
}
}

6女傑 ◆nDpXSJz8i.:2012/03/10(土) 21:57:58 ID:hQMLjY7Y0
Perlスクリプト上で、任意の名前を付けたHTML形式のファイ
ルを出力させる方法を考えてみました。
(!open(ハンドル名の後に>を付けると上書きされ、>>を付ける
とprint out〜の項目が追記されて保存されるようです。
また、<だとファイルの読み込みを行うようです。

#重複チェック
if (-e "./data/$FORM{'id'}\.htm") { &error(); }

#新規開設
if (!open(OUT,"> ./data/$FORM{'id'}\.htm")) { &error(); }
print OUT "<html<head></head><body>\n";
print OUT "</body></html>\n";
close(OUT);
chmod(0666,"./data/$FORM{'id'}\.htm");

7女傑 ◆nDpXSJz8i.:2012/03/10(土) 23:28:20 ID:hQMLjY7Y0
>>6
の続き
読み込み・書き込みモードでファイル操作を行うパターン
と、sendmailを利用してメール送信を行うパイプ入出力の
パターンです。

読み込みモードでオープン open (FH, "file")
open (FH, "< file")
上書きモードでオープン open (FH, "> file")
追加書き込みモードでオープン open (FH, ">> file")
読み書き両用モードでオープン open (FH, "+> file")
open (FH, "+< file")
パイプ出力用でオープン open (FH, "| コマンド")
パイプ入力用でオープン open (FH, "コマンド |")

8女傑 ◆nDpXSJz8i.:2012/03/11(日) 03:51:42 ID:hQMLjY7Y0
一応、動くスクリプトを書いてみました。引数による個別表示をするスクリプト
にするにはもう一工夫しないといけませんね^^;

if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }

if ($buffer eq "") { &error; }

@pairs = split(/&/,$buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$value =~ s/</</g;
$value =~ s/>/>/g;
}

open(IN,"log.txt");
@lines = <IN>; $pass = shift(@lines);
close(IN);
($01, $02) = split(/,/, $pass);

print "Content-type: text/html\n\n";
print <<"EOF";

<html><head><title>$01</title></head>
<body>
<h1>$02</h1>
</body></html>

EOF

exit;

sub error {

print "Content-type: text/html\n\n";
print '<html><head><title>エラー</title></head>' . "\n";
print "<body>\n";
print "<h3>エラー</h3>\n";
print '<p></body></html>' . "\n";
exit;
}

9女傑 ◆nDpXSJz8i.:2012/03/11(日) 06:42:11 ID:hQMLjY7Y0
if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }

if ($buffer eq "") { &error; }

@pairs = split(/&/,$buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$value =~ s/</</g;
$value =~ s/>/>/g;
}

open(IN,"log.txt");
@lines = <IN>; $pass = shift(@lines);
close(IN);

($01, $02, $03) = split(/,/, $pass);
$datas{$01} = [$02, $03];

print "Content-type: text/html\n\n";
print <<"EOF";

<html><head><title>$02</title></head>
<body>
<h1>$03</h1>
</body></html>

EOF

exit;

sub error {

print "Content-type: text/html\n\n";
print '<html><head><title></title></head>' . "\n";
print "<body>\n";
print "<h3></h3>\n";
print '<p></body></html>' . "\n";
exit;
}

10女傑 ◆nDpXSJz8i.:2012/03/13(火) 15:55:01 ID:hQMLjY7Y0
文字列をindexfuncを用いてインデックス検索し、substrfuncを用い
表示させると上手くいくかな???

$0011 = "ABCDEF";
$0002 = "AB";

$mojiretsu = index ($0011, $0002);

11女傑 ◆nDpXSJz8i.:2012/03/14(水) 23:44:17 ID:hQMLjY7Y0
こんな感じで簡単な商品データベースを作りました。

//written by Jyoketsu

#!/usr/bin/perl

if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }

if ($buffer eq "") { &error; }

@pairs = split(/&/,$buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$value =~ s/</</g;
$value =~ s/>/>/g;
}

$act = $ENV{'QUERY_STRING'};

$file = "./$act\.cgi";
if (!-e $file) { &error; }
if (!open(DB,"$file")) { &error; }
@lines = <DB>;
close(DB);
$youso = shift(@lines);
chop($youso) if $youso =~ /\n$/;
($01,$02,$03,$04,$05,$06,$07) = split(/,/,$youso);

push(@lines,"$act $01,$02,$03,$04,$05,$06,$07\n");

print "Content-type: text/html\n\n";
print <<"EOF";

<html><head><title>$01$02のページ</title></head>
<body bgcolor=#$06>
<font>メーカー:$01</font><br>
<font>商品名:$02</font><br>
<font>容量:$03</font><br>
<font>入数:$04</font><br>
<font>販売期限:$05</font><br>
<img src=./barcode.php?code=$07&encoding=EAN&scale=1&mode=jpg>
</body></html>

EOF

exit;

sub error {

print "Content-type: text/html\n\n";
print '<html><head><title>エラー</title></head>' . "\n";
print "<body>\n";
print "<h3>エラー</h3>\n";
print '<p></body></html>' . "\n";
exit;
}

データファイル
,で区切ったファイル
拡張子cgi

12女傑 ◆nDpXSJz8i.:2012/03/14(水) 23:52:16 ID:hQMLjY7Y0
キャリッジリターンやラインフィードの処理(エスケープシー
ケンス)、バッファ領域を侵害するような可能性のあるタグの
処理がきっちり出来てるかが少し心配・・・
lengthなどの関数で文字列の最大数を決めておく方が良いだろ
うか?

13女傑 ◆nDpXSJz8i.:2012/03/16(金) 05:16:37 ID:hQMLjY7Y0
#!/usr/bin/perl

if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }

if ($buffer eq "") { &error; }

@pairs = split(/&/,$buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$value =~ s/</</g;
$value =~ s/>/>/g;
}

if ($ENV{'REQUEST_METHOD'} eq "POST") { $file = "./$value\.cgi"; }
else { $file = "./$buffer\.cgi"; }

if (!-e $file) { &error; }
if (!open(DB,"$file")) { &error; }
@lines = <DB>;
close(DB);
$youso = shift(@lines);
chop($youso) if $youso =~ /\n$/;
($01,$02,$03,$04,$05,$06,$07) = split(/,/,$youso);

push(@lines,"$act $01,$02,$03,$04,$05,$06,$07\n");

print "Content-type: text/html\n\n";
print <<"EOF";

<html><head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-JP">
<title>$01$02のページ</title></head>
<body bgcolor=#$06>
<center><caption>$01$02</caption></center><br>
<table border=5 width=250 align=center>
<tr bgcolor="#cccccc">
<th>要素</th>
<th>数値</th>
</tr>
<tr align=center>
<td>メーカー</td>
<td>$01</td>
</tr>
<tr align=center>
<td>商品名</td>
<td>$02</td>
</tr>
<tr align=center>
<td>容量</td>
<td>$03</td>
</tr>
<tr align=center>
<td>入数</td>
<td>$04</td>
</tr>
<tr align=center>
<td>販売期限</td>
<td>$05</td>
</tr>
</table>
<br>
<table align=center>
<tr align=center>
<td><img src=./barcode.php?code=$07&encoding=EAN&scale=1&mode=jpg></td>
</tr>
<tr align=center>
<td><img src=https://chart.googleapis.com/chart?cht=qr&amp;chs=128x128&amp;chl=$02+$07&amp;choe=UTF-8&amp;chld=L|2></td>
</tr>
</table>
</body></html>

EOF

exit;

sub error {

print "Content-type: text/html\n\n";
print <<"EOF";

<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-JP">
<title>エラー</title></head>
<body>
<h3>エラー</h3>
<p></body></html>

EOF

exit;

}

14女傑 ◆nDpXSJz8i.:2012/03/18(日) 23:15:46 ID:hQMLjY7Y0
sub kazukeisan
{
local $name;

$_ = $04;
$_ =~ s/[^0-9A-Za-z ]/ /g;

if (/12/i) { $name = "(1ダース)"; }
elsif (/24/i) { $name = "(2ダース)"; }
elsif (/36/i) { $name = "(3ダース)"; }
elsif (/48/i) { $name = "(4ダース)"; }
elsif (/60/i) { $name = "(5ダース)"; }
elsif (/72/i) { $name = "(6ダース)"; }
elsif (/84/i) { $name = "(7ダース)"; }
elsif (/96/i) { $name = "(8ダース)"; }
elsif (/108/i) { $name = "(9ダース)"; }
elsif (/120/i) { $name = "(10ダース)"; }
elsif (/132/i) { $name = "(11ダース)"; }
elsif (/144/i) { $name = "(1グロス)"; }
elsif (/156/i) { $name = "(13ダース)"; }
else { $name = ""; }

return $name;
}

15女傑 ◆nDpXSJz8i.:2012/03/19(月) 01:45:46 ID:hQMLjY7Y0
#! /usr/local/bin/perl

$act = $ENV{'QUERY_STRING'};
$ENV{'QUERY_STRING'} =~ s/\.//g; # 安全対策
$ENV{'QUERY_STRING'} =~ s/\///g;
($i,$q) = split(/=/,$buffer);
print "Location: http://www.geocoding.jp/&quot; . "?$act\n\n";

if ($act eq "") { &error("引数が不正です"); }
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
# タグ処理
$q =~ s/&/&/g;
$q =~ s/"/"/g;
$q =~ s/</</g;
$q =~ s/>/>/g;

# 改行処理
$q =~ s/\r\n/<br>/g;
$q =~ s/\r/<br>/g;
$q =~ s/\n/<br>/g;



($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$time = time;
@mon_array = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
@wday_array = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
$date_now = sprintf("%s, %02d %s %04d %02d:%02d:%02d +0900 (JST)",$wday_array[$wday],$mday,$mon_array[$mon],$year +1900,$hour,$min,$sec);

if (length($FORM{'q'}) > 2) { &error("引数が不正です"); }
# ログファイルに記録する
$log = "./data/acclog.cgi";
$addr = $ENV{'REMOTE_ADDR'};
$useragent = $ENV{"HTTP_USER_AGENT"};

open(OUT,">> $log");
print OUT "$addr<>$act\n";
close(OUT);

16女傑 ◆nDpXSJz8i.:2012/03/19(月) 03:22:38 ID:hQMLjY7Y0
foreach $youso (@lines)
{
if ($youso =~ /$act/i) #マッチしたら以下の処理を実行
{
($01,$02,$03,$04,$05,$06,$07) = split (/,/,$youso);
}
}

17女傑 ◆nDpXSJz8i.:2012/03/19(月) 23:42:34 ID:hQMLjY7Y0
flock(DB, LOCK_EX);
if (!open(DB,"$file")) { &error; }
@lines = <DB>;
close(DB);
flock(DB, LOCK_NB);

18女傑 ◆nDpXSJz8i.:2012/03/20(火) 23:05:16 ID:hQMLjY7Y0
何とか使える?サブルーチンが出来上がりました。

sub kazukeisan
{
local $name;

$_ = $04;
$_ =~ s/[^0-9 ]/ /g;
$dasu = $_ / 12;
$gurosu = $_ / 144;

if (/144|288|432/i) { $name = "($gurosuグロス)"; }
elsif (/12|24|36|48|60|72|84|96|108|120|132|156/i) { $name = "($dasuダース)"; }
else { $name = ""; }

return $name;
}

19女傑 ◆nDpXSJz8i.:2012/03/22(木) 00:11:59 ID:hQMLjY7Y0
sub kazukeisan
{
local $name;

$_ = $04;
$_ =~ s/[^0-9 ]/ /g;
$dasu = $_ / 12;
$gurosu = $_ / 144;

if ($_ % 144 == 0) { $name = "($gurosuグロス)"; }
elsif ($_ % 12 == 0) { $name = "($dasuダース)"; }
else { $name = ""; }

return $name;
}

20女傑 ◆nDpXSJz8i.:2012/04/01(日) 14:13:15 ID:hQMLjY7Y0
住所や郵便番号のグーグルマップとの連携

http://maps.google.com/maps/api/staticmap?center=%E6%97%A5%E6%9C%AC,%20%E4%BA%AC%E9%83%BD,%20%E5%A4%A7%E5%BE%B3%E5%AF%BA&amp;markers=%E6%97%A5%E6%9C%AC,%20%E4%BA%AC%E9%83%BD,%20%E5%A4%A7%E5%BE%B3%E5%AF%BA&amp;zoom=18&amp;size=400x400&amp;sensor=false

http://maps.google.com/maps/api/staticmap?center=%E6%97%A5%E6%9C%AC,%20%E5%A4%A7%E9%98%AA,%20%E9%80%9A%E5%A4%A9%E9%96%A3&amp;markers=%E6%97%A5%E6%9C%AC,%20%E5%A4%A7%E9%98%AA,%20%E9%80%9A%E5%A4%A9%E9%96%A3&amp;zoom=17&amp;size=400x400&amp;sensor=false

21女傑 ◆nDpXSJz8i.:2012/04/01(日) 14:54:31 ID:hQMLjY7Y0
今宮神社

http://maps.google.com/maps/api/staticmap?center=%E4%BA%AC%E9%83%BD,%20%E5%8C%97%E5%8C%BA,%20%E4%BB%8A%E5%AE%AE%E7%A5%9E%E7%A4%BE&amp;markers=%E4%BA%AC%E9%83%BD,%20%E5%8C%97%E5%8C%BA,%20%E4%BB%8A%E5%AE%AE%E7%A5%9E%E7%A4%BE&amp;zoom=13&amp;size=200x200&amp;sensor=false

22女傑 ◆nDpXSJz8i.:2012/04/04(水) 23:24:40 ID:hQMLjY7Y0
Google検索用参考URI

http://maps.google.co.jp/maps?q=shop99&amp;hnear=%E4%BA%AC%E9%83%BD%E5%B8%82&amp;ie=UTF8&amp;hq=shop99&amp;output=embed

23女傑 ◆nDpXSJz8i.:2012/04/07(土) 17:42:26 ID:hQMLjY7Y0
ニューヨークブルックリン市街の静的マップ

http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&amp;zoom=14&amp;size=512x512&amp;maptype=roadmap
&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318
&markers=color:red%7Ccolor:red%7Clabel:C%7C40.718217,-73.998284&sensor=false

24女傑 ◆nDpXSJz8i.:2012/04/07(土) 18:44:28 ID:hQMLjY7Y0
金閣寺・衣笠方面

http://maps.google.com/maps/api/staticmap?center=%E4%BA%AC%E9%83%BD,%20%E9%87%91%E9%96%A3%E5%AF%BA&amp;markers=color:green|label:A|%E4%BA%AC%E9%83%BD,%20%E9%87%91%E9%96%A3%E5%AF%BA%7C%E4%BA%AC%E9%83%BD,%E8%A1%A3%E7%AC%A0%E5%B1%B1&zoom=12&size=500x500&sensor=false

25女傑 ◆nDpXSJz8i.:2012/04/07(土) 18:50:34 ID:hQMLjY7Y0
京都市のマップ(スクリプト不使用)

http://maps.google.com/maps/api/staticmap?center=%E4%BA%AC%E9%83%BD&amp;markers=color:green|label:D|%E5%A4%A7%E6%96%87%E5%AD%97%E5%B1%B1&markers=color:blue|label:K|%E4%BA%AC%E9%83%BD%E5%B8%82&zoom=12&size=500x500&sensor=false

26女傑 ◆nDpXSJz8i.:2012/04/07(土) 19:07:25 ID:hQMLjY7Y0
京都市の色分けマップ

http://maps.google.com/maps/api/staticmap?center=%E4%BA%AC%E9%83%BD&amp;markers=color:purple|label:D|%E5%B1%B1%E7%A7%91%7C%E4%BA%AC%E9%83%BD%E5%B8%82%E5%8C%97%E5%8C%BA%7C%E4%BA%AC%E9%83%BD%E5%B8%82%E5%8D%97%E5%8C%BA%7C%E4%BA%AC%E9%83%BD%E5%B8%82%E5%8F%B3%E4%BA%AC%E5%8C%BA%7C%E4%BA%AC%E9%83%BD%E5%B8%82%E8%A5%BF%E4%BA%AC%E5%8C%BA%7C%E4%BA%AC%E9%83%BD%E5%B8%82%E4%BC%8F%E8%A6%8B%E5%8C%BA%7C%E4%BA%AC%E9%83%BD%E5%B8%82%E6%9D%B1%E5%B1%B1%E5%8C%BA&markers=color:orange|label:M|%E4%BA%AC%E9%83%BD%E5%A4%A7%E5%AD%A6&markers=color:blue|label:K|%E4%BA%AC%E9%83%BD%E5%B8%82%7C%E4%BA%AC%E9%83%BD%E5%BA%9C&zoom=12&size=700x700&sensor=false

27女傑 ◆nDpXSJz8i.:2012/04/07(土) 23:43:10 ID:hQMLjY7Y0
http://maps.google.com/maps/api/staticmap?center=%E4%BA%AC%E9%83%BD,%20%E9%87%91%E9%96%A3%E5%AF%BA&amp;markers=color:0x00A4AC|label:1|%E4%BA%AC%E9%83%BD,%20%E9%87%91%E9%96%A3%E5%AF%BA&zoom=12&size=200x250&sensor=false

28女傑 ◆nDpXSJz8i.:2012/04/08(日) 12:47:17 ID:hQMLjY7Y0
グーグルマップ用の外部読み込みファイル(KMLファイル)
の参考資料

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2&quot;&gt;
<Document>
<name>Highlighted Icon</name>
<description>Place your mouse over the icon to see it display the new icon</description>
<Style id="highlightPlacemark">
<IconStyle>
<Icon>
<href>http://maps.google.com/mapfiles/kml/paddle/red-stars.png&lt;/href&gt;
</Icon>
</IconStyle>
</Style>
<Style id="normalPlacemark">
<IconStyle>
<Icon>
<href>http://maps.google.com/mapfiles/kml/paddle/wht-blank.png&lt;/href&gt;
</Icon>
</IconStyle>
</Style>
<StyleMap id="exampleStyleMap">
<Pair>
<key>normal</key>
<styleUrl>#normalPlacemark</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#highlightPlacemark</styleUrl>
</Pair>
</StyleMap>
<Placemark>
<name>Roll over this icon</name>
<styleUrl>#exampleStyleMap</styleUrl>
<Point>
<coordinates>-122.0856545755255,37.42243077405461,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

29女傑 ◆nDpXSJz8i.:2012/04/08(日) 12:50:25 ID:hQMLjY7Y0
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2&quot;&gt;
<Placemark>
<name>Simple placemark</name>
<description>Attached to the ground. Intelligently places itself
at the height of the underlying terrain.</description>
<Point>
<coordinates>-122.0822035425683,37.42228990140251,0</coordinates>
</Point>
</Placemark>
</kml>

30女傑 ◆nDpXSJz8i.:2012/04/08(日) 12:51:03 ID:hQMLjY7Y0
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2&quot;&gt;
<Document>
<Placemark>
<name>CDATA example</name>
<description>
<![CDATA[
<h1>CDATA Tags are useful!</h1>
<p><font color="red">Text is <i>more readable</i> and
<b>easier to write</b> when you can avoid using entity
references.</font></p>
]]>
</description>
<Point>
<coordinates>102.595626,14.996729</coordinates>
</Point>
</Placemark>
</Document>
</kml>

31女傑 ◆nDpXSJz8i.:2012/04/08(日) 12:51:34 ID:hQMLjY7Y0
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2&quot;&gt;
<Document>
<Placemark>
<name>Entity references example</name>
<description>
<h1>Entity references are hard to type!</h1>
<p><font color="green">Text is
<i>more readable</i>
and <b>easier to write</b>
when you can avoid using entity references.</font></p>
</description>
<Point>
<coordinates>102.594411,14.998518</coordinates>
</Point>
</Placemark>
</Document>
</kml>

32女傑 ◆nDpXSJz8i.:2012/04/08(日) 18:33:22 ID:hQMLjY7Y0
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0&quot;&gt;
<Placemark>
<description>New York City</description>
<name>New York City</name>
<Point>
<coordinates>-74.006393,40.714172,0</coordinates>
</Point>
</Placemark>
</kml>

33女傑 ◆nDpXSJz8i.:2012/04/09(月) 15:00:25 ID:hQMLjY7Y0
https://chart.googleapis.com/chart?cht=map&amp;chs=300x300&amp;chld=JP-26|JP&chco=330022|FF4444|44FF44|4444FF&chf=bg,s,c6eff7

34女傑 ◆nDpXSJz8i.:2012/04/09(月) 18:47:50 ID:hQMLjY7Y0
https://chart.googleapis.com/chart?cht=map&amp;chs=500x500&amp;chld=AU|AU-QLD|AU-NT|AU-NSW|AU-WA|AU-TAS&chco=330022|FF4444|44FF44|4444FF|5000CC|A2DBA8|D584E0&chf=bg,s,c6eff7

35女傑 ◆nDpXSJz8i.:2012/04/09(月) 21:55:33 ID:hQMLjY7Y0
DATファイルの読み込みURI

http://jbbs.livedoor.jp/bbs/rawmode.cgi/study/11670/

36女傑 ◆nDpXSJz8i.:2012/04/10(火) 01:52:14 ID:hQMLjY7Y0
IPアドレスの構成(IPv4の場合)

$ip = $ENV{'REMOTE_ADDR'};
$ip =~ s/(\d+)\.(\d+)\.(\d+)\.(\d+)/$1.$2.$3.$4/;
IPアドレスの表示を隠したい場合は、$4の部分を***等に適宜
置き換える。

37女傑 ◆nDpXSJz8i.:2012/04/10(火) 16:52:44 ID:hQMLjY7Y0
http://ja.wikipedia.org/w/index.php?title=%E8%8A%B1%E5%B1%8B
http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
http://kotobank.jp/word/%E7%8C%B6%E4%BA%88

38女傑 ◆nDpXSJz8i.:2012/04/10(火) 17:08:12 ID:hQMLjY7Y0
http://ejje.weblio.jp/content/justice

39女傑 ◆nDpXSJz8i.:2012/04/12(木) 03:18:54 ID:hQMLjY7Y0
連想配列の使い方
#!/usr/bin/perl

if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }

@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {

($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
&jcode'convert(*value,'sjis');

$value =~ s/<//g;
$value =~ s/>//g;
$value =~ s/"//g;
$value =~ s/\n//g;
$value =~ s/\r//g;
$value =~ s/\,//g;
}

if ($ENV{'REQUEST_METHOD'} eq "POST") { $value = $id; }
else { $buffer = $id; }

%data = (
'1111', '1111さん',
'2222', '2222さん',
);

if (exists $data{$id}) {

print "Content-type: text/html\n\n";
print <<"EOF";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<TITLE>$data{$id}</TITLE>
</HEAD>
<BODY>
<font>$data{$id}</font>
</body>
EOF
}

else { &error; }

exit;

sub error {

print "Content-type: text/html\n\n";
print <<"EOF";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<TITLE>ERROR</TITLE>
</HEAD>
<BODY></body>
</HTML>

EOF

exit;

40女傑 ◆nDpXSJz8i.:2012/04/14(土) 02:27:18 ID:hQMLjY7Y0
ランダムURLジャンパー
その名の通り、ランダム値を発生させて振り分けたジャンプ
先のURLにジャンプさせます。

&random;

sub random {
srand;
$rd = random;

$rd = int($rd * 100);

if ($rd < 20||$rd > 0) { $youso = "$youso1"; }
elsif ($rd < 40||$rd > 21) { $youso = "$youso2"; }
elsif ($rd < 70||$rd > 41) { $youso = "$youso3"; }
elsif ($rd < 90||$rd > 71) { $youso = "$youso4"; }
else ($rd < 100||$rd > 91) { $youso = "$youso5"; }
}

$youso1 = 'http://aaa';
$youso2 = 'http://bbb';
$youso3 = 'http://ccc';
$youso4 = 'http://ddd';
$youso5 = 'http://eee';

print "Location: $youso\n\n";

41女傑 ◆nDpXSJz8i.:2012/04/14(土) 19:25:57 ID:hQMLjY7Y0
flock(DB, LOCK_EX);
%datas = ();
if (!open(DB,"$file")) { &error; }
while($lines = <DB>){
chomp($lines);
($sid, $01, $02, $03, $04, $05, $06, $07) = split(/,/, $lines, 8);
$datas{$sid} = [$01, $02, $03, $04, $05, $06, $07];
$file = $datas{$sid};
}
1;
close(DB);
flock(DB, LOCK_NB);

42女傑 ◆nDpXSJz8i.:2012/04/15(日) 14:02:00
if (!-e $file) { &error; }
%datas = ($file);
flock(DB, LOCK_EX);
if (!open(DB,"$file")) { &error; }
while(<DB>){
chomp($_);
($sid, $01, $02, $03, $04, $05, $06, $07) = split(/,/, $_, 8);
$seihin = $datas{$file};
$seihin = [$01, $02, $03, $04, $05, $06, $07];
next;
}
close(DB);
flock(DB, LOCK_NB);

$03 =~ s/(.*\d)(\d\d\d)/$1,$2/;
$04 =~ s/(.*\d)(\d\d\d)/$1,$2/;

43女傑 ◆nDpXSJz8i.:2012/04/18(水) 14:43:34
#!/usr/local/bin/perl

$basedir = './data/';
$ip = $ENV{'REMOTE_ADDR'};
$ip =~ s/([\d\.]+)\.\d+/$1\.\*/;

if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }

if ($buffer eq "") { &error; }
@pairs = split(/&/,$buffer);

foreach $pair (@pairs) {

($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}

$buffer = $ENV{'QUERY_STRING'};
$file = "./data/$buffer\.cgi";

if (!(-e $file)) { &error("存在しません"); }
elsif (-z $file) { &error("データ異常"); }

if (!open(IN,"$file")) { &error("ファイルが開けません"); }
@lines = <IN>;
close(IN);

print "Content-type: text/html\n\n";
print <<"EOF";
<html><head><title>ページ</title></head><BODY BGCOLOR=#FFFFFF>

<h2>$FORM{'sign'}</h2>
<font>
foreach (0..1) {

($name,$value) = split(/\:/,$lines[$_],2);
$value =~ s/</</g;
$value =~ s/>/>/g;
print "$name$value";
}
です。
</font><br>
</body></html>
EOF
exit;

sub error {

local (@msg) = @_;
local ($i);

print "Content-type: text/html\n\n";

print <<"EOF";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML><HEAD>
<TITLE>不正な動作です</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<meta name="robots" content="noindex,nofollow">
<meta name="googlebot" content="noindex,nofollow,noarchive">
<meta name="Berry" content="no">
</HEAD>
<BODY BGCOLOR=#FFFFFF>
<h1>$msg[0]</h1>
EOF
if ($msg[1] ne '') {

print "<ul>\n";
foreach $i (1 .. $#msg) { print "<li>$msg[$i]\n"; }
print "</ul>\n";
}

print <<"EOF";
<h3>[<A HREF=./>戻る</A>]</h3>
</body></html>
EOF
exit;

}

44女傑 ◆nDpXSJz8i.:2012/04/18(水) 18:17:37
#!/usr/local/bin/perl

if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }
if ($buffer eq "") { &error; }
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$value =~ s/\t//g;
$value =~ s/\r//g;
$value =~ s/\n//g;
$value =~ s/\.//g;
$value =~ s/\///g;
$value =~ s/&/&/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
}
if ($ENV{'REQUEST_METHOD'} eq "POST" && $name eq "user") { $file = "./data/$value\.cgi"; }
else { $file = "./data/$buffer\.cgi"; }
if (!(-e $file)) { &error("存在しません"); }
elsif (-z $file) { &error("データ異常"); }
flock(IN, LOCK_EX);
if (!open(IN,"$file")) { &error("ファイルが開けません"); }
@lines = <IN>;
close(IN);
flock(IN, LOCK_NB);
print "Content-type: text/html\n\n";
print <<"EOF";
<html><head>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<meta name="robots" content="noindex,nofollow">
<meta name="googlebot" content="noindex,nofollow,noarchive">
<meta name="Berry" content="no">
<title>ページ</title></head>
<BODY BGCOLOR=#FFFFFF>

<h2></h2>
<font>
foreach (0..1) {
($name,$value) = split(/\:/,$lines[$_],2);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/\t//g;
$value =~ s/\r//g;
$value =~ s/\n//g;
$value =~ s/\.//g;
$value =~ s/\///g;
$value =~ s/&/&/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
print "$name$value";
}
です。
</font>
</body></html>
EOF
exit;

sub error {
local (@msg) = @_;
local ($i);
print "Content-type: text/html\n\n";
print <<"EOF";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML><HEAD>
<TITLE>不正な動作です</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<meta name="robots" content="noindex,nofollow">
<meta name="googlebot" content="noindex,nofollow,noarchive">
<meta name="Berry" content="no">
</HEAD>
<BODY BGCOLOR=#FFFFFF>
<h1>$msg[0]</h1>

EOF
if ($msg[1] ne '') {
print "<ul>\n";
foreach $i (1 .. $#msg) { print "<li>$msg[$i]\n"; }
print "</ul>\n";
}
print <<"EOF";
<h3><A HREF=./>戻る</A></h3>
</body></html>
EOF
exit;
}

45女傑 ◆nDpXSJz8i.:2012/04/20(金) 01:03:46
$maetime = time() - 60 * 60 * 24 * 7;
($maesec, $maemin, $maehour, $maemday, $maemon, $maeyear, $maewday, $maeyday, $maeisdst) = localtime($maetime);
@maewdays = ('日','月','火','水','木','金','土');
$maenitizi = sprintf("%04d年%02d月%02d日(%s) %02d:%02d",$maeyear+1900,$maemon+1,$maemday,$maewdays[$maewno],$maehour,$maemin);

46女傑 ◆nDpXSJz8i.:2012/04/20(金) 01:11:30
3日前の日付を書き出すルーチン

$maetime = time() - 60 * 60 * 24 * 3;
($maesec, $maemin, $maehour, $maemday, $maemon, $maeyear, $maewday, $maeyday, $maeisdst) = localtime($maetime);
@maewdays = ('日','月','火','水','木','金','土');
$maenitizi = sprintf("%04d年%02d月%02d日(%s) %02d:%02d",$maeyear+1900,$maemon+1,$maemday,$maewdays[$wno-3],$maehour,$maemin);

47女傑 ◆nDpXSJz8i.:2012/04/20(金) 01:35:26
$maetime = time() - 60 * 60 * 24 * 2;
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime($maetime);
@wdays = ('日','月','火','水','木','金','土');
$maenitizi = sprintf("%04d年%02d月%02d日(%s) %02d:%02d",$year+1900,$mon+1,$mday,$wdays[$wno-2],$hour,$min);

48女傑 ◆nDpXSJz8i.:2012/04/20(金) 13:14:10
読書のためのCGI(適宜、改行してください)

#!/usr/local/bin/perl
require './cgi-lib.pl';
&ReadParse(*in);
$story = $in{'story'};
$page = $in{'page'};
$story =~ tr/+/ /;
$story =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$page =~ tr/+/ /;
$page =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($story =~/\W+$/) { &error("禁則文字が使われています"); }
if ($page =~/\W+$/) { &error("禁則文字が使われています"); }
if ($story eq "") { &error("ストーリーの名前の入力がありません"); }
if ($page eq "") { &error("ページ番号の入力がありません"); }
$file = "./$story/$page\.cgi";
if (!(-e $file)) { &error("存在しません"); }
elsif (-z $file) { &error("ファイルが異状です"); }
flock(IN, LOCK_EX);
if (!open(IN,"$file")) { &error("ファイルが開けません"); }
@lines = <IN>;
close(IN);
flock(IN, LOCK_NB);
print "Content-type: text/html\n\n";
print <<"EOF";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html><head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<meta name="robots" content="noindex,nofollow">
<meta name="googlebot" content="noindex,nofollow,noarchive">
<meta name="Berry" content="no">
<title></title></head>
<BODY BGCOLOR=#FFFFFF>
<font>
EOF
foreach (0..12) {
chomp($file) if $file =~ /\n$/;
($name,$value) = split(/,/,$lines[$_],0);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/\t//g;
$value =~ s/\r//g;
$value =~ s/\n//g;
$value =~ s/\.//g;
$value =~ s/\///g;
$value =~ s/&/&/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
if ("$name$value" ne "") {
print "<p>$name$value</p>";
}
}
1;
print <<"EOF";
</font>
</body></html>
EOF
exit;
sub error {
local (@msg) = @_;
local ($i);
print "Content-type: text/html\n\n";
print <<"EOF";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML><HEAD>
<TITLE></TITLE>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<meta name="robots" content="noindex,nofollow">
<meta name="googlebot" content="noindex,nofollow,noarchive">
<meta name="Berry" content="no">
</HEAD>
<BODY BGCOLOR=#FFFFFF>
<font>$msg[0]</font>
EOF
if ($msg[1] ne '') {

print "<ul>\n";
foreach $i (1 .. $#msg) { print "<li>$msg[$i]\n"; }
print "</ul>\n";
}
print <<"EOF";
<font><A HREF=./>最初に戻る</A></font>
</body></html>
EOF
exit;
}

49女傑 ◆nDpXSJz8i.:2012/04/20(金) 16:05:22
http://maps.google.com/maps/api/staticmap?size=200x200&amp;markers=icon:http://chart.apis.google.com/chart?chst=d_map_pin_icon|chld=dot:7C996600|%E4%BA%AC%E9%83%BD%E5%B8%82%E5%8C%97%E5%8C%BA%7C&sensor=false&zoom=17

50女傑 ◆nDpXSJz8i.:2012/04/20(金) 21:20:51
http://maps.google.com/maps/api/staticmap?size=480x480&amp;markers=icon:http://chart.apis.google.com/chart?chst=d_map_pin_icon%26chld=cafe%257C996600|%E6%97%A5%E6%9C%AC,%20%E4%BA%AC%E9%83%BD&sensor=false

51女傑 ◆nDpXSJz8i.:2012/04/20(金) 22:43:19
http://maps.google.com/maps/api/staticmap?size=480x480&amp;markers=icon:http://maps.google.co.jp/mapfiles/ms/icons/flag.png|%E6%97%A5%E6%9C%AC,%20%E4%BA%AC%E9%83%BD%7C%E6%97%A5%E6%9C%AC,%20%E9%87%91%E9%96%A3%E5%AF%BA&sensor=false

52女傑 ◆nDpXSJz8i.:2012/04/21(土) 12:41:22
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2&quot;&gt;
<Document>
<Placemark>
<name>金閣寺</name>
<description>金閣寺(鹿苑寺)</description>
<coordinates>135.729324,35.037991,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>銀閣寺</name>
<description>銀閣寺(慈照寺)</description>
<Point>
<coordinates>135.797318,35.026779,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

53女傑 ◆nDpXSJz8i.:2012/04/21(土) 13:12:41
maps.google.co.jp/maps?q=http://vvvf.s377.xrea.com/orig.kml&amp;ie=UTF8&amp;t=m&amp;brcurrent=3,0x601d012318c98c6b:0x25c2b4f04bf0b94,0&amp;ll=35.0116363,135.76802939999993&amp;spn=0.207462,0.151987&amp;output=embed

54女傑 ◆nDpXSJz8i.:2012/04/21(土) 22:32:40
#!/usr/local/bin/perl
require '../cgi-lib.pl';
&ReadParse(*in);
$story = $in{'story'};
$page = $in{'page'};
$story =~ tr/+/ /;
$story =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$page =~ tr/+/ /;
$page =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($story =~/\W+$/) { &error("禁則文字が使われています"); }
if ($page =~/\W+$/) { &error("禁則文字が使われています"); }
if ($story eq "") { &error("ストーリーの名前の入力がありません"); }
if ($page eq "") { &error("ページ番号の入力がありません"); }
$file = "./$story/$page\.cgi";

if (!(-e $file)) { &error("存在しません"); }
elsif (-z $file) { &error("ファイルが異状です"); }

flock(IN, LOCK_EX);
if (!open(IN,"$file")) { &error("ファイルが開けません"); }
@lines = <IN>;
close(IN);
flock(IN, LOCK_NB);
print "Content-type: text/html\n\n";
print <<"EOF";

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html><head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<meta name="robots" content="noindex,nofollow">
<meta name="googlebot" content="noindex,nofollow,noarchive">
<meta name="Berry" content="no">
<title></title></head>
<BODY BGCOLOR=#FFFFFF>
<font>
EOF
foreach (0..12) {
chomp($file) if $file =~ /\n$/;
($name,$value) = split(/:/,$lines[$_],0);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$name =~ s/\t//g;
$name =~ s/\r//g;
$name =~ s/\n//g;
$name =~ s/\.//g;
$name =~ s/\///g;
$name =~ s/&/&/g;
$name =~ s/"/"/g;
$name =~ s/</</g;
$name =~ s/>/>/g;
if ("$name,$value" ne "") {
chomp($name,$value) if $name,$value =~ /\n$/;
print <<"EOF";
<p>$name$value</p>
EOF
}
}
1;
print <<"EOF";
</font>
</body></html>
EOF
exit;
sub error {
local (@msg) = @_;
local ($i);
print "Content-type: text/html\n\n";
print <<"EOF";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML><HEAD>
<TITLE></TITLE>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<meta name="robots" content="noindex,nofollow">
<meta name="googlebot" content="noindex,nofollow,noarchive">
<meta name="Berry" content="no">
</HEAD>
<BODY BGCOLOR=#FFFFFF>
<font>$msg[0]</font>
EOF
if ($msg[1] ne '') {
print "<ul>\n";
foreach $i (1 .. $#msg) { print "<li>$msg[$i]\n"; }
print "</ul>\n";
}
print <<"EOF";
<br><font><A HREF=./>最初に戻る</A></font>
</body></html>
EOF
exit;
}

55女傑 ◆nDpXSJz8i.:2012/04/22(日) 20:01:01
sub
{
local $name;

$_ = $ENV{""};

if (//i) { $name = "";}
elsif (//i) { $name = ""; }
elsif (//i) { $name = ""; }
else { $name = ""; }

return $name;
}

56連想配列メモ:2012/04/23(月) 03:26:24
%datalist = ('001', '01', '002', '02', '003', '03', '004', '04',
'005', '05', '006', '06', '007', '07', '008', '08',
'009', '09', '010', '10', '011', '11', '012', '12');


$data = $datalist{$data};

57女傑 ◆nDpXSJz8i.:2012/04/23(月) 12:07:09
画像などのバイナリデータを出力するためのコードです。

#!/usr/local/bin/perl

$gazou = '*****.png';

print "Content-type: image/png\n\n";
flock(FILE, LOCK_EX);
open FILE,"gazou";
binmode (FILE);
binmode ( STDOUT );
print <FILE>;
close (FILE);
flock(FILE, LOCK_NB);

exit;

58女傑 ◆nDpXSJz8i.:2012/04/23(月) 12:32:17
日時取得のルーチン
タイムゾーンは、日本国内の場合には日本(GMT+9)を指定。
time関数を用いて、サーバーからのレスポンスのlocaltimeの定義
を行う。変数をコンマ区切りのデータとして格納する。
最後は出力用に、sprintf関数で整形する。

$ENV{'TZ'} = "JST-9";
($sec, $min, $hour, $mday, $mon, $year) = localtime(time());
$date_now = sprintf("%04d/%02d/%02d", 1900 + $year, $mon + 1, $mday);
$time_now = sprintf("%02d:%02d:%02d", $hour, $min, $sec);

59女傑 ◆nDpXSJz8i.:2012/04/23(月) 12:43:57
引数データを受け取るルーチン
先ず引数を区切っている&のパラメータを分解し繰り返し
処理、更に=区切りのパラメータをname,valueの変数に分解する。
+文字をスペースに置き換えて、文字コードの16進数デコードを行って
エスケープシーケンスを含んだ文字列や、タグ文字などを読み飛ばす処
理も行う。

メソッドがpostの場合は、STDのINやファイルの長さなども読み込む。

if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }

if ($buffer eq "") { &error; }

@pairs = split(/&/,$buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$value =~ s/\t//g;
$value =~ s/\r//g;
$value =~ s/\n//g;
$value =~ s/\.//g;
$value =~ s/\///g;
$value =~ s/&/&/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
}

60女傑 ◆nDpXSJz8i.:2012/04/23(月) 15:17:34
ENCODE.PMを使用して、文字コードを変換する方法
(近年では主流の、JCODE.PLでは不対応のUTF文字コード)

use Encode;

# Shift_JISをUTF-8へ変換する
Encode::from_to($_, 'Windows-31J', 'UTF-8');

61女傑 ◆nDpXSJz8i.:2012/04/23(月) 23:08:35
メモメモ^^

#!/usr/local/bin/perl -w

use strict;
use Image::Magick;

# 元画像
my $file = "http://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Iemitu.jpg/295px-Iemitu.jpg&quot;;

# 重ねる画像
my $file2 = "http://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Japanese_crest_Tokugawa_Aoi.svg/240px-Japanese_crest_Tokugawa_Aoi.svg.png&quot;;

my $file3 = ":::.png";

my $file4 = ":::.gif";

# 元画像読み込む
my $image = Image::Magick->new;
$image->Read($file);

# 重ねる画像を読み込む
my $image2 = Image::Magick->new;
$image2->Read($file2);

# 重ねる画像を読み込む
my $image3 = Image::Magick->new;
$image3->Read($file3);

my $image4 = Image::Magick->new;
$image4->Read($file4);
# 重ねる画像のサイズ変更
$image2->Resize(width=>50, height=>50, blur=>0.7);
$image3->Resize(width=>80, height=>25, blur=>0.7);
$image4->Resize(width=>60, height=>20, blur=>0.7);
# 画像を合成する

$image->Resize(width=>180, height=>230, blur=>0.7);
$image->Composite(image=>$image2, compose=>'Over', x=>10, y=>10);
$image->Composite(image=>$image3, compose=>'Over', x=>90, y=>200);
$image->Composite(image=>$image4, compose=>'Over', x=>10, y=>200);

# 出力
print "Content-type: image/png\n\n";
binmode STDOUT;
$image->Write('png:-');

undef $image;
exit;

62女傑 ◆nDpXSJz8i.:2012/04/23(月) 23:18:34
$text = 'Works like magick!';
$image->Annotate(font=>'kai.ttf', pointsize=>40, fill=>'green', text=>$text);

63女傑 ◆nDpXSJz8i.:2012/04/24(火) 14:59:42
#!/usr/local/bin/perl

$view = 'onsei.mp3';

print "Content-type: audio/mp3\n\n";
flock(FILE, LOCK_EX);
open FILE,"$onsei";
binmode (FILE);
print <FILE>;
close (FILE);
flock(FILE, LOCK_NB);

exit;

64女傑 ◆nDpXSJz8i.:2012/04/24(火) 15:17:27
#!/usr/local/bin/perl

$imagefile = 'xx.png';

print "Content-type: image/png\n\n";
flock(FILE, LOCK_EX);
open FILE,"$imagefile";
binmode (FILE);
binmode (STDOUT);
print <FILE>;
close (FILE);
flock(FILE, LOCK_NB);

65女傑 ◆nDpXSJz8i.:2012/04/25(水) 02:23:10
#!/usr/local/bin/perl

require './cgi-lib.pl';
&ReadParse(*in);

$word = $in{'word'};
$word =~ tr/+/ /;
$word =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$wl = "http://www.weblio.jp/content/$word&quot;;
$wk = "http://ja.wikipedia.org/wiki/$word&quot;;
$go = "http://www.google.co.jp/#hl=ja&output=search&q=$word";

if ($word eq "") { &error; }
if ($in{'robo'} eq "weblio") { $kensaku = $wl; }
elsif ($in{'robo'} eq "google") { $kensaku = $go; }
else { $kensaku = $wk; }
if ($kensaku eq "") { &error; }

print "Location: $kensaku\n\n";
exit;

sub error {

print "Content-type: text/html\n\n";
print <<"EOF";

<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<title>Error</title></head>
<body>
<h3>Error</h3>
</body></html>

EOF
exit;

}

##http://〜/jump.cgi?
##q=調べたい語句
##robo=wl(weblio辞書検索)
##robo=wk(wikipedia検索)
##robo=go(google検索)
##http://〜/jump.cgi?q=語句&robo=go

66女傑 ◆nDpXSJz8i.:2012/04/25(水) 02:25:40
#!/usr/local/bin/perl

require './cgi-lib.pl';
&ReadParse(*in);

if ($in{'q'} ne "") { $word = $in{'q'}; }
else { $word = $ENV{'QUERY_STRING'}; }
if ($word eq "") { &error; }
$word =~ tr/+/ /;
$word =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$word =~ s/\t//g;
$word =~ s/\r//g;
$word =~ s/\n//g;
$word =~ s/\.//g;
$word =~ s/\///g;
$word =~ s/&/&/g;
$word =~ s/"/"/g;
$word =~ s/</</g;
$word =~ s/>/>/g;

$weblio = "http://www.weblio.jp/content/$word&quot;;
$wikipedia = "http://ja.wikipedia.org/wiki/$word&quot;;
$google = "http://www.google.co.jp/#hl=ja&output=search&q=$word";

if ($in{'robo'} eq "wl") { $kensaku = $weblio; }
elsif ($in{'robo'} eq "go") { $kensaku = $google; }
else { $kensaku = $wikipedia; }
if ($kensaku eq "") { &error; }

print "Location: $kensaku\n\n";
exit;

sub error {

print "Content-type: text/html\n\n";
print <<"EOF";

<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<title>Error</title></head>
<body>
<h3>Error</h3>
</body></html>

EOF
exit;

}

67女傑 ◆nDpXSJz8i.:2012/04/25(水) 13:27:40
#!/usr/local/bin/perl

require './cgi-lib.pl';
&ReadParse(*in);

if ($in{'q'} ne "") { $word = $in{'q'}; }
else { $word = $ENV{'QUERY_STRING'}; }
if ($word eq "") { &error; }
$word =~ tr/+/ /;
$word =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$word =~ s/\t//g;
$word =~ s/\r//g;
$word =~ s/\n//g;
$word =~ s/\.//g;
$word =~ s/\///g;
#$word =~ s/&/&/g;
$word =~ s/"/"/g;
$word =~ s/</</g;
$word =~ s/>/>/g;

$weblio = "http://www.weblio.jp/content/$word&quot;;
$wikipedia = "http://ja.wikipedia.org/wiki/$word&quot;;
$google = "http://www.google.co.jp/#hl=ja&output=search&q=$word";
$yahoo = "http://search.yahoo.co.jp/search?p=$word&quot;;
$msn = "http://www.bing.com/search?q=$word&quot;;

if ($in{'robo'} eq "wl") { $kensaku = $weblio; }
elsif ($in{'robo'} eq "ms") { $kensaku = $msn; }
elsif ($in{'robo'} eq "go") { $kensaku = $google; }
elsif ($in{'robo'} eq "ya") { $kensaku = $yahoo; }
else { $kensaku = $wikipedia; }
if ($kensaku eq "") { &error; }

print "Location: $kensaku\n\n";
exit;

sub error {

print "Content-type: text/html\n\n";
print <<"EOF";

<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<title>Error</title></head>
<body>
<h3>Error</h3>
</body></html>

EOF
exit;

}

68女傑 ◆nDpXSJz8i.:2012/04/25(水) 17:17:55


my ($key,$salt);
if($FORM{'FROM'}=~/#(.+)/){
$key = $1;
$salt = substr($key."H.", 1, 2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$FLAG{'trip'} = substr(crypt($key, $salt),-8);
}

69女傑 ◆nDpXSJz8i.:2012/04/25(水) 20:11:52
#!/usr/local/bin/perl

use Jcode;
require './cgi-lib.pl';
&ReadParse(*in);

@array = split(/&/, $in);
foreach (@array) {
tr/+/ /;
($name, $val) = split (/=/);
$name =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("c",hex($1))/ge;
$val =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("c",hex($1))/ge;
$name =~ s/\r\n/\n/g;
$val =~ tr/+/ /;
$val =~ s/\t//g;
$val =~ s/\r//g;
$val =~ s/\n//g;
$val =~ s/\.//g;
$val =~ s/\///g;
$val =~ s/&//g;
$val =~ s/"//g;
$val =~ s/<//g;
$val =~ s/>//g;
}
if ($in{'q'} ne "") { $word = $in{'q'}; }
else { $word = $ENV{'QUERY_STRING'}; }
if ($word eq "") { &error; }

$weblio = "http://www.weblio.jp/content/$word&quot;;
$wikipedia = "http://ja.wikipedia.org/wiki/$word&quot;;
$google = "http://www.google.co.jp/#hl=ja&output=search&q=$word";
$yahoo = "http://search.yahoo.co.jp/search?p=$word&quot;;
$msn = "http://www.bing.com/search?q=$word&quot;;

if ($in{'robo'} eq "wl") { $kensaku = $weblio; }
elsif ($in{'robo'} eq "ms") { $kensaku = $msn; }
elsif ($in{'robo'} eq "go") { $kensaku = $google; }
elsif ($in{'robo'} eq "ya") { $kensaku = $yahoo; }
else { $kensaku = $wikipedia; }
if ($kensaku eq "") { &error; }

print "Location: $kensaku\n\n";
exit;

sub error {

print "Content-type: text/html\n\n";
print <<"EOF";

<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<title>Error</title></head>
<body>
<h3>Error</h3>
</body></html>

EOF
exit;

}

70女傑 ◆nDpXSJz8i.:2012/04/26(木) 02:00:35
#!/usr/local/bin/perl

use Jcode;
require './cgi-lib.pl';
&ReadParse(*in);

@array = split(/&/, $in);
foreach (@array) {
tr/+/ /;
($name, $val) = split (/=/);
$name =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("c",hex($1))/ge;
$val =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("c",hex($1))/ge;
$name =~ s/\r\n/\n/g;
$val =~ tr/+/ /;
$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$val =~ s/\t//g;
$val =~ s/\r//g;
$val =~ s/\n//g;
$val =~ s/\.//g;
$val =~ s/\///g;
$val =~ s/&//g;
$val =~ s/"//g;
$val =~ s/<//g;
$val =~ s/>//g;
}
if ($in{'q'} ne "") { $word = $in{'q'}; }
else { $word = $ENV{'QUERY_STRING'}; }
if ($word eq "") { &error; }
$bun = jcode($word)->utf8;

$weblio = "http://www.weblio.jp/content/$bun&quot;;
$wikipedia = "http://ja.wikipedia.org/wiki/$bun&quot;;
$google = "http://www.google.co.jp/#hl=ja&output=search&q=$bun";
$yahoo = "http://search.yahoo.co.jp/search?p=$bun&quot;;
$msn = "http://www.bing.com/search?q=$bun&quot;;

if ($in{'robo'} eq "wl") { $kensaku = $weblio; }
elsif ($in{'robo'} eq "ms") { $kensaku = $msn; }
elsif ($in{'robo'} eq "go") { $kensaku = $google; }
elsif ($in{'robo'} eq "ya") { $kensaku = $yahoo; }
else { $kensaku = $wikipedia; }
if ($kensaku eq "") { &error; }

print "Location: $kensaku\n\n";
exit;

sub error {

print "Content-type: text/html\n\n";
print <<"EOF";

<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<title>Error</title></head>
<body>
<h3>Error</h3>
</body></html>

EOF
exit;

}

71女傑 ◆nDpXSJz8i.:2012/04/26(木) 14:31:41
文字コードを読み込んで文字を画像化し、表示するためのプロ
グラム
<?php
// コンテントタイプを設定します
header('Content-Type: image/png');

// 画像を生成します
$im = imagecreatetruecolor(400, 30);

// いくつかの色を生成します
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// 描画する文字列
$text = 'Testing...';
// フォント自身のパスでパスを置き換えます
// サーバールートからのパス/virtual/ユーザー名/public_html/などに
$font = 'ipag.ttf';
// 文字コードをUTF-8からSJISにします。
$text = mb_convert_encoding($text,"UTF-8","SJIS");
// テキストに影を付けます
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// テキストを追加します
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// imagepng() を使用して imagejpeg() よりもクリアなテキストにします
imagepng($im);
imagedestroy($im);
?>

72女傑 ◆nDpXSJz8i.:2012/04/27(金) 01:42:17
$imode = imodechk();
if ($imode eq 'guid=on') { $refne = $imode;}
else { $refne = referer_name(); }
($name,$value) = split(/=/,$refne);

print "Location: http://〜〜/" . "ipcheck.cgi?$value\n\n";


sub imodechk
{
local $name;

$_ = $ENV{'REMOTE_ADDR'};

if (/210.153.84.0/i) { $name = "guid=on"; }
elsif (/210.136.161.0/i) { $name = "guid=on"; }
elsif (/210.153.86.0/i) { $name = "guid=on"; }
elsif (/124.146.174.0/i) { $name = "guid=on"; }
elsif (/124.146.175.0/i) { $name = "guid=on"; }
elsif (/202.229.176.0/i) { $name = "guid=on"; }
elsif (/210.153.86.0/i) { $name = "guid=on"; }
elsif (/202.229.176.0/i) { $name = "guid=on"; }
elsif (/202.229.177.0/i) { $name = "guid=on"; }
elsif (/202.229.178.0/i) { $name = "guid=on"; }
elsif (/203.138.180.0/i) { $name = "guid=on"; }
elsif (/203.138.181.0/i) { $name = "guid=on"; }
elsif (/203.138.203.0/i) { $name = "guid=on"; }
elsif (/210.153.84.0/i) { $name = "guid=on"; }
elsif (/210.153.86.0/i) { $name = "guid=on"; }
elsif (/124.146.174.0/i) { $name = "guid=on"; }
elsif (/124.146.175.0/i) { $name = "guid=on"; }
elsif (/202.229.176.0/i) { $name = "guid=on"; }
elsif (/202.229.177.0/i) { $name = "guid=on"; }
elsif (/202.229.178.0/i) { $name = "guid=on"; }
elsif (/210.153.87.0/i) { $name = "guid=on"; }
else { $name = ""; }

return $name;
}

73マナウス ◆nDpXSJz8i.:2012/05/01(火) 18:04:49
時刻関数のフォーマット
50,5,22,21,3,112,6
秒,分,時,日,月+1,年+1900,曜日(0〜6)

2010年4月21日(土)22時5分50秒

74マナウス ◆nDpXSJz8i.:2012/05/01(火) 18:37:27
#!/usr/local/bin/perl

require '../cgi-lib.pl';
&ReadParse(*in);

$age_y = $in{'year'};
$age_m = $in{'month'};
$age_d = $in{'day'};
$age_y = sprintf("%04d",$age_y);
if ($age_m < 10) { $age_m = sprintf("%01d",$age_m); }
else { $age_m = sprintf("%02d",$age_m); }
if ($age_d < 10) { $age_d = sprintf("%01d",$age_d); }
else { $age_d = sprintf("%02d",$age_d); }
if ($age_y =~/\W+$/) { &error; }
if ($age_m =~/\W+$/) { &error; }
if ($age_d =~/\W+$/) { &error; }

($sec,$min,$hour,$mday,$mon,$year,$wno) = localtime(time);
@wdays = ('SUN','MON','TUE','WED','THU','FRI','SAT');
$nitizi = sprintf("%04d/%02d/%02d(%s) %02d:%02d",$year+1900,$mon+1,$mday,$wdays[$wno],$hour,$min);

$age = "";
$age = $year - $age_y;
if ($age_m > $mon) { $age = $age - 1; }
if ($age_m == $mon) {
if ($age_d > $mday) { $age = $age - 1; }
}

print "Content-type: text/html\n";
print "\n";
print "貴方は $age_y年$age_m月$age_d日生まれ(満$age才)<br>\n";

exit;

75マナウス ◆nDpXSJz8i.:2012/05/08(火) 23:50:23
$text = Jcode->new( $bunshou, "utf8")->utf8;
$text = Jcode::convert($bunshou, utf8, utf8, "z");
$text = jcode($bunshou, "utf8")->h2z->utf8;

76マナウス ◆nDpXSJz8i.:2012/05/09(水) 00:54:05
======marge_csv.pl======

my %address_datas = ();
open(IN, 'address.csv');
while(<IN>){
chomp;
my ($id, $name, $address) = split(/,/, $_, 3);

# (※1)顧客IDをキーとし、対応する名前と住所の配列を保存する
$address_datas{$id} = [$name, $address];
}
close(IN);

# アンケートデータに氏名と住所をマージする
open(OUT, '>result.csv');
open(IN, 'enquate.csv');

while(my $line = <IN>){
chomp($line);
my ($id, $ans1, $ans2, $ans3) = split(/,/, $line, 4);

# この行にマッチする顧客データを検索する
my $ref_data = $address_datas{$id};

# 配列の0番目に名前、1番目に住所が入っている (※1を参照)
my $name = $ref_data->[0];
my $address = $ref_data->[1];

# 出力する
print OUT join(',', $id, $ans1, $ans2, $ans3, $name, $address), "\n";
}

close(OUT);
close(IN);

======diff.pl (1)======

# 2回目のアンケート応募者をハッシュに取り込む
my %enq2_data = ();
open(IN, 'enquate2.csv');
while(<IN>){
chomp;

# IDだけ必要なので、IDだけ取り出す
my ($id) = split(/,/, $_, 2);
# キーを顧客IDとし、目印(フラグ)として1を入れる
$enq2_data{$id} = 1;
}
close(IN);

======diff.pl (2)======

# 1回目のアンケート応募者と2回目の応募者を比較する
open(OUT, '>result.csv');
open(IN, 'enquate.csv');
while(<IN>){
chomp;

# IDだけ必要なので、IDだけ取り出す
my ($id) = split(/,/, $_, 2);

if($enq2_data{$id}){
# どちらにも応募した顧客
print OUT "$id,3\n";
# ハッシュから「1回目応募した顧客」を削除
delete $enq2_data{$id};
}else{
# 1回目だけ応募した顧客
print OUT "$id,1\n";
}
}
close(IN);

======diff.pl (3)======

# 最後に、ハッシュに残ったのが2回目のみ応募した顧客
foreach(keys %enq2_data){
print OUT "$_,2\n";
}

close(OUT);

77マナウス ◆nDpXSJz8i.:2012/05/09(水) 08:33:16
$bun = jcode($name)->h2z->utf8;
$bun = jcode($name)->utf8;
## $bun = Jcode->new( $name, "utf8")->utf8;
## $bun = jcode($name, "utf8")->h2z->utf8;

78マナウス ◆nDpXSJz8i.:2012/05/15(火) 00:49:25
use Encode;

my $encoder = find_encoding 'sjis';

# 内部文字列をShift_JISバイト文字列に変換する
$encoder->encode($str);

# Shift_JISバイト文字列を内部文字列に変換する
$encoder->deocde($bytes);

79マナウス ◆nDpXSJz8i.:2012/05/15(火) 16:28:59
$qry =~ s/%E9%AB%99|%9A%D9|%FB%FC|%FC%E2|%EE%E0|%8F%F4%FB/高/g;
$qry =~ s/%EF%A8%91|%FA%11|%FA%B1|%F9%F5|%ED%95|%8F%F4%BD/崎/g;

80マナウス ◆nDpXSJz8i.:2012/05/15(火) 16:34:30
郄髙
粼﨑

81マナウス ◆nDpXSJz8i.:2012/05/15(火) 16:35:29
&# 39641;
&# 64017;

82女傑 ◆nDpXSJz8i.:2012/05/21(月) 00:13:24
#!/usr/local/bin/perl

use Image::Magick;
use Jcode;
use Unicode::Japanese;
#$j->fallback(Jcode::FB_PERLQQ)->euc; # '\x{262f}'
#$j->fallback(Jcode::FB_XMLCREF)->euc;
#$j->fallback(Jcode::FB_HTMLCREF)->euc;
$Jcode::FALLBACK = Jcode::FB_HTMLCREF; # デフォルトのフォールバックスキーマを設定
$query= $ENV{'QUERY_STRING'};
($name, $value) = split(/=/, $query);
if ($name eq "q") { $qry = $value; }
else { $qry= $ENV{'QUERY_STRING'}; }
$qry =~ tr/+/ /;
$qry =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$qry =~ s/\.//g;
$qry =~ s/\///g;
$qry =~ s/&/&/g;
$qry =~ s/</</g;
$qry =~ s/>/>/g;
$qry =~ s/"/"/g;
$qry =~ s/\r\n/\n/g;
$qry =~ s/\r/\n/g;
chomp($qry) if $qry =~ /\n$/;
if ($qry eq "") { &error("オプションがありません"); }
$len = length($qry); $m = '26';
if ($len > $m) { &error("エラー","引数を$mバイト以内でご指定ください"); }
$in = './Esashi-fujiharanosato.jpg';
$out = './imga.jpg';
$ip = $ENV{'REMOTE_ADDR'};
$ip =~ s/(\d+)\.(\d+)\.(\d+)\.(\d+)/$1.***.***.***/;
$bunshou = "$qry";
$ocode = "utf8";

my ($icode, $nmatch) = Jcode::getcode($bunshou);
$text = Jcode::convert(\$bunshou, $ocode, $icode, "z");
$text = Unicode::Japanese->new($bunshou, "utf8")->h2z->$ocode;
$font = '/virtual/hasestar/public_html/ipamjm.ttf';
$image = Image::Magick->new(size=>"320x240",pointsize=>24,font=>$font);
##my $unistr = "\x{E9}\x{AB}\x{99}";
my $unistr = "$text";
my $j = jcode($unistr, "utf8");
$j->fallback($Jcode::FALLBACK)->euc;
$image->Read($in);
$image->Annotate(
text => "$text",
pointsize => 40,
fill => "#00a3af",
stroke => "#00a3af",
x => 10,
y => 50
);

$image->Annotate(
text => $ENV{'HTTP_HOST'} . $ENV{'SCRIPT_NAME'},
## text => 'http://' . $ENV{'HTTP_HOST'} . $ENV{'SCRIPT_NAME'},
## text => "$ip",
pointsize => 17,
fill => 'black',
x => 10,
y => 230
);
$image->Write($out);

print "Content-type: text/html\n\n";
print <<"EOF";

<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=euc-jp">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<title>画像文字埋め込み</title></head>
<body>
画像に文字を埋め込み・保存しました。<br>
<br>
↓保存した画像<br>
<img src="$out"><br>
<font>入力文字のデコード$icode→$ocode<br>$j</font>
<br>
↓元の画像<br>
<img src="$in"><br>
</body></html>
EOF
exit;
sub error {
local (@msg) = @_;
local ($i);
print "Content-type: text/html\n\n";
print <<"EOF";
<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=euc-jp">
<title>失敗</title></head>
<body>
<h3>失敗</h3>
</body></html>
EOF
foreach $i (0 .. $#msg) { print "$msg[$i]<BR>\n"; }
exit;
}

83マナウス ◆nDpXSJz8i.:2012/05/25(金) 21:50:01
ツェラーの公式・某所より転載
$wday = getwday($year, $mon, $mday);
$wday_string = (qw(日 月 火 水 木 金 土))[$wday];

sub getwday {
my($year, $mon, $mday) = @_;

if ($mon == 1 or $mon == 2) {
$year--;
$mon += 12;
}
int($year + int($year / 4) - int($year / 100) + int($year / 400)
+ int((13 * $mon + 8) / 5) + $mday) % 7;
}

84女傑 ◆nDpXSJz8i.:2012/05/30(水) 14:03:03
\d 0〜9の数字にマッチします [0-9] と同じ意味
\D 数字以外の文字にマッチします [^0-9] と同じ意味
[a-zA-Z] 半角アルファベットにマッチします
[^a-zA-Z] 半角アルファベット以外にマッチします
\w アルファベット・数字にマッチします [a-zA-Z0-9] と同じ意味
\W アルファベット・数字以外にマッチ [^a-zA-Z0-9] と同じ意味

85女傑 ◆nDpXSJz8i.:2012/08/29(水) 01:28:00
VMWARE TOOLS

http://softwareupdate.vmware.com/cds/vmw-desktop/ws/9.0.0/812388/linux/packages/

86女傑 ◆nDpXSJz8i.:2012/09/25(火) 12:08:03
vmxファイルの作り方

.encoding = "Shift_JIS"
config.version = "8"
virtualHW.version = "9"
scsi0.present = "TRUE"
memsize = "512"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "Windows XP Home Edition.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
floppy0.fileType = "device"
floppy0.fileName = ""
floppy0.clientDevice = "FALSE"
ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
usb.present = "TRUE"
ehci.present = "TRUE"
ehci.pciSlotNumber = "35"
sound.present = "TRUE"
sound.fileName = "-1"
sound.autodetect = "TRUE"
mks.enable3d = "TRUE"
serial0.present = "TRUE"
serial0.fileType = "thinprint"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
usb.vbluetooth.startConnected = "TRUE"
buslogic.noDriver = "FALSE"
displayName = "Windows XP Home Edition"
guestOS = "winxphome"
nvram = "Windows XP Home Edition.nvram"
virtualHW.productCompatibility = "hosted"
gui.exitOnCLIHLT = "FALSE"
powerType.powerOff = "hard"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "hard"
extendedConfigFile = "Windows XP Home Edition.vmxf"
SMBIOS.reflectHost = "TRUE"
scsi0.pciSlotNumber = "16"
ethernet0.generatedAddress = "00:0c:29:69:86:db"
ethernet0.pciSlotNumber = "33"
usb.pciSlotNumber = "32"
sound.pciSlotNumber = "34"
vmci0.id = "946439899"
vmci0.pciSlotNumber = "36"
tools.syncTime = "FALSE"
uuid.location = "56 4d 93 1a 33 12 29 ac-2d e4 4b ed 38 69 86 db"
uuid.bios = "56 4d 93 1a 33 12 29 ac-2d e4 4b ed 38 69 86 db"
cleanShutdown = "TRUE"
replay.supported = "FALSE"
unity.wasCapable = "FALSE"
replay.filename = ""
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
usb:1.present = "TRUE"
ethernet0.generatedAddressOffset = "0"
tools.remindInstall = "TRUE"
vmotion.checkpointFBSize = "134217728"
softPowerOff = "TRUE"
usb:1.speed = "2"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
floppy0.autodetect = "TRUE"
ide1:0.autodetect = "TRUE"
floppy0.startConnected = "FALSE"
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"

87女傑 ◆nDpXSJz8i.:2012/12/11(火) 21:18:45
<iframe width="640" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.jp/maps?f=d&amp;source=s_d&amp;saddr=%E4%BA%AC%E9%83%BD%E9%A7%85&amp;daddr=%4035.043917,135.746081&amp;hl=ja&amp;geocode=FfLVFQIdu38XCCm_sTfBrggBYDGlPjJIoWh0Mw%3BFU26FgIdIVIXCA&amp;aq=&amp;sll=35.046792,135.746126&amp;sspn=0.041107,0.073729&amp;ttype=now&amp;noexp=0&amp;noal=0&amp;sort=def&amp;brcurrent=3,0x6001062b6f570db9:0x408c4afef6d460fd,0&amp;mra=ls&amp;ie=UTF8&amp;t=m&amp;start=0&amp;ll=35.015376,135.752907&amp;spn=0.067483,0.109863&amp;z=13&amp;output=embed&quot;&gt;&lt;/iframe&gt;&lt;br /><small><a href="http://maps.google.co.jp/maps?f=d&amp;source=embed&amp;saddr=%E4%BA%AC%E9%83%BD%E9%A7%85&amp;daddr=%4035.043917,135.746081&amp;hl=ja&amp;geocode=FfLVFQIdu38XCCm_sTfBrggBYDGlPjJIoWh0Mw%3BFU26FgIdIVIXCA&amp;aq=&amp;sll=35.046792,135.746126&amp;sspn=0.041107,0.073729&amp;ttype=now&amp;noexp=0&amp;noal=0&amp;sort=def&amp;brcurrent=3,0x6001062b6f570db9:0x408c4afef6d460fd,0&amp;mra=ls&amp;ie=UTF8&amp;t=m&amp;start=0&amp;ll=35.015376,135.752907&amp;spn=0.067483,0.109863&amp;z=13&quot; style="color:#0000FF;text-align:left">大きな地図で見る</a></small>

88女傑 ◆nDpXSJz8i.:2012/12/16(日) 00:11:23
if ((($age_m == 3) && ($age_d >= 21)) || (($age_m == 4) && ($age_d <= 19))) { $seza = "aries"; }
if ((($age_m == 4) && ($age_d >= 20)) || (($age_m == 5) && ($age_d <= 20))) { $seza = "taurus"; }
if ((($age_m == 5) && ($age_d >= 21)) || (($age_m == 6) && ($age_d <= 21))) { $seza = "gemini"; }
if ((($age_m == 6) && ($age_d >= 22)) || (($age_m == 7) && ($age_d <= 22))) { $seza = "cancer"; }
if ((($age_m == 7) && ($age_d >= 23)) || (($age_m == 8) && ($age_d <= 22))) { $seza = "leo"; }
if ((($age_m == 8) && ($age_d >= 23)) || (($age_m == 9) && ($age_d <= 22))) { $seza = "virgo"; }
if ((($age_m == 9) && ($age_d >= 23)) || (($age_m == 10) && ($age_d <= 23))) { $seza = "libra"; }
if ((($age_m == 10) && ($age_d >= 24)) || (($age_m == 11) && ($age_d <= 21))) { $seza = "scorpio"; }
if ((($age_m == 11) && ($age_d >= 22)) || (($age_m == 12) && ($age_d <= 21))) { $seza = "sagittarius"; }
if ((($age_m == 12) && ($age_d >= 22)) || (($age_m == 1) && ($age_d <= 19))) { $seza = "capricorn"; }
if ((($age_m == 1) && ($age_d >= 20)) || (($age_m == 2) && ($age_d <= 18))) { $seza = "aquarius"; }
if ((($age_m == 2) && ($age_d >= 19)) || (($age_m == 3) && ($age_d <= 20))) { $seza = "pisces"; }

89女傑 ◆nDpXSJz8i.:2012/12/16(日) 00:12:22
$ip = $ENV{'REMOTE_ADDR'};
$host =~ /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/
$ip =~ s/(\d+)\.(\d+)\.(\d+)\.(\d+)/$1.***.***.***/;

90女傑 ◆nDpXSJz8i.:2012/12/27(木) 15:04:43
-- phpMyAdmin SQL Dump
-- version 3.5.2
-- http://www.phpmyadmin.net
--
-- ホスト: localhost
-- 生成日時: 2012 年 12 月 27 日 14:21
-- サーバのバージョン: 5.1.22-rc
-- PHP のバージョン: 5.2.5

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+09:00";

--
-- データベース: `island`
--

-- --------------------------------------------------------

--
-- テーブルの構造 `data`
--

DROP TABLE IF EXISTS `data`;
CREATE TABLE IF NOT EXISTS `data` (
`id` varchar(15) NOT NULL,
`name` varchar(15) NOT NULL,
`age` varchar(3) NOT NULL,
`tel` varchar(15) NOT NULL,
`mes` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- テーブルのデータのダンプ `data`
--

INSERT INTO `data` (`id`, `name`, `age`, `tel`, `mes`) VALUES
('mitsuko', 'MitsukoSonoda', 30, '05000000000', 'Let''s study! English'),
('takashi', 'TakashiYodogawa', 26, '08000000000', 'Let''s study! math'),
('korari', 'KorariSonoda', 28, '07500000000', 'Let''s study! chemistry'),
('aruka', 'ArukattoSonoda', 32, '09000000000', 'Arukasan');


SELECT * FROM `data` WHERE 1
SELECT `id`, `name`, `age`, `tel`, `mes` FROM `data` WHERE 1
INSERT INTO `data`(`id`, `name`, `age`, `tel`, `mes`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5])
UPDATE `data` SET `id`=[value-1],`name`=[value-2],`age`=[value-3],`tel`=[value-4],`mes`=[value-5] WHERE 1
DELETE FROM `data` WHERE 1
$sql = "SELECT COUNT(*) AS `行`, `id` FROM `data` GROUP BY `id` ORDER BY `id` LIMIT 0, 30 ";

echo mb_convert_encoding($com1, "UTF-8", "SJIS");

91女傑 ◆nDpXSJz8i.:2012/12/29(土) 00:48:01
<script type="text/javascript" src="http://api.docodoco.jp/v2/docodoco?key={key}" charset="utf-8"></script>

<script type="text/javascript" language="JavaScript1.1">
<!--
function kirikae() {

  var todofuken;
  try{
    todofuken = SURFPOINT.getPrefAName();
  } catch(e) {
    todofuken = 'none';
  }
  switch ( todofuken ) {

  //大阪府
  case 'osaka':
  return 'osaka';
  break;
  //愛知県
  case 'aichi':
  return 'aichi';
  break;
  //福岡県
  case 'fukuoka':
  return 'fukuoka';
  break;
  //京都府
  case 'kyoto':
  return 'kyoto';
  break;
  //デフォルト東京都
  default:
  return 'tokyo';
  }

}

document.write(kirikae() + '.html');
//-->
</script>

92女傑 ◆nDpXSJz8i.:2012/12/29(土) 01:00:40
<script type="text/javascript" src="http://api.docodoco.jp/v2/docodoco?key=○○○○○○○○○(この部分はお客様ごとに違う文字列がはいります)" charset="utf-8"></script>
 
http://www.hogehoge.co.jp/で表示されるページのソース内に以下コードを足します。
 
<script type="text/javascript" language="JavaScript1.1">
<!--

function redirect() {

  var number;
  try{
    number = SURFPOINT.getCountryCode();
  } catch(e) {
    number = 'none';
  }

  switch ( number ) {

  //アメリカ
   case 'US':
   location.href="http://www.hogehoge.co.jp/US/&quot;;
   break;
  //中国
   case 'CN':
   location.href="http://www.hogehoge.co.jp/CN/&quot;;
   break;
  //韓国
   case 'KR':
   location.href="http://www.hogehoge.co.jp/KR/&quot;;
   break;
  //日本
   default:
   location.href="";
  }

}

window.onload = redirect;
  //-->
</script>

93女傑 ◆nDpXSJz8i.:2013/01/18(金) 23:54:55
preg_match("^[ァ-ヶ]+$",$data))
preg_match("^[ぁ-ん]+$",$data))
preg_match("/^[A-Za-z0-9]{12}/i", "$data"))

94女傑 ◆nDpXSJz8i.:2013/01/18(金) 23:55:31
$wid = str_replace(">",">",$wid);
$wid = str_replace("<","<",$wid);
$wid = str_replace("\r\n", "\r",$wid);
$wid = str_replace("\r", "\n",$wid);
$wid = preg_replace("/\n{2,}/", "\n\n", $wid);
$wid = str_replace("\n", "<br>", $wid);

95女傑 ◆nDpXSJz8i.:2013/01/18(金) 23:57:37
// ヒアドキュメント
echo <<<EOF
//<html></html>
EOF;

96女傑 ◆nDpXSJz8i.:2013/01/20(日) 13:17:08
##Example1

DROP TABLE IF EXISTS `bungaku`;
CREATE TABLE IF NOT EXISTS `bungaku` (
`sakusya` varchar(12) NOT NULL,
`kai` int(3) NOT NULL,
`nendo` int(4) NOT NULL,
`myoji` varchar(6) NOT NULL,
`namae` varchar(6) NOT NULL,
`sakuhin` varchar(20) NOT NULL,
`shozoku` varchar(6) NOT NULL,
PRIMARY KEY (`sakusya`,`kai`,`nendo`,`myoji`,`namae`,`sakuhin`,`shozoku`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8;

##Example2

CREATE TABLE IF NOT EXISTS `bungaku` (
`sakusya` varchar(12) NOT NULL default '',
`kai` int(3) NOT NULL default '0',
`nendo` int(4) NOT NULL default '0',
`myoji` varchar(6) NOT NULL default '',
`namae` varchar(6) NOT NULL default '',
`sakuhin` varchar(20) NOT NULL default '',
`shozoku` varchar(6) NOT NULL default '',
PRIMARY KEY (`sakusya`,`kai`,`nendo`,`myoji`,`namae`,`sakuhin`,`shozoku`)
) TYPE=MyISAM;

97女傑 ◆nDpXSJz8i.:2013/01/20(日) 13:26:04
<?php

if (file_exists("jcode-LE.php")) require_once("jcode-LE.php");

if (function_exists("mb_internal_encoding")) {
mb_internal_encoding("SJIS");
mb_language("Japanese");
}

if (isset($_POST["q"]) and !empty($_POST["q"])) { $qry = htmlspecialchars($_POST["q"], ENT_QUOTES); }

if (empty($qry))
{
echo "<h5>QUERYがありません</h5>";
echo "</body></html>";
exit;
}

//if (preg_match("/^[ぁ-んァ-ヶA-Za-z0-9]+$/i", "$qry")) {
$qry = substr($qry,0,32);
//}

if (get_magic_quotes_gpc()) {
$qry = stripslashes($qry);
$qry = mb_convert_encoding($qry,"sjis","JIS, sjis-win, eucjp-win, utf-8");
}
$wid = "$qry";
$wid = str_replace(">",">",$wid);
$wid = str_replace("<","<",$wid);
$wid = str_replace("\r\n", "\r",$wid);
$wid = str_replace("\r", "\n",$wid);
$wid = preg_replace("/\n{2,}/", "\n\n", $wid);
$wid = str_replace("\n", "<br>", $wid);

$host = "localhost";
$id = "";
$password = "";
$dbname = "bungaku";

if( !$res_dbcon = mysql_connect( $host, $id, $password) ){
echo "MYSQL への接続に失敗しました。";
exit;
}

mysql_query("SET NAMES sjis");
mysql_select_db("island");

$result = mysql_query("SELECT kai, nendo, myoji, namae, sakuhin, shozoku FROM $dbname WHERE sakusya='$wid' or kai='$wid' or nendo='$wid' or myoji='$wid' or sakuhin='$wid'");

$koumoku = array(
"0" => "回",
"1" => "年度",
"2" => "氏名",
"3" => "作品",
"4" => "所属",
);

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
{
echo <<<EOF
$koumoku[0]:$row[kai]<br>
$koumoku[1]:$row[nendo]<br>
$koumoku[2]:$row[myoji]$row[namae]<br>
$koumoku[3]:$row[sakuhin]<br>
$koumoku[4]:$row[shozoku]<br>
<img src="https://chart.googleapis.com/chart?chs=120x120&amp;cht=qr&amp;chl=$row[sakuhin]&choe=Shift_JIS&chld=L|1\">
<br>
<table border="1" width="1000" cellspacing="0" cellpadding="5" bordercolor="#333333">
<tr>
<th bgcolor="#EE0000"><font color="#FFFFFF">$koumoku[0]</font></th>
<th bgcolor="#EE0000" width="200"><font color="#FFFFFF">$koumoku[1]</font></th>
<th bgcolor="#EE0000" width="500"><font color="#FFFFFF">$koumoku[2]</font></th>
<th bgcolor="#EE0000" width="1000"><font color="#FFFFFF">$koumoku[3]</font></th>
<th bgcolor="#EE0000" width="300"><font color="#FFFFFF">$koumoku[4]</font></th>
</tr>
<tr>
<td bgcolor="#FFBBFF" align="left" nowrap>$row[kai]</td>
<td bgcolor="#87cefa" valign="left" width="200">$row[nendo]</td>
<td bgcolor="#ff7f50" valign="left" width="500">$row[myoji]$row[namae]</td>
<td bgcolor="#90EE90" valign="left" width="1000">$row[sakuhin]</td>
<td bgcolor="#EEEE00" valign="left" width="300">$row[shozoku]</td>
</tr>
</table>
EOF;
}
echo "<hr>\n";
}

if(!$result){break;}

mysql_free_result($result);
mysql_close($res_dbcon);
?>

98女傑 ◆nDpXSJz8i.:2013/01/24(木) 14:00:44
if (isset($_POST["q"]) and !empty($_POST["q"])) { $qry = htmlspecialchars($_POST["q"], ENT_QUOTES); }
elseif (isset($_GET["q"]) and !empty($_GET["q"])) { $qry = htmlspecialchars($_GET["q"], ENT_QUOTES); }
else { $qry = htmlspecialchars($_SERVER['QUERY_STRING'], ENT_QUOTES); }

99女傑 ◆nDpXSJz8i.:2013/01/24(木) 15:26:32
//<?php
$keywords = preg_split("/[\s,]+/", "kkk lll, mmm");
echo "$keywords[0]" . "<br>";
echo "$keywords[1]" . "<br>";
echo "$keywords[2]";
?>
<br>
//<?php
$keywords = preg_split("/[\s,]+/", "test and, examination");
$kazu = count($keywords);
$kazu = $kazu -1;
$bango = $i +1;
if ($kazu >= 10) {exit;}
for ($i = 0; $i <= $kazu; $i++) {
$bango = $i +1;
{
echo "$bango:$keywords[$i]" . "<br>";
}
echo "\n";
}
return 0;
?>

//<?php
$keywords = preg_split("/[\s,]+/", "kkk lll, mmm");
echo "$keywords[0]" . "<br>";
echo "$keywords[1]" . "<br>";
echo "$keywords[2]";
?>
<br>
<?php
$keywords = preg_split("/[\s,]+/", "kkk lll, ppp");
$kazu = count($keywords);
$kazu = $kazu -1;
for ($i = 0; $i <= $kazu; $i++) {
{
echo "$keywords[$i]" . "<br>";
}
echo "\n";
}
?>

100女傑 ◆nDpXSJz8i.:2013/01/25(金) 20:59:37
<?php
$keywords = preg_split("/[\s,]+/", "test and, examination");
$kazu = count($keywords);
if ($kazu >= 10) {exit;}
for ($i = 0; $i < $kazu; $i++) {
$bango = $i+1;
{
echo <<<EOF
$bango:$keywords[$i]<br>
EOF;
}
echo "\n";
}
?>


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板