rtoss

Subversion Repositories:
Compare Path: Rev
With Path: Rev
/cndos-up/ @ 51  →  /cndos-up/ @ 52

Property changes:

Name: svn:mime-type
+ text/plain; charset=utf-8

/last.cgi

Property changes:

Name: svn:mime-type
+ text/plain; charset=utf-8

/up.log

Property changes:

Name: svn:mime-type
+ text/plain; charset=utf-8

/count.txt

Property changes:

Name: svn:mime-type
+ text/plain; charset=utf-8

/cndos-up/sam.php
@@ -1,104 +1,119 @@
<?php echo '<?xml version="1.0" encoding="euc-jp"?>'."\n" ?>
<?php
/***
* Reconstruction by Wastepaper Basket
* ¥µ¥à¥Í¥¤¥ë¥«¥Ã¥¿¡¼¡¡¡Ê²èÁü°ìÍ÷¡Ëby ToR
* サムネイルカッター (画像一覧)by ToR
 
* ¢¨PHP¥ª¥×¥·¥ç¥ó¤ËGD¤¬É¬ÍפǤ¹¡Ê̵ÎÁ»ª¤Ç¤Ï¥À¥á¤Ê¤È¤³¤í¤¬Â¿¤¤
* $_GETÅù»ÈÍѤ·¤Æ¤Þ¤¹¡£¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ÎPHP¤Ç¤Ï$_GET¢ª$HTTP_GET_VARS $_SERVER¢ª$HTTP_SERVER_VERS
* ※PHPオプションにGDが必要です(無料鯖ではダメなところが多い
* $_GET等使用してます。古いバージョンのPHPでは$_GET→$HTTP_GET_VARS $_SERVER→$HTTP_SERVER_VERS
**/
 
$title = 'Wastepaper Basket'; //¥¿¥¤¥È¥ë
$upphp = 'upload.php'; //¥¢¥Ã¥×¥í¡¼¥À
$img_dir = "./img/"; //²èÁü°ìÍ÷¥Ç¥£¥ì¥¯¥È¥ê
$thumb_dir = "./imgs/"; //¥µ¥à¥Í¥¤¥ëÊݸ¥Ç¥£¥ì¥¯¥È¥ê
$ext = ".+\.png$|.+\.jpe?g$"; //³ÈÄ¥»Ò¡¤GIF¤ÏGD¤ÎŽÊŽÞŽ°Ž¼ŽÞŽ®ŽÝ¤Ë¤è¤Ã¤Æ¤Ï̵Íý
$W = 120; //½ÐÎϲèÁüÉý
$H = 120; //½ÐÎϲèÁü¹â¤µ
$cols = 2; //1¹Ô¤Ëɽ¼¨¤¹¤ë²èÁü¿ô
$page_def = 4; //1¥Ú¡¼¥¸¤Ëɽ¼¨¤¹¤ë²èÁü¿ô
$title = '中國DOS聯盟論壇專用上傳區'; //タイトル
$upphp = 'upload.php'; //アップローダ
$img_dir = "./img/"; //画像一覧ディレクトリ
$thumb_dir = "./imgs/"; //サムネイル保存ディレクトリ
$ext = ".+\.png$|.+\.jpe?g$"; //拡張子,GIFはGDのバージョンによっては無理
$W = 120; //出力画像幅
$H = 120; //出力画像高さ
$cols = 2; //1行に表示する画像数
$page_def = 4; //1ページに表示する画像数
 
if ($_GET["cmd"]=="min" && isset($_GET["pic"])) {
$src = $img_dir.$_GET["pic"];
$src = $img_dir.$_GET["pic"];
 
// ²èÁü¤ÎÉý¤È¹â¤µ¤È¥¿¥¤¥×¤ò¼èÆÀ
$size = GetImageSize($src);
switch ($size[2]) {
case 1 : $im_in = ImageCreateFromGIF($src); break;
case 2 : $im_in = ImageCreateFromJPEG($src); break;
case 3 : $im_in = ImageCreateFromPNG($src); break;
}
// Æɤ߹þ¤ß¥¨¥é¡¼»þ
if (!$im_in) {
$im_in = ImageCreate($W,$H);
$bgc = ImageColorAllocate($im_in, 0xff, 0xff, 0xff);
$tc = ImageColorAllocate($im_in, 0,0x80,0xff);
ImageFilledRectangle($im_in, 0, 0, $W, $H, $bgc);
ImageString($im_in,1,5,30,"Error loading {$_GET["pic"]}",$tc);
ImagePNG($im_in);
exit;
}
// ¥ê¥µ¥¤¥º
if ($size[0] > $W || $size[1] > $H) {
$key_w = $W / $size[0];
$key_h = $H / $size[1];
($key_w < $key_h) ? $keys = $key_w : $keys = $key_h;
// 画像の幅と高さとタイプを取得
$thumbout = $thumb_dir.str_replace(strrchr($_GET["pic"],'.'),'.jpg',$_GET["pic"]);
if(!file_exists($thumbout)) {
$size = GetImageSize($src);
switch ($size[2]) {
case 1 : $im_in = ImageCreateFromGIF($src); break;
case 2 : $im_in = ImageCreateFromJPEG($src); break;
case 3 : $im_in = ImageCreateFromPNG($src); break;
}
// 読み込みエラー時
if (!$im_in) {
$im_in = ImageCreate($W,$H);
$bgc = ImageColorAllocate($im_in, 0xff, 0xff, 0xff);
$tc = ImageColorAllocate($im_in, 0,0x80,0xff);
ImageFilledRectangle($im_in, 0, 0, $W, $H, $bgc);
ImageString($im_in,1,5,30,"Error loading {$_GET["pic"]}",$tc);
header('Content-Type: image/png');
ImagePNG($im_in);
exit;
}
// リサイズ
if ($size[0] > $W || $size[1] > $H) {
$key_w = $W / $size[0];
$key_h = $H / $size[1];
($key_w < $key_h) ? $keys = $key_w : $keys = $key_h;
 
$out_w = $size[0] * $keys;
$out_h = $size[1] * $keys;
} else {
$out_w = $size[0];
$out_h = $size[1];
}
// ½ÐÎϲèÁü¡Ê¥µ¥à¥Í¥¤¥ë¡Ë¤Î¥¤¥á¡¼¥¸¤òºîÀ®
$im_out = ImageCreateTrueColor($out_w, $out_h);
// ¸µ²èÁü¤ò½Ä²£¤È¤â ¥³¥Ô¡¼¤·¤Þ¤¹¡£
ImageCopyResampled($im_out, $im_in, 0, 0, 0, 0, $out_w, $out_h, $size[0], $size[1]);
$out_w = $size[0] * $keys;
$out_h = $size[1] * $keys;
} else {
$out_w = $size[0];
$out_h = $size[1];
}
// 出力画像(サムネイル)のイメージを作成
$im_out = ImageCreateTrueColor($out_w, $out_h);
// 元画像を縦横とも コピーします。
ImageCopyResampled($im_out, $im_in, 0, 0, 0, 0, $out_w, $out_h, $size[0], $size[1]);
 
// ¤³¤³¤Ç¥¨¥é¡¼¤¬½Ð¤ëÊý¤Ï²¼£²¹Ô¤ÈÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£(GD2.0°Ê²¼
//$im_out = ImageCreate($out_w, $out_h);
//ImageCopyResized($im_out, $im_in, 0, 0, 0, 0, $out_w, $out_h, $size[0], $size[1]);
// ここでエラーが出る方は下2行と置き換えてください。(GD2.0以下
//$im_out = ImageCreate($out_w, $out_h);
//ImageCopyResized($im_out, $im_in, 0, 0, 0, 0, $out_w, $out_h, $size[0], $size[1]);
 
// ¥µ¥à¥Í¥¤¥ë²èÁü¤ò¥Ö¥é¥¦¥¶¤Ë½ÐÎÏ¡¢Êݸ
switch ($size[2]) {
case 1 : if (function_exists('ImageGIF')) { ImageGIF($im_out); ImageGIF($im_out, $thumb_dir.$_GET["pic"]); } break;
case 2 : ImageJPEG($im_out);ImageJPEG($im_out, $thumb_dir.$_GET["pic"]); break;
case 3 : ImagePNG($im_out); ImagePNG($im_out, $thumb_dir.$_GET["pic"]); break;
}
// ºîÀ®¤·¤¿¥¤¥á¡¼¥¸¤òÇË´þ
ImageDestroy($im_in);
ImageDestroy($im_out);
exit;
// サムネイル画像をブラウザに出力、保存
header('Content-Type: image/jpeg');
ImageJPEG($im_out);
ImageJPEG($im_out, $thumbout);
// 作成したイメージを破棄
ImageDestroy($im_out);
ImageDestroy($im_in);
exit;
} else {
header("Location: $thumbout");
exit;
}
}
// ¥Ç¥£¥ì¥¯¥È¥ê°ìÍ÷¼èÆÀ¡¢¥½¡¼¥È
// ディレクトリ一覧取得、ソート
$d = dir($img_dir);
while ($ent = $d->read()) {
if (eregi($ext, $ent)) {
$files[] = $ent;
}
if (eregi($ext, $ent)) {
$files[] = $ent;
}
}
$d->close();
// ¥½¡¼¥È
// ソート
@natsort($files);
$files2 = @array_reverse($files);
//¥Ø¥Ã¥ÀHTML
//ヘッダHTML
echo '<?xml version="1.0" encoding="utf-8"?>'."\n";
echo <<<HEAD
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>$title</title>
<link href="style.css" type="text/css" rel="stylesheet" media="all" />
</head>
<body>
 
<h1>$title</h1>
<p>µ¤¤Ë¤Ê¤ë¥Í¥¿¤Ê¤É¡³(¡­¡¼¡®)¥Î</p>
<p>請勿在論壇外轉載此區任何資料。</p>
<center><script type="text/javascript"><!--//--><![CDATA[//><!--
google_ad_client = "pub-8016619041936615";
//728x90, 已建立 2007/12/26
google_ad_slot = "8811687463";
google_ad_width = 728;
google_ad_height = 90;
//--><!]]></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></center>
 
<h2>²èÁü°ìÍ÷</h2>
<table summary="¥µ¥à¥Í¥¤¥ë°ìÍ÷">
<h2>圖像一覧</h2>
<table summary="縮圖一覧">
<tr>
 
HEAD;
@@ -109,39 +124,50 @@
$ends = $start+$page_def-1;
$counter = 0;
while (list($line, $filename) = @each($files2)) {
if (($line >= $start) && ($line <= $ends)) {
$image = rawurlencode($filename);
// ¥µ¥à¥Í¥¤¥ë¤¬¤¢¤ë»þ¤ÏŽ»ŽÑŽÈŽ²ŽÙ¤Ø¤ÎŽØŽÝŽ¸¡¢¤½¤ì°Ê³°¤ÏŽ»ŽÑŽÈŽ²ŽÙɽ¼¨¡¢ºîÀ®
if (file_exists($thumb_dir.$image)) $piclink = $thumb_dir.$image;
else $piclink = $_SERVER["PHP_SELF"]."?cmd=min&pic=".$image;
$counter++;
if (((($counter) % $cols) == 1)&&(($counter) != 1)) {
if (($line >= $start) && ($line <= $ends)) {
$image = rawurlencode($filename);
// サムネイルがある時はサムネイルへのリンク、それ以外はサムネイル表示、作成
if (file_exists($thumb_dir.$image)) $piclink = $thumb_dir.$image;
else $piclink = $_SERVER["PHP_SELF"]."?cmd=min&pic=".$image;
$counter++;
if (((($counter) % $cols) == 1)&&(($counter) != 1)) {
echo "</tr>\n<tr>\n";
}//¥á¥¤¥óHTML
echo <<<EOD
}//メインHTML
echo <<<EOD
<td class="img"><a href="$img_dir$image"><img src="$piclink" alt="$filename" title="$filename" /><br />$filename</a></td>
 
EOD;
}
}
}
echo "</tr>\n</table>\n";
 
//ŽÍŽßŽ°Ž¼ŽÞ¥ê¥ó¥¯
echo '<p class="tline"><a href="'.$upphp.'?">Ìá¤ë</a> Page:';
//ページリンク
echo '<p class="tline"><a href="'.$upphp.'?">戻る</a> Page:';
if ($_GET["start"] > 0) {
$prevstart = $_GET["start"] - $page_def;
echo " <a href=\"$_SERVER[PHP_SELF]?start=$prevstart\">&lt;&lt;Á°¤Ø</a>";
$prevstart = $_GET["start"] - $page_def;
echo " <a href=\"$_SERVER[PHP_SELF]?start=$prevstart\">&lt;&lt;前へ</a>";
}
if ($ends < $maxs) {
$nextstart = $ends+1;
echo " <a href=\"$_SERVER[PHP_SELF]?start=$nextstart\">¼¡¤Ø&gt;&gt;</a>";
$nextstart = $ends+1;
echo " <a href=\"$_SERVER[PHP_SELF]?start=$nextstart\">次へ&gt;&gt;</a>";
}
echo '</p>';
 
echo '
<center><script type="text/javascript"><!--//--><![CDATA[//><!--
google_ad_client = "pub-8016619041936615";
//468x60, 已建立 2007/12/17
google_ad_slot = "0207867936";
google_ad_width = 468;
google_ad_height = 60;
google_language = "zh-TW";
//--><!]]></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></center>
 
<h2>Ãøºî¸¢É½¼¨</h2>
<p id="link"><a href="http://php.s3.to/">¥ì¥Ã¥ÄPHP!</a> + <a href="http://utu.under.jp">Wastepaper Basket</a></p>
<h2>著作権表示</h2>
<p id="link"><a href="http://php.s3.to/">レッツPHP!</a> + <a href="http://utu.under.jp">Wastepaper Basket</a></p>
 
</body>
</html>

Property changes:

Name: svn:mime-type
+ text/plain; charset=utf-8

/cndos-up/style.css
@@ -1,6 +1,6 @@
@charset "euc-jp";
@charset "utf-8";
body {
font-family: "£Í£Ó £Ð¥´¥·¥Ã¥¯", "£Í£Ó ¥´¥·¥Ã¥¯", "¥Ò¥é¥®¥Î³Ñ¥´ Pro W3", Osaka, Osaka-ÅùÉý, Ê¿À®³Ñ¥´¥·¥Ã¥¯, sans-serif;
font-family: sans-serif;
font-size: 100%;
color: #333322;
background-color: white;
@@ -14,7 +14,7 @@
padding: 5px 10px 5px 10px;
border-bottom: 2px #99CCFF solid;
border-left: 10px #99CCFF solid;
width: 100%;
display: block;
}
h2 {
display: none;
@@ -115,3 +115,15 @@
margin-top: 0;
margin-bottom: 0;
}
#up_progress { display:none; }
#progressbarborder {
display:none;
width:100%;
height:1em;
border:1px #99CCCC solid;
}
#progressbar {
width:0%;
height:1em;
background-color:#99CCCC;
}
New file

Property changes:

Name: svn:mime-type
+ text/plain; charset=utf-8

/cndos-up/progress.php
@@ -0,0 +1,7 @@
<?php
if(isset($_GET['progress_key'])) {
$status = apc_fetch('upload_'.$_GET['progress_key']);
// print_r($status);
echo $status['total']?($status['current']/$status['total']*100):'0';
}
?>

Property changes:

Name: svn:mime-type
+ text/plain; charset=utf-8

/cndos-up/upload.php
@@ -2,27 +2,28 @@
/*********************************************
Wastepaper Uploader v1.5
http://utu.under.jp/
PHP¤¢¤×¤í¤À¤ò¸µ¤ËW3C¤Ë½àµò¤·¤¿XHTML¤òÌܻؤ¹¤Ù¤¯
¥¹¥¯¥ê¥×¥ÈµÚ¤ÓHTMLʸ½ñ¤ò²þ¤¤¤¤¿¤·¤Þ¤·¤¿¡£
·ë¹½Å¬Åö¤ÊXHTML¤«¤â¤·¤ì¤Þ¤»¤ó¤¬W3C¿®¼ÔÍͤªµö¤·¤ò¡Ä¡£
------------------ÀßÃÖË¡-------------------
ÀßÃ֥ǥ£¥ì¥¯¥È¥ê¤Ï755
img¡¢imgs¥Ç¥£¥ì¥¯¥È¥ê¤Ï777
upload.php¡¢sum.php¤Ï755
up.log¡¢last.cgi¡¢count.txt¤Ï666
PHPあぷろだを元にW3Cに準拠したXHTMLを目指すべく
スクリプト及びHTML文書を改造いたしました。
結構適当なXHTMLかもしれませんがW3C信者様お許しを…。
------------------設置法-------------------
設置ディレクトリは755
img、imgsディレクトリは777
upload.php、sum.phpは755
up.log、last.cgi、count.txtは666
------------------Based--------------------
source by PHP¤¢¤×¤í¤À v2.2
source by PHPあぷろだ v2.2
http://php.s3.to
source by ¤º¤ë¤Ý¤ó
source by ずるぽん
http://zurubon.virtualave.net/
 
¤â¤·¤â¤Î°Ù¤Î.htaccess ¡ÊCGI¶Ø»ßSSI¶Ø»ßIndexɽ¼¨¶Ø»ß¡Ë
もしもの為の.htaccess (CGI禁止SSI禁止Index表示禁止)
Options -ExecCGI -Includes -Indexes
.txt¤Ç¤â¡¢Ãæ¿È¤¬HTML¤À¤Èɽ¼¨¤µ¤ì¤Á¤ã¤¦¤Î¤ÇÃí°Õ
.txtでも、中身がHTMLだと表示されちゃうので注意
-------------------------------------------
*********************************************/
if(phpversion()>="4.1.0"){//PHP4.1.0°Ê¹ßÂбþ
error_reporting(0);
if(phpversion()>="4.1.0"){//PHP4.1.0以降対応
$_GET = array_map("_clean", $_GET);
$_POST = array_map("_clean", $_POST);
//$_POST = array_map("_clean", $_GET);
@@ -30,43 +31,45 @@
extract($_POST);
extract($_COOKIE);
extract($_SERVER);
$upfile_type=_clean($_FILES['up']['type']);
$upfile_size=$_FILES["upfile"]["size"];//Ë¿½ê¤Çµ¤¤Å¤¯¡¦¡¦¡¦
$upfile_type=_clean($_FILES['upfile']['type']);
$upfile_size=$_FILES["upfile"]["size"];//某所で気づく・・・
$upfile_name=_clean($_FILES["upfile"]["name"]);
$upfile=$_FILES["upfile"]["tmp_name"];
}
 
$title = 'Wastepaper Uploader'; //¥¿¥¤¥È¥ë
$home = 'http://utu.under.jp/'; //¥Û¡¼¥à
$logfile = "up.log"; //¥í¥°¥Õ¥¡¥¤¥ë̾¡ÊÊѹ¹¤¹¤ë»ö¡Ë
$updir = "./img/"; //¥¢¥Ã¥×Íѥǥ£¥ì¥¯¥È¥ê
$upsdir = "./imgs/"; //¥µ¥à¥Í¥¤¥ëÊݸ¥Ç¥£¥ì¥¯¥È¥ê
$prefix = ''; //ÀÜƬ¸ì¡Êup001.txt,up002.jpg¤Ê¤éup¡Ë
$logmax = 50; //logÊݸ¹Ô¡Ê¤³¤ì°Ê¾å¤Ï¸Å¤¤¤Î¤«¤éºï½ü¡Ë
$commax = 250; //¥³¥á¥ó¥ÈÅê¹ÆÎÌÀ©¸Â¡Ê¥Ð¥¤¥È¡£Á´³Ñ¤Ï¤³¤ÎȾʬ¡Ë
$limitk = 100; //¥¢¥Ã¥×¥í¡¼¥ÉÀ©¸Â¡ÊKB ¥­¥í¥Ð¥¤¥È¡Ë
$page_def = 10; //°ì¥Ú¡¼¥¸¤Îɽ¼¨¹Ô¿ô
$admin = "12345"; //ºï½ü´ÉÍý¥Ñ¥¹
$auto_link = 1; //¥³¥á¥ó¥È¤Î¼«Æ°¥ê¥ó¥¯¡ÊYes=1;No=0);
$denylist = array('192.168.0.1','sex.com','annony'); //¥¢¥¯¥»¥¹µñÈÝ¥Û¥¹¥È
$arrowext = array('zip','lzh','rar','avi','mpg','wmv','mp3','wma','swf','txt','bmp','jpg','png','gif'); //µö²Ä³ÈÄ¥»Ò ¾®Ê¸»ú¡Ê¤½¤ì°Ê³°¤Ï¥¨¥é¡¼
$title = '上傳區'; //タイトル
$home = 'http://www.cn-dos.net/'; //ホーム
$logfile = "up.log"; //ログファイル名(変更する事)
$updir = "./img/"; //アップ用ディレクトリ
$upsdir = "./imgs/"; //サムネイル保存ディレクトリ
$prefix = ''; //接頭語(up001.txt,up002.jpgならup)
$logmax = 5000; //log保存行(これ以上は古いのから削除)
$usrmax = 25; //User投稿量制限(バイト。全角はこの半分)
$commax = 250; //コメント投稿量制限(バイト。全角はこの半分)
$limitk = 100000; //アップロード制限(KB キロバイト)
$page_def = 15; //一ページの表示行数
$admin = "del"; //削除管理パス
$auto_link = 1; //コメントの自動リンク(Yes=1;No=0);
$denylist = array('192.168.0.1','sex.com','annony'); //アクセス拒否ホスト
$arrowext = array('7z','zip','lzh','rar','avi','mpg','wmv','mp3','wma','swf','txt','bmp','jpg','png','gif'); //許可拡張子 小文字(それ以外はエラー
 
$count_start = "2004/10/24"; //¥«¥¦¥ó¥¿³«»ÏÆü
$count_file = "count.txt"; //¥«¥¦¥ó¥¿¥Õ¥¡¥¤¥ë¡Ê¶õ¥Õ¥¡¥¤¥ë¤Ç666¡Ë
$count_start = "2008/02/11"; //カウンタ開始日
$count_file = "count.txt"; //カウンタファイル(空ファイルで666)
 
$last_file = "last.cgi"; //Ϣ³Åê¹ÆÀ©¸ÂÍÑ¥Õ¥¡¥¤¥ë¡Ê¶õ¥Õ¥¡¥¤¥ë¤Ç666¡Ë
$last_time = 0; //Ʊ°ìIP¤«¤é¤ÎϢ³Åê¹Æµö²Ä¤¹¤ë´Ö³Ö¡Êʬ¡Ë¡Ê0¤Ç̵À©¸Â¡Ë
$last_file = "last.cgi"; //連続投稿制限用ファイル(空ファイルで666)
$last_time = 0; //同一IPからの連続投稿許可する間隔(分)(0で無制限)
 
/* ¹àÌÜɽ¼¨¡Ê´Ä¶­ÀßÄê¡Ë¤Î½é´ü¾õÂÖ (ɽ¼¨¤Ê¤éChecked ɽ¼¨¤·¤Ê¤¤¤Ê¤é¶õ) */
$f_act = 'checked="checked"'; //ACT¡Êºï½ü¥ê¥ó¥¯¡Ë
$f_com = 'checked="checked"'; //¥³¥á¥ó¥È
$f_size = 'checked="checked"'; //¥Õ¥¡¥¤¥ë¥µ¥¤¥º
$f_mime = ''; //MIME¥¿¥¤¥×
$f_date = 'checked="checked"'; //ÆüÉÕ¤±
$f_orig = 'checked="checked"'; //¸µ¥Õ¥¡¥¤¥ë̾
/* 項目表示(環境設定)の初期状態 (表示ならChecked 表示しないなら空) */
$f_act = 'checked="checked"'; //ACT(削除リンク)
$f_usr = 'checked="checked"'; //コメント
$f_com = 'checked="checked"'; //コメント
$f_size = 'checked="checked"'; //ファイルサイズ
$f_mime = ''; //MIMEタイプ
$f_date = 'checked="checked"'; //日付け
$f_orig = 'checked="checked"'; //元ファイル名
 
if($act=="envset"){
$cookval = @implode(",", array($acte,$come,$sizee,$mimee,$datee,$orige));
$cookval = @implode(",", array($acte,$user,$come,$sizee,$mimee,$datee,$orige));
setcookie ("upcook", $cookval,time()+365*24*3600);
}
function _clean($str) {
@@ -74,57 +77,129 @@
if (get_magic_quotes_gpc()) $str = stripslashes($str);
return $str;
}
/* ¤³¤³¤«¤é¥Ø¥Ã¥À¡¼ */
$unique_id = uniqid("");
/* ここからヘッダー */
?>
<?php echo '<?xml version="1.0" encoding="euc-jp"?>'."\n" ?>
<?php echo '<?xml version="1.0" encoding="utf-8"?>'."\n" ?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" media="all" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" media="all" />
<title><?php echo "$title" ?></title>
<script type="text/javascript"><!--//--><![CDATA[//><!--
function gID(s) { return document.getElementById(s); }
/* 建立XMLHttpRequest物件 */
function JSONXMLHttpReq(){
var objxml = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try{
objxml = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
objxml = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){ objxml = false; }
}
@end @*/
if(!objxml && typeof XMLHttpRequest!='undefined') {
objxml = new XMLHttpRequest();
if(objxml.overrideMimeType) objxml.overrideMimeType('text/plain');
}
return objxml;
}
var xhttpjson=JSONXMLHttpReq();
 
function ParseProgress(){
if(xhttpjson.readyState==4){ // 讀取完成
percent = xhttpjson.responseText;
if(percent > 0) {
gID("progressbarborder").style.display="block";
gID("progressbartext").innerHTML = percent+"%";
gID("progressbar").style.width = percent+"%";
}
if(percent < 100){
setTimeout("getProgress()", 200);
}
}
}
function getProgress(){
if(xhttpjson){
xhttpjson.open('GET','progress.php?progress_key=<?php echo($unique_id)?>', true);
xhttpjson.onreadystatechange = ParseProgress;
xhttpjson.send(null);
}
}
function startProgress(){
gID("up_progress").style.display="block";
setTimeout("getProgress()", 1000);
}
//--><!]]></script>
<link href="style.css" type="text/css" rel="stylesheet" />
</head>
<body>
 
<h1><?php echo "$title" ?></h1>
<p>µ¤¤Ë¤Ê¤ë¥Í¥¿¤Ê¤É¡³(¡­¡¼¡®)¥Î</p>
 
<p>請勿在論壇外轉載此區任何資料。</p>
<center><script type="text/javascript"><!--//--><![CDATA[//><!--
google_ad_client = "pub-8016619041936615";
//728x90, 已建立 2007/12/26
google_ad_slot = "8811687463";
google_ad_width = 728;
google_ad_height = 90;
//--><!]]></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></center>
<?php
/* ¥Ø¥Ã¥À¡¼¤³¤³¤Þ¤Ç */
/* ヘッダーここまで */
$foot = <<<FOOT
 
<h2>Ãøºî¸¢É½¼¨</h2>
<p id="link"><a href="http://php.s3.to/">¥ì¥Ã¥ÄPHP!</a> + <a href="http://utu.under.jp">Wastepaper Basket</a></p>
<center><script type="text/javascript"><!--//--><![CDATA[//><!--
google_ad_client = "pub-8016619041936615";
//468x60, 已建立 2007/12/17
google_ad_slot = "0207867936";
google_ad_width = 468;
google_ad_height = 60;
google_language = "zh-TW";
//--><!]]></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></center>
 
<h2>著作権表示</h2>
<p id="link"><a href="http://php.s3.to/">レッツPHP!</a> + <a href="http://utu.under.jp">Wastepaper Basket</a> + <a href="http://scrappedblog.blogspot.com/">Roytam1</a></p>
 
</body>
</html>
FOOT;
 
function FormatByte($size){//¥Ð¥¤¥È¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¡ÊB¢ªkB¡Ë
function FormatByte($size){//バイトのフォーマット(B→kB)
if($size == 0) $format = "";
else if($size <= 1024) $format = $size."B";
else if($size <= (1024*1024)) $format = sprintf ("%dkB",($size/1024));
else if($size <= (10*1024*1024)) $format = sprintf ("%.2fMB",($size/(1024*1024)));
else if($size <= (1024*1024*1024)) $format = sprintf ("%.2fMB",($size/(1024*1024)));
else if($size <= (1024*1024*1024*1024)) $format = sprintf ("%.2fGB",($size/(1024*1024*1024)));
else $format = $size."B";
 
return $format;
}
function paging($page, $total){//¥Ú¡¼¥¸¥ê¥ó¥¯ºîÀ®
function paging($page, $total){//ページリンク作成
global $PHP_SELF,$page_def;
 
for ($j = 1; $j * $page_def < $total+$page_def; $j++) {
if($page == $j){//º£É½¼¨¤·¤Æ¤¤¤ë¤Î¤ÏŽØŽÝŽ¸¤·¤Ê¤¤
if($page == $j){//今表示しているのはリンクしない
$next .= "[<strong>$j</strong>]";
}else{
$next .= sprintf("[<a href=\"%s?page=%d\">%d</a>]", $PHP_SELF,$j,$j);//¾¤ÏŽØŽÝŽ¸
$next .= sprintf("[<a href=\"%s?page=%d\">%d</a>]", $PHP_SELF,$j,$j);//他はリンク
}
}
if($page=="all") return sprintf ("Page: %s [ALL]",$next,$PHP_SELF);
else return sprintf ("Page: %s [<a href=\"%s?page=all\">ALL</a>]",$next,$PHP_SELF);
}
function error($mes1=""){//¤¨¤Ã¤é¡¼ŽÒŽ¯Ž¾Ž°Ž¼ŽÞ
function error($mes1=""){//えっらーメッセージ
global $foot;
 
echo $mes1;
@@ -134,22 +209,22 @@
/* start */
$limitb = $limitk * 1024;
$host = @gethostbyaddr($REMOTE_ADDR);
if(!$upcook) $upcook=@implode(",",array($f_act,$f_com,$f_size,$f_mime,$f_date,$f_orig));
list($c_act,$c_com,$c_size,$c_mime,$c_date,$c_orig)=explode(",",$upcook);
if(!$upcook) $upcook=@implode(",",array($f_act,$f_usr,$f_com,$f_size,$f_mime,$f_date,$f_orig));
list($c_act,$c_usr,$c_com,$c_size,$c_mime,$c_date,$c_orig)=explode(",",$upcook);
 
/* ¥¢¥¯¥»¥¹À©¸Â */
/* アクセス制限 */
if(is_array($denylist)){
while(list(,$line)=each($denylist)){
if(strstr($host, $line)) error('<h2>¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸</h2>
<p class="error">¥¢¥¯¥»¥¹À©¸Â:¥¢¥¯¥»¥¹¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó</p>');
foreach($denylist as $line){
if(strstr($host, $line)) error('<h2>錯誤</h2>
<p class="error">存取限制:您沒有使用權限</p>');
}
}
/* ºï½ü¼Â¹Ô */
/* 削除実行 */
if($delid && $delpass!=""){
$old = file($logfile);
$find = false;
for($i=0; $i<count($old); $i++){
list($did,$dext,,,,,,$dpwd,)=explode("\t",$old[$i]);
list($did,$dext,,,,,,,$dpwd,)=explode("\t",$old[$i]);
if($delid==$did){
$find = true;
$del_ext = $dext;
@@ -158,8 +233,8 @@
$new[] = $old[$i];
}
}
if(!$find) error('<h2>¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸</h2>
<p class="error">ºï½ü¥¨¥é¡¼:³ºÅö¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó</p>');
if(!$find) error('<h2>錯誤</h2>
<p class="error">刪除錯誤:此檔案找不到</p>');
if($delpass == $admin || substr(md5($delpass), 2, 7) == $del_pwd){
if(file_exists($updir.$prefix.$delid.".$del_ext")) unlink($updir.$prefix.$delid.".$del_ext");
if(file_exists($upsdir.$prefix.$delid.".$del_ext")) unlink($upsdir.$prefix.$delid.".$del_ext");
@@ -168,102 +243,108 @@
fputs($fp, @implode("",$new));
fclose($fp);
}else{
error('<h2>¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸</h2>
<p class="error">ºï½ü¥¨¥é¡¼:¥Ñ¥¹¥ï¡¼¥É¤¬°ã¤¤¤Þ¤¹</p>');
error('<h2>錯誤</h2>
<p class="error">刪除錯誤:密碼錯誤</p>');
}
}
/* ºï½ü¥Õ¥©¡¼¥à */
/* 削除フォーム */
if($del){
error("<h2>ºï½ü¥Õ¥©¡¼¥à</h2>
error("<h2>刪除檔案</h2>
<form method=\"post\" enctype=\"multipart/form-data\" action=\"$PHP_SELF\">
<p>ºï½ü¥Ñ¥¹ÆþÎÏ<br />
<p>請輸入密碼<br />
<input type=\"hidden\" name=\"delid\" value=\"".htmlspecialchars($del)."\" />
<input type=\"password\" size=\"12\" name=\"delpass\" class=\"box\" tabindex=\"1\" accesskey=\"1\" />
<input type=\"submit\" value=\"ºï½ü\" tabindex=\"2\" accesskey=\"2\" /></p>
<input type=\"submit\" value=\"刪除\" tabindex=\"2\" accesskey=\"2\" /></p>
</form>
<p class=\"tline\"><a href=\"$PHP_SELF?\">Ìá¤ë</a></p>
<p class=\"tline\"><a href=\"$PHP_SELF?\">返回</a></p>
");
}
/* ´Ä¶­ÀßÄê¥Õ¥©¡¼¥à */
/* 環境設定フォーム */
if($act=="env"){
echo "<h2>´Ä¶­ÀßÄê</h2>
echo "<h2>環境設定</h2>
<form method=\"get\" action=\"$PHP_SELF\">
<p><input type=\"hidden\" name=\"act\" value=\"envset\" /></p>
<h3>ɽ¼¨ÀßÄê</h3>
<h3>顯示設定</h3>
<ul>
<li><input type=\"checkbox\" name=\"acte\" value=\"checked\" tabindex=\"1\" accesskey=\"1\" $c_act />ACT</li>
<li><input type=\"checkbox\" name=\"come\" value=\"checked\" tabindex=\"2\" accesskey=\"2\" $c_com />COMMENT</li>
<li><input type=\"checkbox\" name=\"sizee\" value=\"checked\" tabindex=\"3\" accesskey=\"3\" $c_size />SIZE</li>
<li><input type=\"checkbox\" name=\"mimee\" value=\"checked\" tabindex=\"4\" accesskey=\"4\" $c_mime />MIME</li>
<li><input type=\"checkbox\" name=\"datee\" value=\"checked\" tabindex=\"5\" accesskey=\"5\" $c_date />DATE</li>
<li><input type=\"checkbox\" name=\"orige\" value=\"checked\" tabindex=\"6\" accesskey=\"6\" $c_orig />ORIG</li>
<li><input type=\"checkbox\" name=\"acte\" value=\"checked\" tabindex=\"1\" accesskey=\"1\" $c_act />刪</li>
<li><input type=\"checkbox\" name=\"user\" value=\"checked\" tabindex=\"2\" accesskey=\"2\" $c_com />用戶</li>
<li><input type=\"checkbox\" name=\"come\" value=\"checked\" tabindex=\"3\" accesskey=\"3\" $c_com />備註</li>
<li><input type=\"checkbox\" name=\"sizee\" value=\"checked\" tabindex=\"4\" accesskey=\"4\" $c_size />大小</li>
<li><input type=\"checkbox\" name=\"mimee\" value=\"checked\" tabindex=\"5\" accesskey=\"5\" $c_mime />MIME</li>
<li><input type=\"checkbox\" name=\"datee\" value=\"checked\" tabindex=\"6\" accesskey=\"6\" $c_date />日期</li>
<li><input type=\"checkbox\" name=\"orige\" value=\"checked\" tabindex=\"7\" accesskey=\"7\" $c_orig />原檔名</li>
</ul>
<p>¾åµ­¤ÎÀßÄê¤Ë¤ÆˬÌ䤹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡Ê¢¨cookie¡Ë</p>
<p><input type=\"submit\" value=\"ÅÐÏ¿\" tabindex=\"7\" accesskey=\"7\" /><input type=\"reset\" value=\"¸µ¤ËÌ᤹\" tabindex=\"8\" accesskey=\"8\" /></p>
<p>以上設定將會以 cookie 保存以便再次使用。</p>
<p><input type=\"submit\" value=\"儲存\" tabindex=\"8\" accesskey=\"8\" /><input type=\"reset\" value=\"還原\" tabindex=\"9\" accesskey=\"9\" /></p>
</form>
<p class=\"tline\"><a href=\"$PHP_SELF?\">Ìá¤ë</a></p>
<p class=\"tline\"><a href=\"$PHP_SELF?\">返回</a></p>
 
";
echo $foot;
exit;
}
$lines = file($logfile);
/* ¥¢¥×¥í¡¼¥É½ñ¤­¹þ¤ß½èÍý */
if(file_exists($upfile) && $com && $upfile_size > 0){
if(strlen($com) > $commax) error('<h2>¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸</h2>
<p class="error">Åê¹Æ¥¨¥é¡¼:¥³¥á¥ó¥È¤¬Ä¹¤¹¤®¤Þ¤¹</p>
/* アプロード書き込み処理 */
if(file_exists($upfile) && $com && $usr && $upfile_size > 0){
if(isset($usr{$usrmax+1})) error('<h2>錯誤</h2>
<p class="error">上傳錯誤:用戶名稱過長</p>
');
if($upfile_size > $limitb) error('<h2>¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸</h2>
<p class="error">Åê¹Æ¥¨¥é¡¼:¥Õ¥¡¥¤¥ë¤¬¥Ç¥«¤¹¤®¤Þ¤¹</p>');
/* Ϣ³Åê¹ÆÀ©¸Â */
if(isset($com{$commax+1})) error('<h2>錯誤</h2>
<p class="error">上傳錯誤:備註過長</p>
');
if($upfile_size > $limitb) error('<h2>錯誤</h2>
<p class="error">上傳錯誤:此檔案過大</p>');
/* 連続投稿制限 */
if($last_time > 0){
$now = time();
$last = @fopen($last_file, "r+") or die('<h2>¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸</h2>
<p class="error">Ϣ³Åê¹ÆÍÑ¥Õ¥¡¥¤¥ë $last_file ¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤</p>');
$last = @fopen($last_file, "r+") or die('<h2>錯誤</h2>
<p class="error">連続投稿用ファイル $last_file を作成してください</p>');
$lsize = fgets($last, 1024);
list($ltime, $lip) = explode("\t", $lsize);
if($host == $lip && $last_time*60 > ($now-$ltime)){
error('<h2>¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸</h2>
<p class="error">Ϣ³Åê¹ÆÀ©¸ÂÃæ:»þ´Ö¤òÃÖ¤¤¤Æ¤ä¤êľ¤·¤Æ¤¯¤À¤µ¤¤</p>');
error('<h2>錯誤</h2>
<p class="error">連続投稿制限中:時間を置いてやり直してください</p>');
}
rewind($last);
fputs($last, "$now\t$host\t");
fclose($last);
}
/* ³ÈÄ¥»Ò¤È¿·¥Õ¥¡¥¤¥ë̾ */
$pos = strrpos($upfile_name,"."); //³ÈÄ¥»Ò¼èÆÀ
/* 拡張子と新ファイル名 */
$pos = strrpos($upfile_name,"."); //拡張子取得
$ext = substr($upfile_name,$pos+1,strlen($upfile_name)-$pos);
$ext = strtolower($ext);//¾®Ê¸»ú²½
$ext = strtolower($ext);//小文字化
if(!in_array($ext, $arrowext))
error('<h2>¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸</h2>
<p class="error">³ÈÄ¥»Ò¥¨¥é¡¼:¤½¤Î³ÈÄ¥»Ò¥Õ¥¡¥¤¥ë¤Ï¥¢¥Ã¥×¥í¡¼¥É¤Ç¤­¤Þ¤»¤ó</p>');
/* µñÈݳÈÄ¥»Ò¤Ïtxt¤ËÊÑ´¹
error('<h2>錯誤</h2>
<p class="error">檔尾錯誤:此檔尾無法上傳</p>');
/* 拒否拡張子はtxtに変換
for($i=0; $i<count($denyext); $i++){
if(strstr($ext,$denyext[$i])) $ext = 'txt';
}
*/
list($id,) = explode("\t", $lines[0]);//No¼èÆÀ
$id = sprintf("%03d", ++$id); //¥¤¥ó¥¯¥ê
list($id,) = explode("\t", $lines[0]);//No取得
$id = sprintf("%03d", ++$id); //インクリ
$newname = $prefix.$id.".".$ext;
 
/* ¼«»ªÅ¾Á÷ */
move_uploaded_file($upfile, $updir.$newname);//3.0.16¤è¤ê¸å¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎPHP 3¤Þ¤¿¤Ï 4.0.2 ¸å
/* 自鯖転送 */
move_uploaded_file($upfile, $updir.$newname);//3.0.16より後のバージョンのPHP 3または 4.0.2 後
//copy($upfile, $updir.$newname);
chmod($updir.$newname, 0604);
 
/* MIME¥¿¥¤¥× */
if(!$upfile_type) $upfile_type = "text/plain";//¥Ç¥Õ¥©MIME¤Ïtext/plain
/* MIMEタイプ */
if(!$upfile_type) $upfile_type = "text/plain";//デフォMIMEはtext/plain
 
/* ¥³¥á¥ó¥È¾ */
$com = htmlspecialchars($com); //¥¿¥°ÊÑ´¹
if(get_magic_quotes_gpc()) $com = stripslashes($com); //¡ï½üµî
/* コメント他 */
$com = htmlspecialchars($com); //タグ変換
if(get_magic_quotes_gpc()) $com = stripslashes($com); //¥除去
$usr = htmlspecialchars($usr); //タグ変換
if(get_magic_quotes_gpc()) $usr = stripslashes($usr); //¥除去
 
$now = gmdate("Y/m/d(D)H:i", time()+9*60*60); //ÆüÉդΥե©¡¼¥Þ¥Ã¥È
$pwd = ($pass) ? substr(md5($pass), 2, 7) : "*"; //¥Ñ¥¹¤ÃºîÀ®¡Ê̵¤¤¤Ê¤é*¡Ë
$now = gmdate("Y/m/d(D)H:i", time()+9*60*60); //日付のフォーマット
$pwd = ($pass) ? substr(md5($pass), 2, 7) : "*"; //パスっ作成(無いなら*)
 
$dat = @implode("\t", array($id,$ext,$com,$host,$now,$upfile_size,$upfile_type,$pwd,$upfile_name,));
$dat = @implode("\t", array($id,$ext,$usr,$com,$host,$now,$upfile_size,$upfile_type,$pwd,$upfile_name,));
 
if(count($lines) >= $logmax){ //¥í¥°¥ª¡¼¥Ð¡¼¤Ê¤é¥Ç¡¼¥¿ºï½ü
if(count($lines) >= $logmax){ //ログオーバーならデータ削除
for($d = count($lines)-1; $d >= $logmax-1; $d--){
list($did,$dext,)=explode("\t", $lines[$d]);
if(file_exists($updir.$prefix.$did.".".$dext)) {
@@ -272,72 +353,77 @@
}
}
 
$fp = fopen ($logfile , "w"); //½ñ¤­¹þ¤ß¥â¡¼¥É¤Ç¥ª¡¼¥×¥ó
$fp = fopen ($logfile , "w"); //書き込みモードでオープン
flock($fp ,2);
fputs ($fp, "$dat\n"); //ÀèƬ¤Ë½ñ¤­¹þ¤à
for($i = 0; $i < $logmax-1; $i++) //¤¤¤Þ¤Þ¤Ç¤Îʬ¤òÄɵ­
fputs ($fp, "$dat\n"); //先頭に書き込む
for($i = 0; $i < $logmax-1; $i++) //いままでの分を追記
fputs($fp, $lines[$i]);
fclose ($fp);
reset($lines);
$lines = file($logfile); //Æþ¤ì¤Ê¤ª¤·
$lines = file($logfile); //入れなおし
}
foreach($arrowext as $list) $arrow .= $list." ";
/* Åê¹Æ¥Õ¥©¡¼¥à */
echo '<h2>¥¢¥Ã¥×¥í¡¼¥É¥Õ¥©¡¼¥à</h2>
<form method="post" enctype="multipart/form-data" action="'.$PHP_SELF.'" >
<p>Up File<strong>¡Ê'.$limitk.' KB¤Þ¤Ç¡Ë</strong><br />
/* 投稿フォーム */
echo '<h2>上傳檔案</h2>
<form method="post" enctype="multipart/form-data" action="'.$PHP_SELF.'" onsubmit="startProgress();return true;">
<p>檔案<strong>(最大 '.$limitk.' KB)</strong><br />
<input type="hidden" name="MAX_FILE_SIZE" value="'.$limitb.'" />
<input type="hidden" name="APC_UPLOAD_PROGRESS" id="progress_key" value="'.$unique_id.'"/>
<input type="file" size="40" name="upfile" class="box" tabindex="1" accesskey="1" />
Del Pass : <input type="password" size="10" name="pass" maxlength="10" class="box" tabindex="2" accesskey="2" /></p>
<p>Comment¡Ê¢¨¥³¥á¥ó¥È̵µ­Æþ¤Ï¥ê¥í¡¼¥É/URI¤Ï¥ª¡¼¥È¥ê¥ó¥¯¡Ë<br />
<input type="text" size="45" name="com" value="" class="box" tabindex="3" accesskey="3" />
<input type="submit" value="Up/Reload" tabindex="4" accesskey="4" />
<input type="reset" value="Cancel" tabindex="5" accesskey="5" /></p>
<p>UP²Äǽ³ÈÄ¥»Ò¡§'.$arrow.'</p>
<p>用戶名稱(※沒輸入的話檔案將不會被儲存。)<br />
<input type="text" size="20" name="usr" value="" class="box" tabindex="1" accesskey="2" />
Del Pass : <input type="password" size="10" name="pass" maxlength="10" class="box" tabindex="3" accesskey="3" /></p>
<p>備註(※沒輸入的話檔案將不會被儲存。)<br />
<input type="text" size="45" name="com" value="" class="box" tabindex="4" accesskey="4" />
<input type="submit" value="上傳" tabindex="5" accesskey="5" />
<input type="reset" value="Cancel" tabindex="6" accesskey="6" /></p>
<p>可以上傳的檔尾:'.$arrow.'</p>
<div id="up_progress">上傳中… <span id="progressbartext"></span><div id="progressbarborder"><div id="progressbar"></div></div></div>
</form>
';
/* ¥«¥¦¥ó¥¿ */
echo "<p class=\"uline\">$count_start ¤«¤é ";
/* カウンタ */
echo "<p class=\"uline\">$count_start 開始存取數: ";
if(file_exists($count_file)){
$fp = fopen($count_file,"r+");//Æɤ߽ñ¤­¥â¡¼¥É¤Ç¥ª¡¼¥×¥ó
$count = fgets($fp, 64); //64¥Ð¥¤¥ÈorEOF¤Þ¤Ç¼èÆÀ¡¢¥«¥¦¥ó¥È¥¢¥Ã¥×
$fp = fopen($count_file,"r+");//読み書きモードでオープン
$count = fgets($fp, 64); //64バイトorEOFまで取得、カウントアップ
$count++;
fseek($fp, 0); //¥Ý¥¤¥ó¥¿¤òÀèƬ¤Ë¡¢¥í¥Ã¥¯¤·¤Æ½ñ¤­¹þ¤ß
fseek($fp, 0); //ポインタを先頭に、ロックして書き込み
flock($fp,2);
fputs($fp, $count);
fclose($fp); //¥Õ¥¡¥¤¥ë¤òÊĤ¸¤ë
echo $count; //¥«¥¦¥ó¥¿É½¼¨
fclose($fp); //ファイルを閉じる
echo $count; //カウンタ表示
}
/* ¥â¡¼¥É¥ê¥ó¥¯ */
/* モードリンク */
echo '
¡Ê¤³¤ï¤ì¤Ë¤¯¤µ¥ì¥Ù¥ë1¡ËD¡§Åê¹Æµ­»öºï½ü</p>
<p class="uline"><a href="'.$home.'">HOME</a> | <a href="'.$PHP_SELF.'?act=env">´Ä¶­ÀßÄê</a> | <a href="'.$PHP_SELF.'?">¥ê¥í¡¼¥É</a> | <a href="sam.php">²èÁü°ìÍ÷</a></p>
 D:刪除檔案</p>
<p class="uline"><a href="'.$home.'">主頁</a> | <a href="'.$PHP_SELF.'?act=env">環境設定</a> | <a href="'.$PHP_SELF.'?">重新整理</a> | <a href="sam.php">圖像一覧</a></p>
 
<h2>¥Õ¥¡¥¤¥ë°ìÍ÷</h2>
<h2>檔案一覧</h2>
<p class="uline">';
/* ¥í¥°³«»Ï°ÌÃÖ */
/* ログ開始位置 */
$st = ($page) ? ($page - 1) * $page_def : 0;
if(!$page) $page = 1;
if($page == "all"){
$st = 0;
$page_def = count($lines);
}
echo paging($page, count($lines));//¥Ú¡¼¥¸¥ê¥ó¥¯
//¥á¥¤¥ó¥Ø¥Ã¥À
echo paging($page, count($lines));//ページリンク
//メインヘッダ
echo "</p>\n";
echo "<table summary=\"files\">\n<tr>";
if($c_act) echo "<th abbr=\"delete\" scope=\"col\">DEL</th>";
echo "<th abbr=\"name\" scope=\"col\">NAME</th>";
if($c_com) echo "<th abbr=\"comment\" scope=\"col\">COMMENT</th>";
if($c_size) echo "<th abbr=\"size\" scope=\"col\">SIZE</th>";
if($c_act) echo "<th abbr=\"delete\" scope=\"col\">刪</th>";
echo "<th abbr=\"name\" scope=\"col\">檔名</th>";
if($c_usr) echo "<th abbr=\"user\" scope=\"col\">用戶</th>";
if($c_com) echo "<th abbr=\"comment\" scope=\"col\">備註</th>";
if($c_size) echo "<th abbr=\"size\" scope=\"col\">大小</th>";
if($c_mime) echo "<th abbr=\"mime\" scope=\"col\">MIME</th>";
if($c_date) echo "<th abbr=\"date\" scope=\"col\">DATE</th>";
if($c_orig) echo "<th abbr=\"original name\" scope=\"col\">ORIG</th>";
if($c_date) echo "<th abbr=\"date\" scope=\"col\">日期</th>";
if($c_orig) echo "<th abbr=\"original name\" scope=\"col\">原檔名</th>";
echo "</tr>\n";
//¥á¥¤¥óɽ¼¨
//メイン表示
for($i = $st; $i < $st+$page_def; $i++){
if($lines[$i]=="") continue;
list($id,$ext,$com,$host,$now,$size,$mtype,$pas,$orig,)=explode("\t",$lines[$i]);
list($id,$ext,$usr,$com,$host,$now,$size,$mtype,$pas,$orig,)=explode("\t",$lines[$i]);
$fsize = FormatByte($size);
if($auto_link) $com = ereg_replace("(https?|ftp|news)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)","<a href=\"\\1\\2\">\\1\\2</a>",$com);
 
@@ -345,9 +431,10 @@
$target = $updir.$filename;
 
echo "<tr><!--$host-->\n";//¥Û¥¹¥Èɽ¼¨
echo "<tr><!--$host-->\n";//ホスト表示
if($c_act) echo "<td class=\"del\"><a href=\"$PHP_SELF?del=$id\">D</a></td>";
echo "<td>[<a href=\"$target\">$filename</a>]</td>";
if($c_usr) echo "<td>$usr</td>";
if($c_com) echo "<td>$com</td>";
if($c_size) echo "<td class=\"size\">$fsize</td>";
if($c_mime) echo "<td>$mtype</td>";

Property changes:

Name: svn:mime-type
+ text/plain; charset=utf-8

/readme.txt