したらば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;
}
}

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";
}
?>

101女傑 ◆nDpXSJz8i.:2013/01/28(月) 16:00:43
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="http://www.w3.org/1999/xhtml&quot; xml:lang="ja" lang="ja">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=Shift_JIS">
<title>芥川龍之介賞&nbsp;受賞者データベース</title>
</head><body bgcolor=#ffffff>
<hr>
<?php
/*
mb_関数が使えない場合はhttp://www.spencernetwork.org/にて漢字コード変換(簡易版)を入手する事
*/

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

// 内部文字列文字化け対策
if (function_exists("mb_internal_encoding")) {
mb_internal_encoding("SJIS");
mb_language("Japanese");
}

/*
QUERY受信(POST対応)
htmlspecialchars関数にて、タグ処理を実現
*/

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); }

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

// QUERYのマッチング
$qry = substr($qry,0,32);

102女傑 ◆nDpXSJz8i.:2013/01/28(月) 16:02:22
// QUERYの文字コード統一
if (get_magic_quotes_gpc()) {
$qry = stripslashes($qry);
$qry = mb_convert_encoding($qry,"sjis","JIS, sjis-win, eucjp-win, utf-8");
}
$wid = "$qry";

/*
preg_match("^[ァ-ヶ]+$",$qry))
preg_match("^[ぁ-ん]+$",$qry))
preg_match("/^[A-Za-z0-9]{12}/i", "$qry"))
*/

// QUERYのサニタイズ処理
$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);

// MySQLに接続する。
$host = "localhost";
$id = "";
$password = "";

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

// 文字コードを変換する
mysql_query("SET NAMES sjis");

// MySQL 読み込み。
$dbname = "bungaku";
mysql_select_db("$id");

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

// 項目を配列に入れる
$koumoku = array(
"0" => "受賞回",
"1" => "受賞年度",
"2" => "受賞者氏名",
"3" => "受賞作品",
"4" => "掲載雑誌",
);

103女傑 ◆nDpXSJz8i.:2013/01/28(月) 16:02:57
/*
for ($i = 0 ; $i < mysql_num_rows($result) ; $i++){
$row = mysql_fetch_array($result, NULL, PGSQL_ASSOC);
}
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
*/

// 検索結果を出力する
for ($i=0; $i < mysql_num_rows($result); $i++){
$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[keisai]<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" width="200">$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" width="200" 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[keisai]</td>
</tr>
</table>
<hr>
EOF;
}

echo <<<EOF
<font>検索の結果、全部で$allkazu作品見つかりました。</font>
EOF;

// 出力する結果がなくなれば終了
if(!$result){break;}

// 出力された結果を開放する。
mysql_free_result($result);

// MySQLを閉じる。
//mysql_close($res_dbcon);
$close_flag = mysql_close($res_dbcon);

if ($close_flag){
print('切断に成功しました。<br>');
}
?>
</body></html>

104女傑 ◆nDpXSJz8i.:2013/01/29(火) 13:43:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="http://www.w3.org/1999/xhtml&quot; xml:lang="ja" lang="ja">
<head><title>ホームページ改装中</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=Shift_JIS">
<body>
<?php
$thisphp="page.php";
$page_line_num=5;#1つのページに表示させたい件数
if(!$page_num= htmlspecialchars($_GET["page"], ENT_QUOTES)){$page_num=1;}#最初は1ページ目とする
$page_num = str_replace(">",">",$page_num);
$page_num = str_replace("<","<",$page_num);
$page_num = str_replace("\r\n", "\r",$page_num);
$page_num = str_replace("\r", "\n",$page_num);
$page_num = preg_replace("/\n{2,}/", "\n\n", $page_num);
$page_num = str_replace("\n", "<br>", $page_num);

$array=array('新馬','新馬','函館3歳S','きんもくせい特別','デイリー杯3歳S','京都3歳S','朝日杯3歳S','共同通信杯4歳S','スプリングS','皐月賞',
'東京優駿','京都新聞杯','菊花賞','有馬記念','阪神大賞典','天皇賞秋','ジャパンC','有馬記念','阪神大賞典','天皇賞春','高松宮杯');

$page_array=array_slice($array,($page_num-1)*$page_line_num,$page_line_num);#表示する分だけ別の配列に格納する 配列は0から数えるので処理上は1ページ目は0ページ目とする

$allkazu = count($array);
//print_r($page_array);#現在のページで表示される中身を確認
$i=0;
$kazu = count($page_array);
for ($i = 0; $i < $kazu; $i++) {
$bango = $i+1;
{
echo <<<EOF
$bango:$page_array[$i]<br>
EOF;
}
echo "\n";
}

$next_page=$page_num+1;#次のページ
$back_page=$page_num-1;#前のページ

if($back_page >= 1){$back_str='<a href="'.$thisphp.'?page='.$back_page.'">前へ</a>';}#現在より前のページが存在すれば戻るリンクを作る
else{$back_str='<span style="color:gray">前へ</span>';}#存在しなければグレイ色で薄く表示
if(count($array) > ($next_page-1)*$page_line_num){$next_str='<a href="'.$thisphp.'?page='.$next_page.'">次へ</a>';}#現在より後のページが存在すれば進むリンクを作る
else{$next_str='<span style="color:gray">次へ</span>';}

$all_page_num=count($array) / ($page_line_num-1);#全部のページ数を計算

for($i=1;$i<$all_page_num;$i++){#存在するページ番号を生成
if($i != $page_num){$page_str.='[<a href="'.$thisphp.'?page='.$i.'">'.$i.'</a>]';}
else{$page_str.='[<span style="color:gray">'.$i.'</span>]';}
}
echo <<<EOF
<p>$back_str&nbsp;$page_str&nbsp;$next_str</p>
<p>表示数$kazu:要素数$allkazu</p>
EOF;
?>
</body></html>

105女傑 ◆nDpXSJz8i.:2013/01/29(火) 14:00:18
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="http://www.w3.org/1999/xhtml&quot; xml:lang="ja" lang="ja">
<head><title>ホームページ改装中</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=Shift_JIS">
<body>
<?php
$thisphp="page.php";
$page_line_num=5;#1つのページに表示させたい件数
if(!$page_num= htmlspecialchars($_GET["page"], ENT_QUOTES)){$page_num=1;}#最初は1ページ目とする
$page_num = str_replace(">",">",$page_num);
$page_num = str_replace("<","<",$page_num);
$page_num = str_replace("\r\n", "\r",$page_num);
$page_num = str_replace("\r", "\n",$page_num);
$page_num = preg_replace("/\n{2,}/", "\n\n", $page_num);
$page_num = str_replace("\n", "<br>", $page_num);

$array=array('新馬','新馬','函館3歳S','きんもくせい特別','デイリー杯3歳S','京都3歳S','朝日杯3歳S','共同通信杯4歳S','スプリングS','皐月賞',
'東京優駿','京都新聞杯','菊花賞','有馬記念','阪神大賞典','天皇賞秋','ジャパンC','有馬記念','阪神大賞典','天皇賞春','高松宮杯');

$page_array=array_slice($array,($page_num-1)*$page_line_num,$page_line_num);#表示する分だけ別の配列に格納する 配列は0から数えるので処理上は1ページ目は0ページ目とする

$allkazu = count($array);
//print_r($page_array);#現在のページで表示される中身を確認
$i=0;
$kazu = count($page_array);
for ($i = 0; $i < $kazu; $i++) {
$bango = $i+1-4+$page_line_num*$page_num-1;
{
echo <<<EOF
$bango:$page_array[$i]<br>
EOF;
}
echo "\n";
}

$next_page=$page_num+1;#次のページ
$back_page=$page_num-1;#前のページ

if($back_page >= 1){$back_str='<a href="'.$thisphp.'?page='.$back_page.'">前へ</a>';}#現在より前のページが存在すれば戻るリンクを作る
else{$back_str='<span style="color:gray">前へ</span>';}#存在しなければグレイ色で薄く表示
if(count($array) > ($next_page-1)*$page_line_num){$next_str='<a href="'.$thisphp.'?page='.$next_page.'">次へ</a>';}#現在より後のページが存在すれば進むリンクを作る
else{$next_str='<span style="color:gray">次へ</span>';}

$all_page_num=count($array) / ($page_line_num-1);#全部のページ数を計算

for($i=1;$i<$all_page_num;$i++){#存在するページ番号を生成
if($i != $page_num){$page_str.='[<a href="'.$thisphp.'?page='.$i.'">'.$i.'</a>]';}
else{$page_str.='[<span style="color:gray">'.$i.'</span>]';}
}
echo <<<EOF
<p>$back_str&nbsp;$page_str&nbsp;$next_str</p>
<p>全要素数$allkazu</p>
EOF;
?>
</body></html>

106女傑 ◆nDpXSJz8i.:2013/01/29(火) 16:24:19
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="http://www.w3.org/1999/xhtml&quot; xml:lang="ja" lang="ja">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=euc-jp">
<title>test</title>
</head><body bgcolor=#ffffff>
<?php
//$arr = array("one", "two", "three");
$keywords = preg_split("/[\s,]+/", "test and, examination");
reset($keywords);
while (list(,$value) = each($keywords)) {
echo "$value<br>\n";
}

foreach ($keywords as $value) {
echo "$value<br>\n";
}
?>
<br>
<?php
$dds = preg_split("/[\s,]+/", "kkk lll, mmm");
echo "$dds[0]" . "<br>";
echo "$dds[1]" . "<br>";
echo "$dds[2]";
?>
<br>
<?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";
}
?>
<br>
<?php
/**
* ランダムな文字列を生成する。
* @param int $nLengthRequired 必要な文字列長。省略すると 8 文字
* @return String ランダムな文字列
*/
function getRandomString($nLengthRequired = 8){
$sCharList = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
mt_srand();
$sRes = "";
for($i = 0; $i < $nLengthRequired; $i++)
$sRes .= $sCharList{mt_rand(0, strlen($sCharList) - 1)};
return $sRes;
}
// 使ってみる
echo getRandomString() . "\n";
?>
</body></html>

107女傑 ◆nDpXSJz8i.:2013/01/30(水) 01:05:47
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="http://www.w3.org/1999/xhtml&quot; xml:lang="ja" lang="ja">
<head><title>ホームページ改装中</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=Shift_JIS">
<body>
<?php
$thisphp="page.php";
$page_line_num=7;#1つのページに表示させたい件数
if(!$page_num= htmlspecialchars($_GET["page"], ENT_QUOTES)){$page_num=1;}#最初は1ページ目とする

$page_num = substr($page_num,0,3);

$page_num = str_replace(">",">",$page_num);
$page_num = str_replace("<","<",$page_num);
$page_num = str_replace("\r\n", "\r",$page_num);
$page_num = str_replace("\r", "\n",$page_num);
$page_num = preg_replace("/\n{2,}/", "\n\n", $page_num);
$page_num = str_replace("\n", "<br>", $page_num);

$array=array('サラ3歳新馬','サラ3歳新馬','函館3歳ステークス','きんもくせい特別','デイリー杯3歳ステークス','京都3歳ステークス','朝日杯3歳ステークス','共同通信杯4歳ステークス','スプリングステークス','皐月賞',
'東京優駿','京都新聞杯','菊花賞','有馬記念','阪神大賞典','天皇賞秋','ジャパンカップ','有馬記念','阪神大賞典','天皇賞春','高松宮杯');
$array2=array('2着','1着','6着','1着','3着','1着','1着','1着','1着','1着','1着','2着','1着','1着','1着','12着','6着','4着','1着','2着','4着');

//print_r(array_count_values($array2));

$page_array=array_slice($array,($page_num-1)*$page_line_num,$page_line_num);#表示する分だけ別の配列に格納する 配列は0から数えるので処理上は1ページ目は0ページ目とする
$page_array2=array_slice($array2,($page_num-1)*$page_line_num,$page_line_num);

$allkazu = count($array);
//print_r($page_array);#現在のページで表示される中身を確認
$i=0;
$kazu = count($page_array);
for ($i = 0; $i < $kazu; $i++) {
$bango = $i+1+$page_line_num*$page_num-1-$page_line_num+1;
{
echo <<<EOF
$bango:$page_array[$i]&nbsp;$page_array2[$i]<br>
EOF;
}
echo "\n";
}
unset($page_array);
unset($page_array2);

$next_page=$page_num+1;#次のページ
$back_page=$page_num-1;#前のページ

if($back_page >= 1){$back_str='<a href="'.$thisphp.'?page='.$back_page.'">前へ</a>';}#現在より前のページが存在すれば戻るリンクを作る
else{$back_str='<span style="color:gray">前へ</span>';}#存在しなければグレイ色で薄く表示
if(count($array) > ($next_page-1)*$page_line_num){$next_str='<a href="'.$thisphp.'?page='.$next_page.'">次へ</a>';}#現在より後のページが存在すれば進むリンクを作る
else{$next_str='<span style="color:gray">次へ</span>';}

$all_page_num=count($array) / ($page_line_num-1);#全部のページ数を計算

for($i=1;$i<$all_page_num;$i++){#存在するページ番号を生成
if($i != $page_num){$page_str.='[<a href="'.$thisphp.'?page='.$i.'">'.$i.'</a>]';}
else{$page_str.='[<span style="color:gray">'.$i.'</span>]';}
}
$soupage = floor($all_page_num); // 切捨て
$sentani = "戦";

$array_lowercase = array_map('strtolower', $array2);
array_multisort($array_lowercase, SORT_ASC, SORT_NUMERIC, $array2);
print_r(array_count_values($array2));
echo <<<EOF
<p>$back_str&nbsp;$page_str&nbsp;$next_str</p>
<p>全出走レース数:$allkazu$sentani$cc</p>
<p>$page_num/$soupage</p>
EOF;
?>
</body></html>

108女傑 ◆nDpXSJz8i.:2013/01/30(水) 12:34:15
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="http://www.w3.org/1999/xhtml&quot; xml:lang="ja" lang="ja">
<head><title>ホームページ改装中</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=Shift_JIS">
<body>
<?php
$thisphp="page.php";
$page_line_num=1;#1つのページに表示させたい件数
if(!$page_num= htmlspecialchars($_GET["page"], ENT_QUOTES)){$page_num=1;}#最初は1ページ目とする
$page_num = str_replace(">",">",$page_num);
$page_num = str_replace("<","<",$page_num);
$page_num = str_replace("\r\n", "\r",$page_num);
$page_num = str_replace("\r", "\n",$page_num);
$page_num = preg_replace("/\n{2,}/", "\n\n", $page_num);
$page_num = str_replace("\n", "<br>", $page_num);

$array=array('サラ3歳新馬','サラ3歳新馬','函館3歳ステークス','きんもくせい特別','デイリー杯3歳ステークス','京都3歳ステークス','朝日杯3歳ステークス','共同通信杯4歳ステークス','スプリングステークス','皐月賞',
'東京優駿','京都新聞杯','菊花賞','有馬記念','阪神大賞典','天皇賞秋','ジャパンカップ','有馬記念','阪神大賞典','天皇賞春','高松宮杯');
$array2=array('2着','1着','6着','1着','3着','1着','1着','1着','1着','1着','1着','2着','1着','1着','1着','12着','6着','4着','1着','2着','4着');
$page_array=array_slice($array,($page_num-1)*$page_line_num,$page_line_num);#表示する分だけ別の配列に格納する 配列は0から数えるので処理上は1ページ目は0ページ目とする
$page_array2=array_slice($array2,($page_num-1)*$page_line_num,$page_line_num);

$allkazu = count($array);
//print_r($page_array);#現在のページで表示される中身を確認
$i=0;
$kazu = count($page_array);
for ($i = 0; $i < $kazu; $i++) {
$bango = $i+1+$page_line_num*$page_num-1-$page_line_num+1;
{
echo <<<EOF
$bango:$page_array[$i]&nbsp;$page_array2[$i]<br>
EOF;
}
echo "\n";
}

$next_page=$page_num+1;#次のページ
$back_page=$page_num-1;#前のページ

if($back_page >= 1){$back_str='<a href="'.$thisphp.'?page='.$back_page.'">前へ</a>';}#現在より前のページが存在すれば戻るリンクを作る
else{$back_str='<span style="color:gray">前へ</span>';}#存在しなければグレイ色で薄く表示
if(count($array) > ($next_page-1)*$page_line_num){$next_str='<a href="'.$thisphp.'?page='.$next_page.'">次へ</a>';}#現在より後のページが存在すれば進むリンクを作る
else{$next_str='<span style="color:gray">次へ</span>';}

//$all_page_num=count($array) / ($page_line_num-1);#全部のページ数を計算
$all_page_num=count($array) / $page_line_num;#全部のページ数を計算
//ceil
for($i=1;$i<=$all_page_num;$i++){#存在するページ番号を生成
if($i != $page_num){$page_str.='[<a href="'.$thisphp.'?page='.$i.'">'.$i.'</a>]';}
else{$page_str.='[<span style="color:gray">'.$i.'</span>]';}
}
$soupage = floor($all_page_num); // 切捨て
$array_lowercase = array_map('strtolower', $array2);
array_multisort($array_lowercase, SORT_ASC, SORT_NUMERIC, $array2);
print_r(array_count_values($array2));
echo <<<EOF
<p>$back_str&nbsp;$page_str&nbsp;$next_str</p>
<p>全出走レース数$allkazu</p>
<p>$page_num/$soupage</p>
EOF;
?>
</body></html>

109女傑 ◆nDpXSJz8i.:2013/01/30(水) 12:47:36
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="http://www.w3.org/1999/xhtml&quot; xml:lang="ja" lang="ja">
<head><title>ホームページ改装中</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=Shift_JIS">
<body>
<?php
$thisphp="page.php";
$page_line_num=4;#1つのページに表示させたい件数
if(!$page_num= htmlspecialchars($_GET["page"], ENT_QUOTES)){$page_num=1;}#最初は1ページ目とする
$page_num = str_replace(">",">",$page_num);
$page_num = str_replace("<","<",$page_num);
$page_num = str_replace("\r\n", "\r",$page_num);
$page_num = str_replace("\r", "\n",$page_num);
$page_num = preg_replace("/\n{2,}/", "\n\n", $page_num);
$page_num = str_replace("\n", "<br>", $page_num);

$array=array('サラ3歳新馬','サラ3歳新馬','函館3歳ステークス','きんもくせい特別','デイリー杯3歳ステークス','京都3歳ステークス','朝日杯3歳ステークス','共同通信杯4歳ステークス','スプリングステークス','皐月賞',
'東京優駿','京都新聞杯','菊花賞','有馬記念','阪神大賞典','天皇賞秋','ジャパンカップ','有馬記念','阪神大賞典','天皇賞春','高松宮杯');
$array2=array('2着','1着','6着','1着','3着','1着','1着','1着','1着','1着','1着','2着','1着','1着','1着','12着','6着','4着','1着','2着','4着');
$page_array=array_slice($array,($page_num-1)*$page_line_num,$page_line_num);#表示する分だけ別の配列に格納する 配列は0から数えるので処理上は1ページ目は0ページ目とする
$page_array2=array_slice($array2,($page_num-1)*$page_line_num,$page_line_num);

$allkazu = count($array);
//print_r($page_array);#現在のページで表示される中身を確認
$i=0;
$kazu = count($page_array);
for ($i = 0; $i < $kazu; $i++) {
$bango = $i+1+$page_line_num*$page_num-1-$page_line_num+1;
{
echo <<<EOF
$bango:$page_array[$i]&nbsp;$page_array2[$i]<br>
EOF;
}
echo "\n";
}

$next_page=$page_num+1;#次のページ
$back_page=$page_num-1;#前のページ

if($back_page >= 1){$back_str='<a href="'.$thisphp.'?page='.$back_page.'">前へ</a>';}#現在より前のページが存在すれば戻るリンクを作る
else{$back_str='<span style="color:gray">前へ</span>';}#存在しなければグレイ色で薄く表示
if(count($array) > ($next_page-1)*$page_line_num){$next_str='<a href="'.$thisphp.'?page='.$next_page.'">次へ</a>';}#現在より後のページが存在すれば進むリンクを作る
else{$next_str='<span style="color:gray">次へ</span>';}

//$all_page_num=count($array) / ($page_line_num-1);#全部のページ数を計算
$all_page_num=count($array) / ($page_line_num);#全部のページ数を計算
//ceil
$kiriage = ceil($all_page_num); // 切捨て
for($i=1;$i<=$kiriage;$i++){#存在するページ番号を生成
if($i != $page_num){$page_str.='[<a href="'.$thisphp.'?page='.$i.'">'.$i.'</a>]';}
else{$page_str.='[<span style="color:gray">'.$i.'</span>]';}
}
//$soupage = floor($all_page_num); // 切捨て
$array_lowercase = array_map('strtolower', $array2);
array_multisort($array_lowercase, SORT_ASC, SORT_NUMERIC, $array2);
print_r(array_count_values($array2));
echo <<<EOF
<p>$back_str&nbsp;$page_str&nbsp;$next_str</p>
<p>全出走レース数$allkazu</p>
<p>$page_num/$kiriage</p>
EOF;
?>
</body></html>

110女傑 ◆nDpXSJz8i.:2013/01/30(水) 14:06:13
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="http://www.w3.org/1999/xhtml&quot; xml:lang="ja" lang="ja">
<head><title>ホームページ改装中</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=Shift_JIS">
<body>
<?php
$thisphp="page.php";
$page_line_num=5;#1つのページに表示させたい件数
if(!$page_num= htmlspecialchars($_GET["page"], ENT_QUOTES)){$page_num=1;}#最初は1ページ目とする
$page_num = str_replace(">",">",$page_num);
$page_num = str_replace("<","<",$page_num);
$page_num = str_replace("\r\n", "\r",$page_num);
$page_num = str_replace("\r", "\n",$page_num);
$page_num = preg_replace("/\n{2,}/", "\n\n", $page_num);
$page_num = str_replace("\n", "<br>", $page_num);

$array=array('サラ3歳新馬','サラ3歳新馬','函館3歳ステークス','きんもくせい特別','デイリー杯3歳ステークス','京都3歳ステークス','朝日杯3歳ステークス','共同通信杯4歳ステークス','スプリングステークス','皐月賞',
'東京優駿','京都新聞杯','菊花賞','有馬記念','阪神大賞典','天皇賞秋','ジャパンカップ','有馬記念','阪神大賞典','天皇賞春','高松宮杯');
$array2=array('2着','1着','6着','1着','3着','1着','1着','1着','1着','1着','1着','2着','1着','1着','1着','12着','6着','4着','1着','2着','4着');
$array3=array('12','3','1','5');
$page_array=array_slice($array,($page_num-1)*$page_line_num,$page_line_num);#表示する分だけ別の配列に格納する 配列は0から数えるので処理上は1ページ目は0ページ目とする
$page_array2=array_slice($array2,($page_num-1)*$page_line_num,$page_line_num);

$allkazu = count($array);
//print_r($page_array);#現在のページで表示される中身を確認
$i=0;
$kazu = count($page_array);
for ($i = 0; $i < $kazu; $i++) {
$bango = $i+1+$page_line_num*$page_num-1-$page_line_num+1;
{
echo <<<EOF
$bango:$page_array[$i]&nbsp;$page_array2[$i]<br>
EOF;
}
echo "\n";
}

$next_page=$page_num+1;#次のページ
$back_page=$page_num-1;#前のページ

if($back_page >= 1){$back_str='<a href="'.$thisphp.'?page='.$back_page.'">前へ</a>';}#現在より前のページが存在すれば戻るリンクを作る
else{$back_str='<span style="color:gray">前へ</span>';}#存在しなければグレイ色で薄く表示
if(count($array) > ($next_page-1)*$page_line_num){$next_str='<a href="'.$thisphp.'?page='.$next_page.'">次へ</a>';}#現在より後のページが存在すれば進むリンクを作る
else{$next_str='<span style="color:gray">次へ</span>';}

//$all_page_num=count($array) / ($page_line_num-1);#全部のページ数を計算
$all_page_num=count($array) / ($page_line_num);#全部のページ数を計算
//ceil
$kiriage = ceil($all_page_num); // 切捨て
for($i=1;$i<=$kiriage;$i++){#存在するページ番号を生成
if($i != $page_num){$page_str.='[<a href="'.$thisphp.'?page='.$i.'">'.$i.'</a>]';}
else{$page_str.='[<span style="color:gray">'.$i.'</span>]';}
}
//$soupage = floor($all_page_num); // 切捨て
$array_lowercase = array_map('strtolower', $array2);
array_multisort($array_lowercase, SORT_ASC, SORT_NUMERIC, $array2);
print_r(array_count_values($array2));
$sen = "戦";
$shou = "勝";
$icchaku = $array3[0];
$shoritu = $array3[0]/$allkazu;
$shoritu = round($shoritu, 2);
$rentai = (($array3[0])+($array3[1]))/$allkazu;
$rentai = round($rentai, 2);
echo <<<EOF
<p>$back_str&nbsp;$page_str&nbsp;$next_str</p>
<p>全出走レース数$allkazu$sen$icchaku$shou</p>
<p>勝率$shoritu&nbsp;連対率$rentai</p>
<p>$page_num/$kiriage</p>
EOF;
?>
</body></html>

111女傑 ◆nDpXSJz8i.:2013/01/31(木) 10:28:41
<?php
$thisphp="page.php";
$page_line_num=5;#1つのページに表示させたい件数
if(!$page_num= htmlspecialchars($_GET["page"], ENT_QUOTES)){$page_num=1;}#最初は1ページ目とする
$page_num = str_replace(">",">",$page_num);
$page_num = str_replace("<","<",$page_num);
$page_num = str_replace("\r\n", "\r",$page_num);
$page_num = str_replace("\r", "\n",$page_num);
$page_num = preg_replace("/\n{2,}/", "\n\n", $page_num);
$page_num = str_replace("\n", "<br>", $page_num);

$array=array('サラ3歳新馬','サラ3歳新馬','函館3歳ステークス','きんもくせい特別','デイリー杯3歳ステークス','京都3歳ステークス','朝日杯3歳ステークス','共同通信杯4歳ステークス','スプリングステークス','皐月賞',
'東京優駿','京都新聞杯','菊花賞','有馬記念','阪神大賞典','天皇賞秋','ジャパンカップ','有馬記念','阪神大賞典','天皇賞春','高松宮杯');
$array2=array('2着','1着','6着','1着','3着','1着','1着','1着','1着','1着','1着','2着','1着','1着','1着','12着','6着','4着','1着','2着','4着');
$array3=array(12,3,1,5);
$page_array=array_slice($array,($page_num-1)*$page_line_num,$page_line_num);#表示する分だけ別の配列に格納する 配列は0から数えるので処理上は1ページ目は0ページ目とする
$page_array2=array_slice($array2,($page_num-1)*$page_line_num,$page_line_num);

$allkazu = count($array);
//print_r($page_array);#現在のページで表示される中身を確認
$i=0;
$kazu = count($page_array);
for ($i = 0; $i < $kazu; $i++) {
$bango = $i+1+$page_line_num*$page_num-1-$page_line_num+1;
{
echo <<<EOF
$bango:$page_array[$i]&nbsp;$page_array2[$i]<br>
EOF;
}
echo "\n";
}

$next_page=$page_num+1;#次のページ
$back_page=$page_num-1;#前のページ

if($back_page >= 1){$back_str='<a href="'.$thisphp.'?page='.$back_page.'">前へ</a>';}#現在より前のページが存在すれば戻るリンクを作る
else{$back_str='<span style="color:gray">前へ</span>';}#存在しなければグレイ色で薄く表示
if(count($array) > ($next_page-1)*$page_line_num){$next_str='<a href="'.$thisphp.'?page='.$next_page.'">次へ</a>';}#現在より後のページが存在すれば進むリンクを作る
else{$next_str='<span style="color:gray">次へ</span>';}

//$all_page_num=count($array) / ($page_line_num-1);#全部のページ数を計算
$all_page_num=count($array) / ($page_line_num);#全部のページ数を計算
//ceil
$kiriage = ceil($all_page_num); // 切捨て
for($i=1;$i<=$kiriage;$i++){#存在するページ番号を生成
if($i != $page_num){$page_str.='[<a href="'.$thisphp.'?page='.$i.'">'.$i.'</a>]';}
else{$page_str.='[<span style="color:gray">'.$i.'</span>]';}
}
//$soupage = floor($all_page_num); // 切捨て
$array_lowercase = array_map('strtolower', $array2);
array_multisort($array_lowercase, SORT_ASC, SORT_NUMERIC, $array2);
print_r(array_count_values($array2));
$zensei = "{$array3['0']}-{$array3['1']}-{$array3['2']}-{$array3['3']}";
$sen = "戦";
$shou = "勝";

$icchaku = $array3[0];
$shoritu = $array3[0]/$allkazu;
$shoritu = round($shoritu, 3);
$rentai = (($array3[0])+($array3[1]))/$allkazu;
$rentai = round($rentai, 3);
if ($rentai !== 1.000){
$rentai = substr_replace($rentai, "", 0,1);
}
if ($shoritu !== 1.000){
$shoritu = substr_replace($shoritu, "", 0,1);
}
echo <<<EOF
<p>$back_str&nbsp;$page_str&nbsp;$next_str</p>
<p>成績$allkazu$sen$icchaku$shou&nbsp;$zensei</p>
<p>勝率$shoritu&nbsp;連対率$rentai</p>
<p>$page_num/$kiriage</p>
EOF;
?>

112女傑 ◆nDpXSJz8i.:2013/01/31(木) 12:18:13
if ($rentai != 1){
$rentai = sprintf( "%.3f", $rentai );
$rentai = substr_replace($rentai, "", 0,1);
}
if ($rentai == 1) { $rentai = '1.000'; }
if ($shoritu != 1){
$shoritu = sprintf( "%.3f", $shoritu );
$shoritu = substr_replace($shoritu, "", 0,1);
}
if ($shoritu == 1) { $shoritu = '1.000'; }

113<削除>:<削除>
<削除>

114<削除>:<削除>
<削除>

115女傑 ◆nDpXSJz8i.:2013/02/25(月) 15:15:24
<?php

$keywords = preg_split("/[\s,]+/", "test and, examination");
$kazu = count($keywords);
if (!$kazu < 1):
while (list($value0,$value1) = each($keywords)) {
echo "$value0:$value1<br>\n";
}

foreach ($keywords as $value) {
echo "$value<br>\n";
}
unset($keywords);
int i;
for (i=0;i<$kazu;i++)
echo "$keywords[i]<br>\n";
endif;
?>

116女傑 ◆nDpXSJz8i.:2013/02/25(月) 16:17:54
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="http://www.w3.org/1999/xhtml&quot; xml:lang="ja" lang="ja">
<head><title>ホームページ改装中</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=euc-jp">
<body>
<?php

$keywords = preg_split("/[\s,*\n]+/", "test and, examination cherry");
$kazu = count($keywords);
if (!$kazu < 1):
while (list($value0,$value1) = each($keywords)) {
$value0 = $value0+1;
echo "$value0:$value1<br>\n";
}

foreach ($keywords as $value) {
echo "$value<br>\n";
}

for ($i=0;$i<$kazu;$i++) {
$j = $i+1;
echo "$j:$keywords[$i]<br>\n";
}
unset($keywords);
endif;
$fd_read = fopen ("text.txt","r");
while (!feof ($fd_read))
{
$line = fgets ($fd_read,1000);
echo "$line<br>\n";
}
fclose($fd_read);
?>
</body></html>

117女傑 ◆nDpXSJz8i.:2013/02/26(火) 00:28:23
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="http://www.w3.org/1999/xhtml&quot; xml:lang="ja" lang="ja">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=euc-jp">
<title>test</title>
</head><body bgcolor=#ffffff>
<?php
//$arr = array("one", "two", "three");
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 = sample; }

$keywords = preg_split("/[\s,]+/", "test and, examination");
$kazu = count($keywords);
if (!$kazu < 1):
while (list($value0,$value1) = each($keywords)) {
echo "$value0:$value1<br>\n";
}

foreach ($keywords as $value) {
echo "$value<br>\n";
}
reset($keywords);
endif;
?>
<br>
<?php
$dds = preg_split("/[\s,]+/", "kkk lll, mmm");
echo "$dds[0]" . "<br>";
echo "$dds[1]" . "<br>";
echo "$dds[2]";
?>
<br>
<?php
$keywords2 = preg_split("/[\s,]+/", "test and, examination");
$kazu2 = count($keywords2);
if ($kazu2 >= 10) {exit;}
for ($i = 0; $i < $kazu2; $i++) {
$bango = $i+1;
{
echo <<<EOF
$bango:$keywords2[$i]<br>
EOF;
}
echo "\n";
}
if (file_exists("$qry.txt")) {

$lines = file("$qry.txt");

while (list($name,$value) = each($lines)) {
$text = htmlspecialchars($value);
$textbango = $name+1;
{
echo "$textbango:$text<br>";
}
echo "\n";
}
}
else
{
echo "$qry は存在しません<br>";
}
?>
<br>
<?php
/**
* ランダムな文字列を生成する。
* @param int $nLengthRequired 必要な文字列長。省略すると 8 文字
* @return String ランダムな文字列
*/
function getRandomString($nLengthRequired = 8){
$sCharList = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
mt_srand();
$sRes = "";
for($i = 0; $i < $nLengthRequired; $i++)
$sRes .= $sCharList{mt_rand(0, strlen($sCharList) - 1)};
return $sRes;
}
// 使ってみる
echo getRandomString() . "\n";
?>
</body></html>

118女傑 ◆nDpXSJz8i.:2013/02/27(水) 23:29:56
rtc.startTime = "1164286430"

119女傑 ◆nDpXSJz8i.:2013/02/27(水) 23:35:01
####### motherboard/bios ##############
nvram = "leon.nvram"
bios.bootDelay = "0"
bios.forceSetupOnce = "FALSE"
SMBIOS.reflectHost = "FALSE"

120女傑 ◆nDpXSJz8i.:2013/02/27(水) 23:38:05
if($email =~ /^[^@]+@[^.]+\..+/){
print '正しいかも';
}else{
print '違うかも';
}

121女傑 ◆nDpXSJz8i.:2013/02/28(木) 22:17:30
コンパイル・リンク方法
コンパイル方法
clコマンドでコンパイルを行います。

E:\ex> cl /c windows_ex.c
E:\home\toru\study\cxxw\opengl\ex2>cl /c wgl_window_ex1.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3052 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

window_ex.c

E:\ex>
主要なコマンドラインオプション
リンク方法
linkコマンドでリンクを行います。

Windowsアプリケーション
Windowsアプリケーションをリンクする場合、user32.lib、kernel32.lib、gdi32.lib等をリンクに加えます。

E:\ex> link /OUT:windows_ex.exe windows_ex.obj user32.lib kernel32.lib gdi32.lib
Microsoft (R) Incremental Linker Version 7.10.3052
Copyright (C) Microsoft Corporation. All rights reserved.


E:\ex>
リンクに加えるといいライブラリ群
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

withoutODBC
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib

BCC32 -W -w- -e0000.exe 0000.cpp
BRC32 0000.rc 0000.exe

cl c/0000.cpp /W3 /02

しかしウォーニングだらけで非常に気持ち悪いですね。C++例外を使用するにはGXオプションを付けてコンパイルしなければならないようです。

C:\work>cl /GX hello.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

hello.cpp
Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/out:hello.exe
hello.obj

C:\work>

122女傑 ◆nDpXSJz8i.:2013/02/28(木) 23:45:43
======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);

123女傑 ◆nDpXSJz8i.:2013/02/28(木) 23:47:39
<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>

124女傑 ◆nDpXSJz8i.:2013/03/01(金) 15:37:38
if ($story =~/\W+$/) { &error("ストーリーの名前に禁則文字が使われています"); }
if ($page =~/\D+$/) { &error("ページ番号に禁則文字が使われています"); }
if ($bunki =~/\W+$/) { &error("ストーリー分岐に禁則文字が使われています"); }use Jcode;
use Unicode::Japanese;
use CGI::Carp qw(fatalsToBrowser);

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

$story = $in{'story'};
$page = $in{'page'};
$bunki = $in{'bunki'};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);
$retsusuu = @lines;if ("$bun" ne "") {
chomp($bun) if $bun =~ /\n$/;

$bun =~ s/.{160}/$&<BR>\n/g;my ($idqs, $pass) = $ENV{'PATH_INFO'} =~ m!/([^/]+)/([^/]+)/?!;
$begin =~ s/^s+//g ; # 文頭に来るスペースを削除
$begin =~ s/s+$//g ; # 文末に来るスペースを削除
$expire =~ s/^s+//g ; # 文頭に来るスペースを削除
$expire =~ s/s+$//g ; # 文末に来るスペースを削除$url =~ s/(https?|ftp|gopher|telnet|whois|news):([\w|\:\!\#\$\%\=\&\-\^\`\\\|\@\~\[\{\]\}\;\+\*\,\.\?\/]+)/<a href=\"$1\:$2\" target=\"_blank\">$1\:$2<\/a>/g;

125女傑 ◆nDpXSJz8i.:2013/03/01(金) 15:57:31
while(($key,$val) = each %in) { $in{$key} = &encTag($val); }$len = length($eki); $m = '30';
if ($len > $m) { &error("エラー","引数を$mバイト以内でご指定ください"); }
$len2 = length($sen); $m = '30';
if ($len2 > $m) { &error("エラー","引数を$mバイト以内でご指定ください"); }

%urltable = &readhashfile("$senro.txt");

if (exists $urltable{$id}) {
$onamae = $urltable{$id};
chomp($onamae) if $onamae =~ /\n$/;
my ($code, $nmatch) = Jcode::getcode($onamae);
$onamaeaf = jcode($onamae, "$code")->h2z->utf8;
($kei, $message, $shozai, $code, $lng, $lat) = split(/_/, $onamaeaf, 6); # 余分な空白を取り除きます
$query =~ s/ +/ /g; # 連続した全角スペース
$query =~ s/ +/ /g; # 連続した半角スペース if ($toku_email == 0 && $email =~ /\b[-\w.]+@[-\w.]+\.[-\w]+\b/) { $name = "$name ($sex) <<a href=\"mailto:$email\">$email</a>> "; } # Eメール記載があればリンクする
elsif ($toku_email == 1 && $email =~ /\b[-\w.]+@[-\w.]+\.[-\w]+\b/) {

$uname = $name;
$uname =~ s/([^0-9A-Za-z_])/"%" . unpack("H2",$1)/ge; # URLエンコード
$name = "$name ($sex) <<a href=\"$ENV{'SCRIPT_NAME'}?log=$cmd{'log'}&num=$number&name=$uname\">メール送信</a>> ";
} if ($link) { # URLをリンクする

$value =~ s/>/\t/g;
$value =~ s/(https?|ftp|gopher|telnet|whois|news)\:([\w|\:\!\#\$\%\=\&\-\^\`\\\|\@\~\[\{\]\}\;\+\*\,\.\?\/]+)/<a href=\"$1\:$2\" target=\"_blank\">$1\:$2<\/a>/ig;
$value =~ s/\t/>/g;
}sub lock {

# ロック方式の自動判定 symlink()優先
$symlink_check = (eval { symlink("",""); }, $@ eq "");
if (!$symlink_check) {

$c = 0;
while(-f "$lockfile") { # file式

$c++;
if ($c >= 3) { &Error('リトライエラー','ただいま混雑しております.<br>戻ってもう一度実行してみてください.'); }
sleep(2);
}
open(LOCK,">$lockfile");
close(LOCK);
}
else {
local($retry) = 3;
while (!symlink(".", $lockfile)) { # symlink式

if (--$retry <= 0) { &Error('リトライエラー','ただいま混雑しております.<br>戻ってもう一度実行してください.'); }
sleep(2);
}
}
}

126女傑:2013/03/02(土) 13:47:38
sub datas
{
local %table;
local ($fname, $flength, $i);
local ($name, $val);

$fname = $_[0];
$flength = @_;

open FILE, "< $fname";

for ($i=0;$i<$flength;$i++) {
@_ = <FILE>;
chomp($_) if $_ =~ /\n$/;
($name, $val) = split(',', $_[$i], 2);
if ($name ne "") {
$table{$name} = $val;
}
}

close FILE;
return %table;
}

127女傑:2013/03/02(土) 13:51:59
my @num = ("1", "2", "3");

foreach my $name (@num){
print "$name\n";
}

128女傑:2013/03/02(土) 15:05:37
open (FILE, "file.txt") || die;
while (<FILE>) {}
$line = $.;
close (FILE);

129女傑:2013/03/02(土) 16:34:36
sub readhashfile
{
local %table;
local $fname;
local($name, $val);

$fname = $_[0];

open FILE, "< $fname";
@lines = <FILE>;
$kazu = @lines;
for ($i=0;$i<$kazu;$i++) {
chomp $_;
($name, $val) = split(',', $lines[$i], 2);
if ($name ne "") {
$table{$name} = $val;
}
}

close FILE;
return %table;
}

130女傑 ◆nDpXSJz8i.:2013/03/02(土) 18:24:01
<?php

$keywords = preg_split("/[\s,*\n]+/", "test and, examination cherry", PREG_SPLIT_NO_EMPTY);
$kazu = count($keywords);
if (!$kazu < 1):
while (list($value0,$value1) = each($keywords)) {
$value0 = $value0+1;
echo "$value0:$value1<br>\n";
}

foreach ($keywords as $value) {
echo "$value<br>\n";
}

for ($i=0;$i<$kazu;$i++) {
$j = $i+1;
echo "$j:$keywords[$i]<br>\n";
}
unset($keywords);
endif;
$fd_read = fopen ("text.txt","r");
while (!feof ($fd_read))
{
$line = fgets ($fd_read,1000);
echo "$line<br>\n";
}
fclose($fd_read);
?>

131女傑 ◆nDpXSJz8i.:2013/03/03(日) 01:55:23


例1 in_array() の例
<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {
echo "Got mac";
}
?>

二番目の条件式は失敗します。 in_array() は大文字小文字を区別するからです。したがって次のような出力になります。

Got Irix

例2 strict を指定した in_array() の例
<?php
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {
echo "'12.4' found with strict check\n";
}

if (in_array(1.13, $a, true)) {
echo "1.13 found with strict check\n";
}
?>

上の例の出力は以下となります。

1.13 found with strict check

例3 needleが配列の場合の in_array()
<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {
echo "'ph' was found\n";
}

if (in_array(array('f', 'i'), $a)) {
echo "'fi' was found\n";
}

if (in_array('o', $a)) {
echo "'o' was found\n";
}
?>

132女傑 ◆nDpXSJz8i.:2013/03/03(日) 01:57:27

<?php
// ファイルの内容を配列に取り込みます。
// この例ではHTTPを通してURL上のHTMLソースを取得します。
$lines = file('http://www.example.com/');

// 配列をループしてHTMLをHTMLソースとして表示し、行番号もつけます。
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}

// 他の例として、Webページを文字列に取り込みます。file_get_contents()も参照してください。
$html = implode('', file('http://www.example.com/'));

// オプションのパラメータは PHP 5 以降で使用できます
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

133女傑 ◆nDpXSJz8i.:2013/03/03(日) 02:00:29


例1 array() の例
<?php
$fruits = array (
"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
?>

例2 array() における自動インデックス
<?php
$array = array(1, 1, 1, 1, 1, 8 => 1, 4 => 1, 19, 3 => 13);
print_r($array);
?>

上の例の出力は以下となります。

Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 13
[4] => 1
[8] => 1
[9] => 19
)

インデックス '3' は二度定義されており、後の値 13 が保持されることに注意してください。 インデックス 4 はインデックス 8 の後に定義され、 次に生成されるインデックス (値は 19) は、最大のインデックスが 8 であるため、9 となります。

次の例は、1 から始まる配列を作成します。

例3 array() で 1 から始まる配列を作成
<?php
$firstquarter = array(1 => 'January', 'February', 'March');
print_r($firstquarter);
?>

上の例の出力は以下となります。

Array
(
[1] => January
[2] => February
[3] => March
)

Perl では、ダブルクオートで囲まれた配列の値にアクセスすることができます。 しかしながら、PHP では配列を中括弧で囲む必要があります。

例4 ダブルクオートで囲まれた配列にアクセスする
<?php

$foo = array('bar' => 'baz');
echo "Hello {$foo['bar']}!"; // Hello baz!

?>

134女傑 ◆nDpXSJz8i.:2013/03/03(日) 06:50:08
<?php
if (isset($_FILES)) {
// Exif情報の全取得
$exif = @exif_read_data($_FILES["imagefile"]["tmp_name"], 0, true);

if ($exif) {
$exif_data = "";
// Exif情報の解析
foreach ($exif as $key => $section) {
foreach ($section as $name => $value) {
if (is_array($value)) {
foreach($value as $k => $v) {
$exif_data .= htmlspecialchars("$key.$name.$k: $v",
ENT_QUOTES) . "<br />\n";
}
} else {
$exif_data .= htmlspecialchars("$key.$name: $value",
ENT_QUOTES) . "<br />\n";
}
}
}
} else {
$exif_data = "Exif情報がありません";
}

}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
<html xmlns="http://www.w3.org/1999/xhtml&quot; xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Exif関数サンプル</title>
</head>
<body>
<h1>Exif関数サンプル</h1>
<form method="post"
action="<?php echo $_SERVER['SCRIPT_NAME']; ?>"
enctype="multipart/form-data">
<input type="file" name="imagefile" />
<input type="submit" value="送信" />
</form>
<div>
<?php echo $exif_data; ?>
</div>
</body>
</html>


// GPSセクションがある場合
if (array_key_exists('GPS', $exif)) {
// $exif['GPS']['GPSLongitude']を使用する測地系に変換して格納
$lon = …… ;
// $exif['GPS']['GPSLatitude']を使用する測地系に変換して格納
$lat = …… ;
}


新着レスの表示


名前: E-mail(省略可)

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

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

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

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