Ebenezer Death Log Lister

  • Konbuyu başlatan Konbuyu başlatan Shutup
  • Başlangıç tarihi Başlangıç tarihi
Konu Yazar

Shutup

Administrator
Yönetici
Administrator
May
44
71
Merhabalar,

Kerem(Necr0)'nun isteği üzerine hazırlamış olduğum bu scripti sizlerle de paylaşmak istedim, umarım beğenirsiniz ve işinize yarar. Scripti size iki farklı şekilde sunacağım. Ya buradan copy-paste yaparak dosyaları alırsınız ya da bu postun en altındaki bölümden eklenti halinde zip dosyasını indirirsiniz seçim sizin hangisi kolayınıza geliyor ise :). Denemek için; Death Log adresinden bugünün tarihini (29-3-2021) seçip çalışıp çalışmadığını görebilirsiniz.

Script Hakkında :

Bu scriptin yapılış amacı kimin kimi öldürdüğünü görerek;

a) cz de olanı biteni izlemek (np transfer:))
b) isillion gibi özel canavarların kimler tarafından kesildiğini izlemek
c) gm lerinizin hangi monsterları kestiğini izlemektir.

Script Nasıl Çalışır :

Olabildiğince simple-structured (basit yapılı) tutmaya çalıştım. Mantık şudur;
a) İlk açılışta bir form gelir takvim simgesi olur bu simgeye tıklanıp tarih seçilir ardından butona basılarak ikinci kısma geçilir.
b) İkinci kısma geçilince asıl olaylar başlar. PHP gerekli tarihi alır, parçalara ayırır, önceden belirtmiş olduğunuz path(yol)'te arar. Bulursa üçüncü kısma geçer.
c) Üçüncü kısımda bulunan dosya açılır ve satır satır okunur. Her okunan satır explode() ile bileşenlerine ayrılır ve gerekli kısımlar hafızadan seçilir.
c) Dördüncü kısımda bu seçilenler tabloya aktarılır ve tablomuz oluşturulup bizlerin kullanımına sunulur.

Gerekli dosyalar :

a) Ebenezerin logları :)
b) ./css/960.css
c) ./css/KeepItSimple.css
d) ./css/reset.css
e) ./css/screen.css
f) ./cal.gif
g) ./datetimepicker.js
h) PHP dosyamız ismi önemli değil uzantısı php olsun yeter :)

Kullanmak için yapmanız gerekenler :

a) www klasörünüze ya da hangi klasörü kullanıyorsanız (kopanelinizin olduğu) o klasöre girin. Ardından "css" adında bir klasör oluşturun. Klasörü oluşturduktan sonra içine girin ve aşağıdaki dosyaları verdiğim adlarıyla oluşturup kaydedin.

960.css;
Kod:
/*
	960 Grid System ~ Core CSS.
	Learn more ~ http://960.gs/

	Licensed under GPL and MIT.
*/

/* =Containers
--------------------------------------------------------------------------------*/

.container_12,
.container_16
{
	margin-left: auto;
	margin-right: auto;
	width: 960px;
}

/* =Grid >> Global
--------------------------------------------------------------------------------*/

.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_9,
.grid_10,
.grid_11,
.grid_12,
.grid_13,
.grid_14,
.grid_15,
.grid_16
{
	display: inline;
	float: left;
	margin-left: 20px;
	margin-right: 10px;
}
.grid_8
{
	display:inline;
	float:left;
}

.container_12 .grid_3,
.container_16 .grid_4
{
	width: 220px;
}

.container_16 .grid_6
{
	width: 160px;
}
.container_16 .grid_8
{
	width: 560px;
	margin-left: 10px;
}

.container_12 .grid_9,
.container_16 .grid_12
{
	width: 700px;
}

.container_12 .grid_12,
.container_16 .grid_16
{
	width: 940px;
}

/* =Grid >> Children (Alpha ~ First, Omega ~ Last)
--------------------------------------------------------------------------------*/

.alpha
{
	margin-left: 0;
}

.omega
{
	margin-right: 0;
}

/* =Grid >> 12 Columns
--------------------------------------------------------------------------------*/

.container_12 .grid_1
{
	width: 60px;
}

.container_12 .grid_2
{
	width: 140px;
}

.container_12 .grid_4
{
	width: 300px;
}

.container_12 .grid_5
{
	width: 380px;
}

.container_12 .grid_7
{
	width: 540px;
}

.container_12 .grid_8
{
	width: 620px;
}

.container_12 .grid_10
{
	width: 780px;
}

.container_12 .grid_11
{
	width: 860px;
}

/* =Grid >> 16 Columns
--------------------------------------------------------------------------------*/

.container_16 .grid_1
{
	width: 40px;
}

.container_16 .grid_2
{
	width: 100px;
}

.container_16 .grid_3
{
	width: 160px;
}

.container_16 .grid_5
{
	width: 280px;
}

.container_16 .grid_6
{
	width: 340px;
}

.container_16 .grid_7
{
	width: 400px;
}

.container_16 .grid_9
{
	width: 320px;
}

.container_16 .grid_10
{
	width: 580px;
}

.container_16 .grid_11
{
	width: 640px;
}

.container_16 .grid_13
{
	width: 760px;
}

.container_16 .grid_14
{
	width: 820px;
}

.container_16 .grid_15
{
	width: 880px;
}

/* =Prefix Extra Space >> Global
--------------------------------------------------------------------------------*/

.container_12 .prefix_3,
.container_16 .prefix_4
{
	padding-left: 240px;
}

.container_12 .prefix_6,
.container_16 .prefix_8
{
	padding-left: 480px;
}

.container_12 .prefix_9,
.container_16 .prefix_12
{
	padding-left: 720px;
}

/* =Prefix Extra Space >> 12 Columns
--------------------------------------------------------------------------------*/

.container_12 .prefix_1
{
	padding-left: 80px;
}

.container_12 .prefix_2
{
	padding-left: 160px;
}

.container_12 .prefix_4
{
	padding-left: 320px;
}

.container_12 .prefix_5
{
	padding-left: 400px;
}

.container_12 .prefix_7
{
	padding-left: 560px;
}

.container_12 .prefix_8
{
	padding-left: 640px;
}

.container_12 .prefix_10
{
	padding-left: 800px;
}

.container_12 .prefix_11
{
	padding-left: 880px;
}

/* =Prefix Extra Space >> 16 Columns
--------------------------------------------------------------------------------*/

.container_16 .prefix_1
{
	padding-left: 60px;
}

.container_16 .prefix_2
{
	padding-left: 120px;
}

.container_16 .prefix_3
{
	padding-left: 180px;
}

.container_16 .prefix_5
{
	padding-left: 300px;
}

.container_16 .prefix_6
{
	padding-left: 360px;
}

.container_16 .prefix_7
{
	padding-left: 420px;
}

.container_16 .prefix_9
{
	padding-left: 540px;
}

.container_16 .prefix_10
{
	padding-left: 600px;
}

.container_16 .prefix_11
{
	padding-left: 660px;
}

.container_16 .prefix_13
{
	padding-left: 780px;
}

.container_16 .prefix_14
{
	padding-left: 840px;
}

.container_16 .prefix_15
{
	padding-left: 900px;
}

/* =Suffix Extra Space >> Global
--------------------------------------------------------------------------------*/

.container_12 .suffix_3,
.container_16 .suffix_4
{
	padding-right: 240px;
}

.container_12 .suffix_6,
.container_16 .suffix_8
{
	padding-right: 480px;
}

.container_12 .suffix_9,
.container_16 .suffix_12
{
	padding-right: 720px;
}

/* =Suffix Extra Space >> 12 Columns
--------------------------------------------------------------------------------*/

.container_12 .suffix_1
{
	padding-right: 80px;
}

.container_12 .suffix_2
{
	padding-right: 160px;
}

.container_12 .suffix_4
{
	padding-right: 320px;
}

.container_12 .suffix_5
{
	padding-right: 400px;
}

.container_12 .suffix_7
{
	padding-right: 560px;
}

.container_12 .suffix_8
{
	padding-right: 640px;
}

.container_12 .suffix_10
{
	padding-right: 800px;
}

.container_12 .suffix_11
{
	padding-right: 880px;
}

/* =Suffix Extra Space >> 16 Columns
--------------------------------------------------------------------------------*/

.container_16 .suffix_1
{
	padding-right: 60px;
}

.container_16 .suffix_2
{
	padding-right: 120px;
}

.container_16 .suffix_3
{
	padding-right: 180px;
}

.container_16 .suffix_5
{
	padding-right: 300px;
}

.container_16 .suffix_6
{
	padding-right: 360px;
}

.container_16 .suffix_7
{
	padding-right: 420px;
}

.container_16 .suffix_9
{
	padding-right: 540px;
}

.container_16 .suffix_10
{
	padding-right: 600px;
}

.container_16 .suffix_11
{
	padding-right: 660px;
}

.container_16 .suffix_13
{
	padding-right: 780px;
}

.container_16 .suffix_14
{
	padding-right: 840px;
}

.container_16 .suffix_15
{
	padding-right: 900px;
}

/* =Clear Floated Elements
--------------------------------------------------------------------------------*/

/* http://sonspring.com/journal/clearing-floats */

html body * span.clear,
html body * div.clear,
html body * li.clear,
html body * dd.clear
{
	background: none;
	border: 0;
	clear: both;
	display: block;
	float: none;
	font-size: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
	visibility: hidden;
	width: 0;
	height: 0;
}

/* http://www.positioniseverything.net/easyclearing.html */

.clearfix:after
{
	clear: both;
	content: '.';
	display: block;
	visibility: hidden;
	height: 0;
}

.clearfix
{
	display: inline-block;
}

* html .clearfix
{
	height: 1%;
}

.clearfix
{
	display: block;
}

KeepItSimple.css;
Kod:
/* ----------------------------------------------
	Template Name : Keep It Simple
	Template Code : S-0027
	Version : 1.0   
	Author : Erwin Aligam
	Author URI : http://www.styleshout.com/       
	Last Date Modified : September 29, 2021	
 ------------------------------------------------ */
 
/* ----------------------------------------------
   HTML ELEMENTS
------------------------------------------------- */ 
body {
	font: 11px/165% 'Lucida Grande', Verdana, Helvetica, sans-serif;
	color: #666666; 	
	margin: 0; padding: 0 0 50px 0; 
	background: #F6F5F5 url(../images/bg.gif) repeat-x; 
	text-align: center;
}
/* Links */
a:link, a:visited { 
	text-decoration: none;
	color: #AE855C;	
}
a:hover {
	border-bottom: 1px dotted #AE855C;	
}
a.more-link {
	padding-bottom: 2px;
	font-weight: bold;	
	border-bottom: 1px dotted #AE855C;	
}
a:hover.more-link {
	text-decoration: none;
}
/* Headers */
h1, h2, h3, h4 {
	font: bold 1em/1.5em Georgia, 'Times New Roman', Times, serif;
	color: #444;
	padding: 10px 15px 7px 15px;	 
}
h1 { font-size: 3.7em; font-weight: normal; letter-spacing: -2px; }
h2 { font-size: 2.8em; font-weight: normal; color: #663333; }
h3 { font-size: 2em; font-weight: normal; letter-spacing: -0.5px; padding-top: 15px}
h4 { font-size: 1.3em; }

/* Lists */
ul, ol {
	margin: 10px 20px;
	padding: 0 20px;
}
ul { list-style: disc; }
ol { list-style: decimal; }

dt {
  font-weight: bold;
  color: #7BA857;
}
dd {
  padding-left: 25px; 
}

p, dl { padding: 10px 15px; }

/* Images */
img {
	background: #FAFAFA;
   border: 1px solid #DCDCDC;
	padding: 8px;
}
img.float-right {
  	margin: 5px 0px 10px 10px;  
}
img.float-left {
  	margin: 5px 10px 10px 0px;
}

code {
  	margin: 3px 0;
  	padding: 15px;
  	text-align: left;
  	display: block;
  	overflow: auto;  
  	font: 500 1em/1.5em 'Lucida Console', 'Courier New', Monospace ;
  	/* white-space: pre; */
  	border: 1px solid #F0F0F0;
	background: #f8f8f8;  
}
acronym {
  cursor: help;
  border-bottom: 1px dotted #895F30;
}
blockquote {
	margin: 10px;
 	padding: 10px 10px 10px 32px;  
   border: 1px solid #F0F0F0;
	background: #f8f8f8 url(../images/quote.gif) no-repeat 12px 12px;
	font-weight: normal;
	font-size: 17px;
	line-height: 1.5em;
	font-style: italic;
	font-family: Georgia, 'Times New Roman', Times, Serif;	
	color: #555;	
}

/* start - table */
table {
	border-collapse: collapse;
	margin: 10px;		
}
tr { background: #fff; }
tr.altrow { background: #F9F9F9;	}
th, td {
	text-align: left;			
	border-width: 1px;
  	border-style: solid;
}
th {
	color: #7BA857;
	background: #EFFAE6;
	padding: .8em 1em;	
  	border-color: #DFF4D5 #D3EFC3 #A7DF8A #D3EFC3;	
}
td {
	border-color: #EFEFEF;	
	padding: .7em 1em;	
}	
/* end - table */

/* form elements */
form {
	margin: 10px; 
	padding: 15px 25px 25px 20px; 
	border: 1px solid #F0F0F0;
	background: #f8f8f8;
}
form p {
	border-bottom: 1px solid #E6E6E6;
	padding: 12px 0 5px 0;	margin: 0;	
	color: #7BA857;
}
label {
	font-weight: bold;
	color: #7BA857;
}
input, select, textarea {
	margin: 5px 0;
	padding: 5px;
	color: #6A6969;
	border-width: 1px;
	border-style: solid;
  	border-color: #d4d4d4 #ebebeb #ebebeb #d4d4d4; 	
	font: 11px 'Lucida Grande', Verdana, Helvetica, sans-serif;
}
input:focus, select:focus, textarea:focus {
	color: #7BA857;
	background: #EFFAE6;
}
#name, #email, #message, #website {
	width: 380px;
}
input.button { 
	font: bold 12px Arial, Sans-serif; 
	height: 30px;
	margin: 0;
	padding: 2px 3px; 
	color: #fff;
	background: #9CCF5F;
	
	border-width: 1px;
  	border-style: solid;
  	border-color: #B6DE8F #8DB836 #8DB836 #B6DE8F;
}

/* ------------------------------------------
   LAYOUT
------------------------------------------- */ 
#content-outer {
	background: #fff;
	width: 100%;
	padding: 5px 0;		
	border-bottom: 1px solid #E8E8E8;	
	text-align: left;		
}
#content-wrapper {
	margin: 0 auto;	
	background: #fff url(../images/content-bg.gif) repeat-y center top;	
	padding-bottom: 35px;
	padding-top: 5px;		
	overflow: auto;
}
#header-wrap {
	width: 100%;
	background: #fff url(../images/bg.gif) repeat-x ;	
	margin: 0; padding: 0; 
}
#header {
	position: relative;
	margin: 0 auto;
	background: url(../images/border.gif) repeat-x left bottom; 	
	height: 275px;	
}
#header h1#logo-text { margin: 0; padding: 0; }
#header h1#logo-text a {
	position: absolute; 
	margin: 0; padding: 0 5px 0 0;
	font: normal 45px Georgia, 'Times New Roman', Times, serif;
	letter-spacing: -4px;
	color: #93b876;
	text-decoration: none;
		
	/* change the values of top and left to adjust the position of the logo*/
	top: 90px; left: 20px;	
}
#header h1#logo-text a:hover { border: none; }
#header p#intro {
	position: absolute;
	margin: 0; padding: 0;
	font-family: Georgia, 'Times New Roman', Times, Serif;
	font-weight: normal;
	font-size: 17px;
	line-height: 1.6em;
	font-style: italic;
	letter-spacing: -.5px;
	color: #7ba45b;
	width: 400px;
	
	/* change the values of top and left to adjust the position */
	top: 175px; left: 110px;		
}
#header #header-image {
	position: absolute;
	background: url(../images/header-image.gif) no-repeat;
	width: 371px;
	height: 263px;	
	right: 10px; top: 0;	
}

/* header quick search */
#header form#quick-search {
	position: absolute;
	top: 10px; right: 0;
	padding: 0; margin: 0;
	border: none;
	width: 270px; height: 33px;
	background: #F5F4F3 url(../images/header-search.gif) no-repeat;	
	z-index: 999999;
}
#header form#quick-search p {
	margin: 0; padding: 0;		
}
#header form#quick-search input {
	border: none;
	background: transparent;
	color: #bababa;
	float: left;
	margin: 0; padding: 5px;
}
#header form#quick-search .tbox {
	margin: 6px 0 0 5px; 
	width: 216px;	
	display: inline;		
}
#header #search form#quick-search .btn{
	width: 25px; height: 25px;		
}
#header form#quick-search label {
	display: none;
}

/*  navigation  */
#header #nav {
	position: absolute;
	margin: 0; padding: 0;		
	width: 880px;	
	left: 0;	top: 5px;		
}
#header #nav ul {
	float: left;	
	list-style: none;	
	margin: 5px 0 0 0;
	height: 45px;
	padding: 0 0 0 15px;					
}
#header #nav ul li {
	float: left;
	margin: 0; padding: 0 0 0 10px;		
}
#header #nav ul li a {
	float: left;
	margin: 0;
	padding: 0 15px 0 5px;
	color: #666666;
	font: bold 14px/40px 'Trebuchet MS', 'Helvetica Neue', Arial, Sans-Serif;
	text-transform: uppercase;	
}
#header #nav ul li a:hover, 
#header #nav ul li a:active {
	border: none;
	color: #111;
	background: transparent;
}
#header #nav ul li#current {
	background: transparent url(../images/left-tab.gif) no-repeat;	
}
#header #nav ul li#current a {	
	color: #444;
	background: transparent url(../images/right-tab.gif) no-repeat right top;	
}

/* main column */
#main h2 {
	font: normal 3.7em Georgia, 'Times New Roman', Times, Serif;
	color: #444;
	letter-spacing: -2.2px;	
	margin-left: 5px;	
	margin-right: 15px;
	padding-left: 5px;
	padding-bottom: 3px;
	border-bottom: 1px solid #ebebeb;	
}
#main h2 a {
	color: #444;
	border: none;
}
/* left columns */
#left-columns h3 {
	color: #444;
	font: normal 2em Georgia, 'Times New Roman', Times, Serif;
	letter-spacing: -0.5px;
	padding: 5px 10px;
	margin: 12px 0 5px 0;
}

/* sidebar menu */
.sidemenu ul {
	text-align: left;
	margin: 10px 8px 8px 8px; padding: 0;
	border-top: 2px solid #ebebeb; 
}
.sidemenu ul li {
	list-style: none;
	background: url(../images/dots.gif) repeat-x left bottom; 
	padding: 7px 5px;
	margin: 0;		
}
* html body .sidemenu ul li {
	height: 1%;
}
.sidemenu ul li a, 
.sidemenu ul li a:visited {
	font-family: Georgia, 'Times New Roman', Times, Serif;
	background-image: none;	
	background-color: transparent;
	border: none;
	color: #7BA857;
	padding-left: 0;	
}
.sidemenu ul li a span {
	color: #9F9F9F;	
	font-family: Georgia, 'Times New Roman', Times, Serif;
	font-style: normal;
	font-size: 1em;
}
.sidemenu ul li a:hover { color: #000;	}
.sidemenu ul ul { margin: 0 0 0 5px; padding: 0; }
.sidemenu ul ul li { background: none; }

/* featured-post */
.featured-post {
	padding-bottom: 15px;			
}
.featured-post h4 {
	padding: 0;
	margin: 0 15px 0 12px;
	border-bottom: 1px solid #ebebeb;
}
.featured-post h4 a, 
.featured-post h4 a:visited {
	color: #7BA857;
	border: none;
}
.featured-post .post-info {
	margin-left: 0;
	padding-bottom: 5px;
}
.featured-post p {
	padding-top: 0;
}

/* footer */
#footer-wrapper {
	clear: both;
	margin: 0 auto;
	text-align: left;			
}
#footer-wrapper h3 {
	color: #444;
	font: normal 1.8em Georgia, 'Times New Roman', Times, Serif;
	text-transform: none;
	letter-spacing: -0.5px;	
}
#footer-wrapper h3, 
#footer-wrapper p {
	padding-left: 0;
}
#footer-wrapper a {
	color: #333;
	background: transparent;
}

/* footer-list */
#footer-wrapper ul.footer-list {
	border-top: 1px solid #E6E6E6;
	list-style: none;
	padding: 0;	
	margin-left: 0;	
}
#footer-wrapper ul.footer-list li {
	border-bottom: 1px solid #E6E6E6;
}
#footer-wrapper ul.footer-list li a {
	display: block;
	width: 98%;
	line-height: 2em; 
	font-weight: bold;
	padding: 4px 0;
	margin-left: 0;
	padding-left: 0;
	color: #888;
	border: none;
}
#footer-wrapper ul.footer-list li a span {
	font-style: italic;
	font-weight: normal;
	font-family: Georgia, 'Times New Roman', Times, Serif;
}
#footer-wrapper ul.footer-list li a:hover,
#footer-wrapper ul.footer-list li a:hover span {
	color: #333;	
}

/* footer-content */
#footer-content {
	float: left;	
	width: 100%;	
	padding: 0 0 35px 0;				
	margin: 10px 0 0 5px;			
}

/* footer-bottom */
#footer-bottom {
	clear: both;
	border-top: 1px solid #dadada;
	width: 940px;
	margin: 0 auto;	
	font-family: 'Trebuchet MS', 'Helvetica Neue', Arial, sans-serif;
}
#footer-bottom .bottom-left {
	float: left;
	padding-left: 5px;		
}
#footer-bottom .bottom-right {
	text-align: right;
	padding-right: 0;
}

/* postmeta */
.postmeta {	
	padding: 5px; margin: 20px 15px 15px 10px;	
	border: 1px solid #EBEBEB;
	background: #f8f8f8;	
}
.postmeta a { background: transparent; }
.postmeta a:hover { border: none; }
.postmeta a.comments { margin: 0 10px 0 5px;	}
.postmeta a.readmore { margin: 0 10px 0 5px;	}
.postmeta .date{ margin: 0 10px 0 5px;	}

.post-info { font-size: .95em; padding-top: 3px; color: #B0B0B0; }
.post-info a, .post-info a:visited { color: #000; border: none; }

/* thumbnails */
p.thumbs{ padding: 10px 0 0 10px; }
.thumbs img { 
	position: relative;
	padding: 8px;
	margin: 5px;
	background: #fafafa;
   border: 1px solid #ddd;	
}
.thumbs img:hover	{
	border: 1px solid #D2D2D2;
	background: #DDD;	
}
.thumbs a:hover { background-color: transparent; border: none }

/* comments list */
ol.commentlist {
	margin: 12px 10px;
	padding: 0;
	border-style: solid;	
	border-color: #F0F0F0;	
	border-width: 1px 1px 0 1px;
}
.commentlist li {
	margin: 0;
	padding: 10px;
	list-style: none;
	border-bottom: 1px solid #F0F0F0; 
}
.commentlist li cite {
	display: block;
	font-style: normal;
	font-weight: bold;
	padding: 7px;	
}
.commentlist li cite img {
	float: left;
	margin-right: 10px;	
}
.commentlist li cite .comment-data {
	font-size: .8em;
	font-weight: normal;
}
.commentlist li .comment-text {
	clear: both;
	margin: 0; padding: 0;
}
.commentlist li.alt {
	background: #f8f8f8 
}

/* alignment classes & additional classes*/
.float-left  { float: left; }
.float-right { float: right; }
.align-left  { text-align: left; }
.align-right { text-align: right; }
.no-border { border: none; }

/* clearing */
.clearer { clear: both; }
.clear {	display:inline-block; }
.clear:after {
	display:block; 
	visibility:hidden; 
	clear:both; 
	height:0; 
	content: "."; 
}

reset.css;
Kod:
/* http://meyerweb.com/eric/thoughts/2021/05/01/reset-reloaded/ */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}

screen.css;
/* theme screen stylesheets */

/* import stylesheets and hide from ie/mac \*/
@import url("reset.css");
@import url("960.css");
@import url("KeepItSimple.css");
/* end import/hide */

b) css klasörümüz bu kadardı. Şimdi bir üst klasöre dönüyoruz yani kopanelimizin olduğu yere. Buraya yine verdiğim adlarda dosyaları oluşturuyoruz :

datetimepicker.js;
Kod:
//Javascript name: My Date Time Picker
//Date created: 16-Nov-2003 23:19
//Scripter: TengYong Ng
//Website: http://www.rainforestnet.com
//Copyright (c) 2003 TengYong Ng
//FileName: DateTimePicker.js
//Version: 0.8
//Contact: [email protected]
// Note: Permission given to use this script in ANY kind of applications if
//       header lines are left unchanged.

//Global variables
var winCal;
var dtToday=new Date();
var Cal;
var docCal;
var MonthName=["January", "February", "March", "April", "May", "June","July", 
	"August", "September", "October", "November", "December"];
var WeekDayName=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];	
var exDateTime;//Existing Date and Time

//Configurable parameters
var cnTop="200";//top coordinate of calendar window.
var cnLeft="500";//left coordinate of calendar window
var WindowTitle ="DateTime Picker";//Date Time Picker title.
var WeekChar=2;//number of character for week day. if 2 then Mo,Tu,We. if 3 then Mon,Tue,Wed.
var CellWidth=20;//Width of day cell.
var DateSeparator="-";//Date Separator, you can change it to "/" if you want.
var TimeMode=24;//default TimeMode value. 12 or 24

var ShowLongMonth=true;//Show long month name in Calendar header. example: "January".
var ShowMonthYear=true;//Show Month and Year in Calendar header.
var MonthYearColor="#cc0033";//Font Color of Month and Year in Calendar header.
var WeekHeadColor="#0099CC";//Background Color in Week header.
var SundayColor="#6699FF";//Background color of Sunday.
var SaturdayColor="#CCCCFF";//Background color of Saturday.
var WeekDayColor="white";//Background color of weekdays.
var FontColor="blue";//color of font in Calendar day cell.
var TodayColor="#FFFF33";//Background color of today.
var SelDateColor="#FFFF99";//Backgrond color of selected date in textbox.
var YrSelColor="#cc0033";//color of font of Year selector.
var ThemeBg="";//Background image of Calendar window.
//end Configurable parameters
//end Global variable

function NewCal(pCtrl,pFormat,pShowTime,pTimeMode)
{
	Cal=new Calendar(dtToday);
	if ((pShowTime!=null) && (pShowTime))
	{
		Cal.ShowTime=true;
		if ((pTimeMode!=null) &&((pTimeMode=='12')||(pTimeMode=='24')))
		{
			TimeMode=pTimeMode;
		}		
	}	
	if (pCtrl!=null)
		Cal.Ctrl=pCtrl;
	if (pFormat!=null)
		Cal.Format=pFormat.toUpperCase();
	
	exDateTime=document.getElementById(pCtrl).value;
	if (exDateTime!="")//Parse Date String
	{
		var Sp1;//Index of Date Separator 1
		var Sp2;//Index of Date Separator 2 
		var tSp1;//Index of Time Separator 1
		var tSp1;//Index of Time Separator 2
		var strMonth;
		var strDate;
		var strYear;
		var intMonth;
		var YearPattern;
		var strHour;
		var strMinute;
		var strSecond;
		//parse month
		Sp1=exDateTime.indexOf(DateSeparator,0)
		Sp2=exDateTime.indexOf(DateSeparator,(parseInt(Sp1)+1));
		
		if ((Cal.Format.toUpperCase()=="DDMMYYYY") || (Cal.Format.toUpperCase()=="DDMMMYYYY"))
		{
			strMonth=exDateTime.substring(Sp1+1,Sp2);
			strDate=exDateTime.substring(0,Sp1);
		}
		else if ((Cal.Format.toUpperCase()=="MMDDYYYY") || (Cal.Format.toUpperCase()=="MMMDDYYYY"))
		{
			strMonth=exDateTime.substring(0,Sp1);
			strDate=exDateTime.substring(Sp1+1,Sp2);
		}
		if (isNaN(strMonth))
			intMonth=Cal.GetMonthIndex(strMonth);
		else
			intMonth=parseInt(strMonth,10)-1;	
		if ((parseInt(intMonth,10)>=0) && (parseInt(intMonth,10)<12))
			Cal.Month=intMonth;
		//end parse month
		//parse Date
		if ((parseInt(strDate,10)<=Cal.GetMonDays()) && (parseInt(strDate,10)>=1))
			Cal.Date=strDate;
		//end parse Date
		//parse year
		strYear=exDateTime.substring(Sp2+1,Sp2+5);
		YearPattern=/^\d{4}$/;
		if (YearPattern.test(strYear))
			Cal.Year=parseInt(strYear,10);
		//end parse year
		//parse time
		if (Cal.ShowTime==true)
		{
			tSp1=exDateTime.indexOf(":",0)
			tSp2=exDateTime.indexOf(":",(parseInt(tSp1)+1));
			strHour=exDateTime.substring(tSp1,(tSp1)-2);
			Cal.SetHour(strHour);
			strMinute=exDateTime.substring(tSp1+1,tSp2);
			Cal.SetMinute(strMinute);
			strSecond=exDateTime.substring(tSp2+1,tSp2+3);
			Cal.SetSecond(strSecond);
		}	
	}
	winCal=window.open("","DateTimePicker","toolbar=0,status=0,menubar=0,fullscreen=no,width=195,height=245,resizable=0,top="+cnTop+",left="+cnLeft);
	docCal=winCal.document;
	RenderCal();
}

function RenderCal()
{
	var vCalHeader;
	var vCalData;
	var vCalTime;
	var i;
	var j;
	var SelectStr;
	var vDayCount=0;
	var vFirstDay;

	docCal.open();
	docCal.writeln("<html><head><title>"+WindowTitle+"</title>");
	docCal.writeln("<script>var winMain=window.opener;</script>");
	docCal.writeln("</head><body background='"+ThemeBg+"' link="+FontColor+" vlink="+FontColor+"><form name='Calendar'>");

	vCalHeader="<table border=1 cellpadding=1 cellspacing=1 width='100%' align=\"center\" valign=\"top\">\n";
	//Month Selector
	vCalHeader+="<tr>\n<td colspan='7'><table border=0 width='100%' cellpadding=0 cellspacing=0><tr><td align='left'>\n";
	vCalHeader+="<select name=\"MonthSelector\" onChange=\"javascript:winMain.Cal.SwitchMth(this.selectedIndex);winMain.RenderCal();\">\n";
	for (i=0;i<12;i++)
	{
		if (i==Cal.Month)
			SelectStr="Selected";
		else
			SelectStr="";	
		vCalHeader+="<option "+SelectStr+" value >"+MonthName[i]+"\n";
	}
	vCalHeader+="</select></td>";
	//Year selector
	vCalHeader+="\n<td align='right'><a href=\"javascript:winMain.Cal.DecYear();winMain.RenderCal()\"><b><font color=\""+YrSelColor+"\"><</font></b></a><font face=\"Verdana\" color=\""+YrSelColor+"\" size=2><b> "+Cal.Year+" </b></font><a href=\"javascript:winMain.Cal.IncYear();winMain.RenderCal()\"><b><font color=\""+YrSelColor+"\">></font></b></a></td></tr></table></td>\n";	
	vCalHeader+="</tr>";
	//Calendar header shows Month and Year
	if (ShowMonthYear)
		vCalHeader+="<tr><td colspan='7'><font face='Verdana' size='2' align='center' color='"+MonthYearColor+"'><b>"+Cal.GetMonthName(ShowLongMonth)+" "+Cal.Year+"</b></font></td></tr>\n";
	//Week day header
	vCalHeader+="<tr bgcolor="+WeekHeadColor+">";
	for (i=0;i<7;i++)
	{
		vCalHeader+="<td align='center'><font face='Verdana' size='2'>"+WeekDayName[i].substr(0,WeekChar)+"</font></td>";
	}
	vCalHeader+="</tr>";	
	docCal.write(vCalHeader);
	
	//Calendar detail
	CalDate=new Date(Cal.Year,Cal.Month);
	CalDate.setDate(1);
	vFirstDay=CalDate.getDay();
	vCalData="<tr>";
	for (i=0;i<vFirstDay;i++)
	{
		vCalData=vCalData+GenCell();
		vDayCount=vDayCount+1;
	}
	for (j=1;j<=Cal.GetMonDays();j++)
	{
		var strCell;
		vDayCount=vDayCount+1;
		if ((j==dtToday.getDate())&&(Cal.Month==dtToday.getMonth())&&(Cal.Year==dtToday.getFullYear()))
			strCell=GenCell(j,true,TodayColor);//Highlight today's date
		else
		{
			if (j==Cal.Date)
			{
				strCell=GenCell(j,true,SelDateColor);
			}
			else
			{	 
				if (vDayCount%7==0)
					strCell=GenCell(j,false,SaturdayColor);
				else if ((vDayCount+6)%7==0)
					strCell=GenCell(j,false,SundayColor);
				else
					strCell=GenCell(j,null,WeekDayColor);
			}		
		}						
		vCalData=vCalData+strCell;

		if((vDayCount%7==0)&&(j<Cal.GetMonDays()))
		{
			vCalData=vCalData+"</tr>\n<tr>";
		}
	}
	docCal.writeln(vCalData);	
	//Time picker
	if (Cal.ShowTime)
	{
		var showHour;
		showHour=Cal.getShowHour();		
		vCalTime="<tr>\n<td colspan='7' align='center'>";
		vCalTime+="<input type='text' name='hour' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+showHour+" onchange=\"javascript:winMain.Cal.SetHour(this.value)\">";
		vCalTime+=" : ";
		vCalTime+="<input type='text' name='minute' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+Cal.Minutes+" onchange=\"javascript:winMain.Cal.SetMinute(this.value)\">";
		vCalTime+=" : ";
		vCalTime+="<input type='text' name='second' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+Cal.Seconds+" onchange=\"javascript:winMain.Cal.SetSecond(this.value)\">";
		if (TimeMode==12)
		{
			var SelectAm =(parseInt(Cal.Hours,10)<12)? "Selected":"";
			var SelectPm =(parseInt(Cal.Hours,10)>=12)? "Selected":"";

			vCalTime+="<select name=\"ampm\" onchange=\"javascript:winMain.Cal.SetAmPm(this.options[this.selectedIndex].value);\">";
			vCalTime+="<option "+SelectAm+" value=\"**\">**</option>";
			vCalTime+="<option "+SelectPm+" value=\"PM\">PM<option>";
			vCalTime+="</select>";
		}	
		vCalTime+="\n</td>\n</tr>";
		docCal.write(vCalTime);
	}	
	//end time picker
	docCal.writeln("\n</table>");
	docCal.writeln("</form></body></html>");
	docCal.close();
}

function GenCell(pValue,pHighLight,pColor)//Generate table cell with value
{
	var PValue;
	var PCellStr;
	var vColor;
	var vHLstr1;//HighLight string
	var vHlstr2;
	var vTimeStr;
	
	if (pValue==null)
		PValue="";
	else
		PValue=pValue;
	
	if (pColor!=null)
		vColor="bgcolor=\""+pColor+"\"";
	else
		vColor="";	
	if ((pHighLight!=null)&&(pHighLight))
		{vHLstr1="color='red'><b>";vHLstr2="</b>";}
	else
		{vHLstr1=">";vHLstr2="";}	
	
	if (Cal.ShowTime)
	{
		vTimeStr="winMain.document.getElementById('"+Cal.Ctrl+"').value+=' '+"+"winMain.Cal.getShowHour()"+"+':'+"+"winMain.Cal.Minutes"+"+':'+"+"winMain.Cal.Seconds";
		if (TimeMode==12)
			vTimeStr+="+' '+winMain.Cal.AMorPM";
	}	
	else
		vTimeStr="";		
	PCellStr="<td "+vColor+" width="+CellWidth+" align='center'><font face='verdana' size='2'"+vHLstr1+"<a href=\"javascript:winMain.document.getElementById('"+Cal.Ctrl+"').value='"+Cal.FormatDate(PValue)+"';"+vTimeStr+";window.close();\">"+PValue+"</a>"+vHLstr2+"</font></td>";
	return PCellStr;
}

function Calendar(pDate,pCtrl)
{
	//Properties
	this.Date=pDate.getDate();//selected date
	this.Month=pDate.getMonth();//selected month number
	this.Year=pDate.getFullYear();//selected year in 4 digits
	this.Hours=pDate.getHours();	
	
	if (pDate.getMinutes()<10)
		this.Minutes="0"+pDate.getMinutes();
	else
		this.Minutes=pDate.getMinutes();
	
	if (pDate.getSeconds()<10)
		this.Seconds="0"+pDate.getSeconds();
	else		
		this.Seconds=pDate.getSeconds();
		
	this.MyWindow=winCal;
	this.Ctrl=pCtrl;
	this.Format="ddMMyyyy";
	this.Separator=DateSeparator;
	this.ShowTime=false;
	if (pDate.getHours()<12)
		this.AMorPM="**";
	else
		this.AMorPM="PM";	
}

function GetMonthIndex(shortMonthName)
{
	for (i=0;i<12;i++)
	{
		if (MonthName[i].substring(0,3).toUpperCase()==shortMonthName.toUpperCase())
		{	return i;}
	}
}
Calendar.prototype.GetMonthIndex=GetMonthIndex;

function IncYear()
{	Cal.Year++;}
Calendar.prototype.IncYear=IncYear;

function DecYear()
{	Cal.Year--;}
Calendar.prototype.DecYear=DecYear;
	
function SwitchMth(intMth)
{	Cal.Month=intMth;}
Calendar.prototype.SwitchMth=SwitchMth;

function SetHour(intHour)
{	
	var MaxHour;
	var MinHour;
	if (TimeMode==24)
	{	MaxHour=23;MinHour=0}
	else if (TimeMode==12)
	{	MaxHour=12;MinHour=1}
	else
		alert("TimeMode can only be 12 or 24");		
	var HourExp=new RegExp("^\\d\\d$");
	if (HourExp.test(intHour) && (parseInt(intHour,10)<=MaxHour) && (parseInt(intHour,10)>=MinHour))
	{	
		if ((TimeMode==12) && (Cal.AMorPM=="PM"))
		{
			if (parseInt(intHour,10)==12)
				Cal.Hours=12;
			else	
				Cal.Hours=parseInt(intHour,10)+12;
		}	
		else if ((TimeMode==12) && (Cal.AMorPM=="**"))
		{
			if (intHour==12)
				intHour-=12;
			Cal.Hours=parseInt(intHour,10);
		}
		else if (TimeMode==24)
			Cal.Hours=parseInt(intHour,10);	
	}
}
Calendar.prototype.SetHour=SetHour;

function SetMinute(intMin)
{
	var MinExp=new RegExp("^\\d\\d$");
	if (MinExp.test(intMin) && (intMin<60))
		Cal.Minutes=intMin;
}
Calendar.prototype.SetMinute=SetMinute;

function SetSecond(intSec)
{	
	var SecExp=new RegExp("^\\d\\d$");
	if (SecExp.test(intSec) && (intSec<60))
		Cal.Seconds=intSec;
}
Calendar.prototype.SetSecond=SetSecond;

function SetAmPm(pvalue)
{
	this.AMorPM=pvalue;
	if (pvalue=="PM")
	{
		this.Hours=(parseInt(this.Hours,10))+12;
		if (this.Hours==24)
			this.Hours=12;
	}	
	else if (pvalue=="**")
		this.Hours-=12;	
}
Calendar.prototype.SetAmPm=SetAmPm;

function getShowHour()
{
	var finalHour;
    if (TimeMode==12)
    {
    	if (parseInt(this.Hours,10)==0)
		{
			this.AMorPM="**";
			finalHour=parseInt(this.Hours,10)+12;	
		}
		else if (parseInt(this.Hours,10)==12)
		{
			this.AMorPM="PM";
			finalHour=12;
		}		
		else if (this.Hours>12)
		{
			this.AMorPM="PM";
			if ((this.Hours-12)<10)
				finalHour="0"+((parseInt(this.Hours,10))-12);
			else
				finalHour=parseInt(this.Hours,10)-12;	
		}
		else
		{
			this.AMorPM="**";
			if (this.Hours<10)
				finalHour="0"+parseInt(this.Hours,10);
			else
				finalHour=this.Hours;	
		}
	}
	else if (TimeMode==24)
	{
		if (this.Hours<10)
			finalHour="0"+parseInt(this.Hours,10);
		else	
			finalHour=this.Hours;
	}	
	return finalHour;	
}				
Calendar.prototype.getShowHour=getShowHour;		

function GetMonthName(IsLong)
{
	var Month=MonthName[this.Month];
	if (IsLong)
		return Month;
	else
		return Month.substr(0,3);
}
Calendar.prototype.GetMonthName=GetMonthName;

function GetMonDays()//Get number of days in a month
{
	var DaysInMonth=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	if (this.IsLeapYear())
	{
		DaysInMonth[1]=29;
	}	
	return DaysInMonth[this.Month];	
}
Calendar.prototype.GetMonDays=GetMonDays;

function IsLeapYear()
{
	if ((this.Year%4)==0)
	{
		if ((this.Year%100==0) && (this.Year%400)!=0)
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{
		return false;
	}
}
Calendar.prototype.IsLeapYear=IsLeapYear;

function FormatDate(pDate)
{
	if (this.Format.toUpperCase()=="DDMMYYYY")
		return (pDate+DateSeparator+(this.Month+1)+DateSeparator+this.Year);
	else if (this.Format.toUpperCase()=="DDMMMYYYY")
		return (pDate+DateSeparator+this.GetMonthName(false)+DateSeparator+this.Year);
	else if (this.Format.toUpperCase()=="MMDDYYYY")
		return ((this.Month+1)+DateSeparator+pDate+DateSeparator+this.Year);
	else if (this.Format.toUpperCase()=="MMMDDYYYY")
		return (this.GetMonthName(false)+DateSeparator+pDate+DateSeparator+this.Year);			
}
Calendar.prototype.FormatDate=FormatDate;

ben ismine log.php dedim siz istediğiniz adı verin ama uzantısını php yapmayı unutmayın;
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="tr">

<head>

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-type" content="text/html; charset=Windows-1254" />

<title>Death Log</title>

<link rel="stylesheet" type="text/css" media="screen" href="css/screen.css" />
<script language="javascript" type="text/javascript" src="datetimepicker.js"></script>

</head>
<body>

<?
$baslama = microtime();
error_reporting(E_ALL);
ini_set("display_errors", "On");
##############################
##							##
##		Ayar Yeri			##
##							##
##	Alt tarafı değiştirin	##
##############################
//Ebenezerin bulunduğu klasörü path değişkenine atayın
$path = "C:\\Ebenezer\\";
//Logların tutulduğu txt dosyasının ilk -'dan önceki kısmını prefix değişkenine atayın. Genelde Dead veya DeathLog olur
$prefix = "Dead";
///////////////////////////////////////////////////////////
//Do NOT edit BELOW IF YOU DON'T KNOW WHAT YOU'RE DOING!!!!
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
if(!isset($_GET['do']))
{
	$form = '<center>
			<table align="center">
			<form name="tarih" method="post" action="?do=show">
			<tr align="center"><td><label for="date">Tarihi seçiniz</label></td>
			<td><input id="date" name="date" type="text" size="25"><a href="javascript:NewCal(\'date\',\'ddmmyyyy\')"><img src="cal.gif" width="16" height="16" border="0" alt="Bir tarih seçin"></a></td></tr>
			<tr align="center"><td colspan="2"><input type="submit"></tr></td>
			</form>
			</table>
			</center>
			';
	echo $form;
}
else if(isset($_GET['do']) && $_GET['do'] == "show")
{
	$tarih = explode("-", $_POST['date']);
	$d = $tarih[0];
	$m = $tarih[1];
	$y = $tarih[2];
	$file = sprintf($path . "%s-%d-%d-%d.txt", $prefix, $y, $m, $d);
	if(file_exists($file))
	{
		$table_part = sprintf('
				<center>
					<h2>%d-%d-%d tarihli kayıtlar :</h2>
						<table>
							<tr>
						    	<th>Zone</td>
						        <th>Kesen</td>
						        <th>Kesilen</td>
						        <th>Baş NP</td>
						        <th>Son NP</td>
							</tr>
						', $d, $m, $y);
		$res = fopen($file, "r") or die("Dosya açılamadı.Gerekli izinlere sahip olduğunuzdan emin olun.");
		$count = 0;
		while(!feof($res))
		{
			$buffer = fgets($res, 2048);
			$text = explode(",", $buffer);
			if(count($text) > 12)
			{
				$zone = $text[3];
				$killer = $text[4];
				$fnp = $text[7];
				$lnp = $text[10];
				$killed = $text[12];
			}
			if($fnp == 0 && $lnp == 0)
				$fnp = $lnp = "Değişmedi";

			$count++;
			if(($count % 2) == 0)
			{
				$alt = 'class="altrow"';
			}
			else
			{
				$alt = NULL;
			}
			$table_part.=sprintf('
						<tr %s>
						<td>%d</td>
						<td>%s</td>
						<td>%s</td>
						<td>%s</td>
						<td>%s</td>
						</tr>
						', $alt, $zone, $killer, $killed, $fnp, $lnp);
		}
		$table = $table_part . "</table></center>";
		echo $table;
		fclose($res);
	}
	else
	{
		die(sprintf("Dosya bulunamadı.(%s)", $file));
	}
}
?>

	<div id="footer-wrapper" class="container_16">
	
		<div id="footer-content" align="center">
			<h4>
			<?
			$bitis = microtime();
			echo "<a>" . substr(round(($bitis - $baslama), 4), 0, 6) . " Saniye İçinde Sayfa Oluşturuldu</a>";
			?>
			</h4>
		
		</div>
	
		<div id="footer-bottom">
	
			<p class="bottom-left">			
			&nbsp; &copy;2021 KO-CÜCE - Berkin GÜLER&nbsp; &nbsp;
			Design by : <a href="http://www.styleshout.com/">styleshout</a> &nbsp; PHPed by : <a href="http://www.ko-cuce.com/">Berkin GÜLER</a></p>	
			
			<p class="bottom-right" >		
				<a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a> | 
		   	<a href="http://validator.w3.org/check/referer">XHTML</a>
			</p>
	
		</div>	
			
	</div>
	<!-- footer ends here -->
</body>
</html>

Şimdi bir de resim dosyası gerekli bize takvim için. İşte o da bu :
cal.gif
Bu resmi cal.gif olarak kaydedin.

Evet dosyalarımız bu kadardı. Şimdi gelelim ayarlara.

Fazla ayar yok fazlasıyla basit tuttum dediğim gibi. Ancak basit dediysem de giriş-orta düzeyde PHP bilgisine sahip olmanız gerekli eğer bu script üzerinde değişiklik yapmak veya neler olup bittiğini tamamen anlamak istiyorsanız. Lafı uzatmayayım ayar diyorduk. Az önce kaydettiğimiz log.php ya da siz ne ad verdiyseniz bu PHP dosyamızı açtığımızda

PHP:
##############################
##							##
##		Ayar Yeri			##
##							##
##	Alt tarafı değiştirin	##
##############################
//Ebenezerin bulunduğu klasörü path değişkenine atayın
$path = "C:\\Ebenezer\\";
//Logların tutulduğu txt dosyasının ilk -'dan önceki kısmını prefix değişkenine atayın. Genelde Dead veya DeathLog olur
$prefix = "Dead"
///////////////////////////////////////////////////////////
//Do NOT edit BELOW IF YOU DON'T KNOW WHAT YOU'RE DOING!!!!
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////

şeklinde bir bölüm göreceksiniz. Zaten açıklama içerisinde var ancak tekrar açıklayayım.
$path denen değişken ebenezerin olduğu klasörü göstermek zorunda yani logların olduğu klasörü göstermek zorundadır. Örneğin log dosyaları C:/Ebenezer/ klasöründe ise siz bunu C:\\Ebenezer\\ olarak yazmalsınız bu en önemli yer belki de.
Burayı doğru bir şekilde doldurduktan sonra altındaki $prefix ayarlanmalıdır. $prefix ebenezerin death logları tuttuğu dosyanın ilk bölümünün adıdır. Yani eğer sahip olduğunuz ebenezer "Dead-2021-3-29.txt" olarak log tutuyorsa siz bu değişkene "Dead" atamak zorundasınız ki scriptimiz doğruca çalışsın yoksa dosyalar hiç bir şekilde PHP tarafından bulunamaz.

Evet tüm bunları yaptıysanız her şey tamam demektir. Web üzerinden bu loglara erişebilirsiniz.

Kolay gelsin.
 

Ekli dosyalar

  • log.zip
    log.zip
    11.6 KB · Görüntüleme: 88
Cevap: Ebenezer Death Log Lister

berkin artık senin bi insan olmadığını düşünmeye başladım aga hö
teşekkürler..
 
Cevap: Ebenezer Death Log Lister

Berkin4ever... hö Php agası adam hö..
 
Cevap: Ebenezer Death Log Lister

güzel ama her giriş yapan insan için bi dosyayı okuyorsun. Yeterince büyük bi server'da günlük 30000 kişi cz'de ölüyor desen. (hani herkes için tek başına 3 kere mesaj geçse. bi günde 10000 kişi giriş yapsa) Siteye giren 100 kişi server'ı ne hale getirir?
 
Cevap: Ebenezer Death Log Lister

güzel ama her giriş yapan insan için bi dosyayı okuyorsun. Yeterince büyük bi server'da günlük 30000 kişi cz'de ölüyor desen. (hani herkes için tek başına 3 kere mesaj geçse. bi günde 10000 kişi giriş yapsa) Siteye giren 100 kişi server'ı ne hale getirir?

1-) Sadece cz değil normal maplerde ölenler de bu logda.
2-) Windows altında php çalıştırınca hatta apache çalıştırınca (biliyorsun apache ve lighttpd :D) zaten baştan kaybediyorsun bence :p
3-) "0.0618 Saniye İçinde Sayfa Oluşturuldu." Her giren kişi 0.0618 saniye kassa makineyi aynı anda 100 kişi girse 100 ile çarpsak bunu 6.18 saniye yapar ki multi-threated bir yapı içerdiği için apache bu kadar sürmez bu işlem bence. Yani o kadar da etki edeceğini sanmıyorum. Ama sen diyorsan ki olmaz öyle bir cache sistemi ile tüm metin dosyasını memorye cache ettirebilirsin böyle okuma çok daha hızlı olur orası da sana kalmış. (Bknz. XcacheApi – XCache – Trac)
 
Cevap: Ebenezer Death Log Lister

Ancak xcache yaparsan da bu sistem amacına ulaşmaz sanırım değil mi?
Amaç kim nerede ne zaman ne ara ölmüş anında haber vermek değil mi?
 
Cevap: Ebenezer Death Log Lister

Ancak xcache yaparsan da bu sistem amacına ulaşmaz sanırım değil mi?
Amaç kim nerede ne zaman ne ara ölmüş anında haber vermek değil mi?

xcache_set("abc_data", $data, 120);

sondaki 120 saniye cinsinden. Yani 2 dakika sen istersen 1 dakika yap bunu böylece çok daha azalır kasma :) Anlık olarak öleni listelemek istiyor olsak ajax kullanırdık :)
 
Cevap: Ebenezer Death Log Lister

Şimdi verdiğin şekliyle kullanmak daha mantıklı.
Her şeye cevabın var da niye bunu sormadan cevaplamıyorsun ki?
Neyse işe yarayabilme kapasitesi olabilen bi script. Hayırlı Olsun.
 
Cevap: Ebenezer Death Log Lister

Şimdi verdiğin şekliyle kullanmak daha mantıklı.
Her şeye cevabın var da niye bunu sormadan cevaplamıyorsun ki?
Neyse işe yarayabilme kapasitesi olabilen bi script. Hayırlı Olsun.

Bir soru sorulmadan cevabını nasıl önceden verebilrim ki :) Sorulan soru hakkında bilgim varsa kullanırım yoksa araştırırım bulamadıysam kusura bakma haklısın belki de derim :D
 
Geri
Üst Alt