rtoss - Diff between revs 51 and 52

Subversion Repositories:
Rev:
Show entire file - Ignore whitespace
Rev 51 Rev 52
Line 1... Line -...
1 <?php echo '<?xml version="1.0" encoding="euc-jp"?>'."\n" ?> -  
2 <?php 1 <?php
3 /*** 2 /***
4 * Reconstruction by Wastepaper Basket 3 * Reconstruction by Wastepaper Basket
5 * ¥µ¥à¥Í¥¤¥ë¥«¥Ã¥¿¡¼¡¡¡Ê²èÁü°ìÍ÷¡Ëby ToR -  
-   4 * サムネイルカッター (画像一覧)by ToR
6 5
7 * ¢¨PHP¥ª¥×¥·¥ç¥ó¤ËGD¤¬É¬ÍפǤ¹¡Ê̵ÎÁ»ª¤Ç¤Ï¥À¥á¤Ê¤È¤³¤í¤¬Â¿¤¤ -  
8 * $_GETÅù»ÈÍѤ·¤Æ¤Þ¤¹¡£¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ÎPHP¤Ç¤Ï$_GET¢ª$HTTP_GET_VARS $_SERVER¢ª$HTTP_SERVER_VERS -  
-   6 * ※PHPオプションにGDが必要です(無料鯖ではダメなところが多い
-   7 * $_GET等使用してます。古いバージョンのPHPでは$_GET→$HTTP_GET_VARS $_SERVER→$HTTP_SERVER_VERS
9 **/ 8 **/
10 9
11 $title     = 'Wastepaper Basket';       //¥¿¥¤¥È¥ë -  
12 $upphp     = 'upload.php';              //¥¢¥Ã¥×¥í¡¼¥À -  
13 $img_dir   = "./img/";                  //²èÁü°ìÍ÷¥Ç¥£¥ì¥¯¥È¥ê -  
14 $thumb_dir = "./imgs/";                 //¥µ¥à¥Í¥¤¥ëÊݸ¥Ç¥£¥ì¥¯¥È¥ê -  
15 $ext       = ".+\.png$|.+\.jpe?g$";     //³ÈÄ¥»Ò¡¤GIF¤ÏGD¤ÎŽÊŽÞŽ°Ž¼ŽÞŽ®ŽÝ¤Ë¤è¤Ã¤Æ¤Ï̵Íý -  
16 $W         = 120;                       //½ÐÎϲèÁüÉý -  
17 $H         = 120;                       //½ÐÎϲèÁü¹â¤µ -  
18 $cols      = 2;                         //1¹Ô¤Ëɽ¼¨¤¹¤ë²èÁü¿ô -  
19 $page_def  = 4;                 //1¥Ú¡¼¥¸¤Ëɽ¼¨¤¹¤ë²èÁü¿ô -  
-   10 $title  = '中國DOS聯盟論壇專用上傳區';       //タイトル
-   11 $upphp           = 'upload.php';                //アップローダ
-   12 $img_dir         = "./img/";                    //画像一覧ディレクトリ
-   13 $thumb_dir = "./imgs/";                 //サムネイル保存ディレクトリ
-   14 $ext                     = ".+\.png$|.+\.jpe?g$";       //拡張子,GIFはGDのバージョンによっては無理
-   15 $W                               = 120;                 //出力画像幅
-   16 $H                               = 120;                 //出力画像高さ
-   17 $cols                   = 2;                            //1行に表示する画像数
-   18 $page_def       = 4;                    //1ページに表示する画像数
20 19
21 if ($_GET["cmd"]=="min" && isset($_GET["pic"])) { 20 if ($_GET["cmd"]=="min" && isset($_GET["pic"])) {
22   $src = $img_dir.$_GET["pic"]; -  
-   21         $src = $img_dir.$_GET["pic"];
23 22
24   // ²èÁü¤ÎÉý¤È¹â¤µ¤È¥¿¥¤¥×¤ò¼èÆÀ -  
25   $size = GetImageSize($src); -  
26   switch ($size[2]) { -  
27     case 1 : $im_in = ImageCreateFromGIF($src);  break; -  
28     case 2 : $im_in = ImageCreateFromJPEG($src); break; -  
29     case 3 : $im_in = ImageCreateFromPNG($src);  break; -  
30   } -  
31   // Æɤ߹þ¤ß¥¨¥é¡¼»þ -  
32   if (!$im_in) { -  
33     $im_in = ImageCreate($W,$H); -  
34     $bgc = ImageColorAllocate($im_in, 0xff, 0xff, 0xff); -  
35     $tc  = ImageColorAllocate($im_in, 0,0x80,0xff); -  
36     ImageFilledRectangle($im_in, 0, 0, $W, $H, $bgc); -  
37     ImageString($im_in,1,5,30,"Error loading {$_GET["pic"]}",$tc); -  
38     ImagePNG($im_in); -  
39     exit; -  
40    } -  
41   // ¥ê¥µ¥¤¥º -  
42   if ($size[0] > $W || $size[1] > $H) { -  
43     $key_w = $W / $size[0]; -  
44     $key_h = $H / $size[1]; -  
45     ($key_w < $key_h) ? $keys = $key_w : $keys = $key_h; -  
-   23         // 画像の幅と高さとタイプを取得
-   24         $thumbout = $thumb_dir.str_replace(strrchr($_GET["pic"],'.'),'.jpg',$_GET["pic"]);
-   25         if(!file_exists($thumbout)) {
-   26                 $size = GetImageSize($src);
-   27                 switch ($size[2]) {
-   28                         case 1 : $im_in = ImageCreateFromGIF($src);     break;
-   29                         case 2 : $im_in = ImageCreateFromJPEG($src); break;
-   30                         case 3 : $im_in = ImageCreateFromPNG($src);     break;
-   31                 }
-   32                 // 読み込みエラー時
-   33                 if (!$im_in) {
-   34                         $im_in = ImageCreate($W,$H);
-   35                         $bgc = ImageColorAllocate($im_in, 0xff, 0xff, 0xff);
-   36                         $tc     = ImageColorAllocate($im_in, 0,0x80,0xff);
-   37                         ImageFilledRectangle($im_in, 0, 0, $W, $H, $bgc);
-   38                         ImageString($im_in,1,5,30,"Error loading {$_GET["pic"]}",$tc);
-   39                         header('Content-Type: image/png');
-   40                         ImagePNG($im_in);
-   41                         exit;
-   42                  }
-   43                 // リサイズ
-   44                 if ($size[0] > $W || $size[1] > $H) {
-   45                         $key_w = $W / $size[0];
-   46                         $key_h = $H / $size[1];
-   47                         ($key_w < $key_h) ? $keys = $key_w : $keys = $key_h;
46 48
47     $out_w = $size[0] * $keys; -  
48     $out_h = $size[1] * $keys; -  
49   } else { -  
50     $out_w = $size[0]; -  
51     $out_h = $size[1]; -  
52   } -  
53   // ½ÐÎϲèÁü¡Ê¥µ¥à¥Í¥¤¥ë¡Ë¤Î¥¤¥á¡¼¥¸¤òºîÀ® -  
54   $im_out = ImageCreateTrueColor($out_w, $out_h); -  
55   // ¸µ²èÁü¤ò½Ä²£¤È¤â ¥³¥Ô¡¼¤·¤Þ¤¹¡£ -  
56   ImageCopyResampled($im_out, $im_in, 0, 0, 0, 0, $out_w, $out_h, $size[0], $size[1]); -  
-   49                         $out_w = $size[0] * $keys;
-   50                         $out_h = $size[1] * $keys;
-   51                 } else {
-   52                         $out_w = $size[0];
-   53                         $out_h = $size[1];
-   54                 }
-   55                 // 出力画像(サムネイル)のイメージを作成
-   56                 $im_out = ImageCreateTrueColor($out_w, $out_h);
-   57                 // 元画像を縦横とも コピーします。
-   58                 ImageCopyResampled($im_out, $im_in, 0, 0, 0, 0, $out_w, $out_h, $size[0], $size[1]);
57 59
58   // ¤³¤³¤Ç¥¨¥é¡¼¤¬½Ð¤ëÊý¤Ï²¼£²¹Ô¤ÈÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£(GD2.0°Ê²¼ -  
59   //$im_out = ImageCreate($out_w, $out_h); -  
60   //ImageCopyResized($im_out, $im_in, 0, 0, 0, 0, $out_w, $out_h, $size[0], $size[1]); -  
-   60                 // ここでエラーが出る方は下2行と置き換えてください。(GD2.0以下
-   61                 //$im_out = ImageCreate($out_w, $out_h);
-   62                 //ImageCopyResized($im_out, $im_in, 0, 0, 0, 0, $out_w, $out_h, $size[0], $size[1]);
61 63
62   // ¥µ¥à¥Í¥¤¥ë²èÁü¤ò¥Ö¥é¥¦¥¶¤Ë½ÐÎÏ¡¢Êݸ -  
63   switch ($size[2]) { -  
64   case 1 : if (function_exists('ImageGIF')) { ImageGIF($im_out); ImageGIF($im_out, $thumb_dir.$_GET["pic"]); } break; -  
65   case 2 : ImageJPEG($im_out);ImageJPEG($im_out, $thumb_dir.$_GET["pic"]); break; -  
66   case 3 : ImagePNG($im_out); ImagePNG($im_out, $thumb_dir.$_GET["pic"]);  break; -  
67   } -  
68   // ºîÀ®¤·¤¿¥¤¥á¡¼¥¸¤òÇË´þ -  
69   ImageDestroy($im_in); -  
70   ImageDestroy($im_out); -  
71   exit; -  
-   64                 // サムネイル画像をブラウザに出力、保存
-   65                 header('Content-Type: image/jpeg');
-   66                 ImageJPEG($im_out);
-   67                 ImageJPEG($im_out, $thumbout);
-   68                 // 作成したイメージを破棄
-   69                 ImageDestroy($im_out);
-   70                 ImageDestroy($im_in);
-   71                 exit;
-   72         } else {
-   73                 header("Location: $thumbout");
-   74                 exit;
-   75         }
72 } 76 }
73 // ¥Ç¥£¥ì¥¯¥È¥ê°ìÍ÷¼èÆÀ¡¢¥½¡¼¥È -  
-   77 // ディレクトリ一覧取得、ソート
74 $d = dir($img_dir); 78 $d = dir($img_dir);
75 while ($ent = $d->read()) { 79 while ($ent = $d->read()) {
76   if (eregi($ext, $ent)) { -  
77     $files[] = $ent; -  
78   } -  
-   80         if (eregi($ext, $ent)) {
-   81                 $files[] = $ent;
-   82         }
79 } 83 }
80 $d->close(); 84 $d->close();
81 // ¥½¡¼¥È -  
-   85 // ソート
82 @natsort($files); 86 @natsort($files);
83 $files2 = @array_reverse($files); 87 $files2 = @array_reverse($files);
84 //¥Ø¥Ã¥ÀHTML -  
-   88 //ヘッダHTML
-   89 echo '<?xml version="1.0" encoding="utf-8"?>'."\n";
85 echo <<<HEAD 90 echo <<<HEAD
86 <!DOCTYPE html 91 <!DOCTYPE html
87    PUBLIC "-//W3C//DTD XHTML 1.1//EN" -  
88    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> -  
89 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> -  
-   92          PUBLIC "-//W3C//DTD XHTML 1.1//EN"
-   93          "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-   94 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
90 <head> 95 <head>
91 <meta http-equiv="Content-Type" content="text/html; charset=euc-jp" /> -  
-   96 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
92 <title>$title</title> 97 <title>$title</title>
93 <link href="style.css" type="text/css" rel="stylesheet" media="all" /> 98 <link href="style.css" type="text/css" rel="stylesheet" media="all" />
94 </head> 99 </head>
95 <body> 100 <body>
96 101
97 <h1>$title</h1> 102 <h1>$title</h1>
98 <p>µ¤¤Ë¤Ê¤ë¥Í¥¿¤Ê¤É¡³(¡­¡¼¡®)¥Î</p> -  
-   103 <p>請勿在論壇外轉載此區任何資料。</p>
-   104 <center><script type="text/javascript"><!--//--><![CDATA[//><!--
-   105 google_ad_client = "pub-8016619041936615";
-   106 //728x90, 已建立 2007/12/26
-   107 google_ad_slot = "8811687463";
-   108 google_ad_width = 728;
-   109 google_ad_height = 90;
-   110 //--><!]]></script>
-   111 <script type="text/javascript"
-   112 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
-   113 </script></center>
99 114
100 <h2>²èÁü°ìÍ÷</h2> -  
101 <table summary="¥µ¥à¥Í¥¤¥ë°ìÍ÷"> -  
-   115 <h2>圖像一覧</h2>
-   116 <table summary="縮圖一覧">
102 <tr> 117 <tr>
103 118
104 HEAD; 119 HEAD;
105 120
106 //print_r($files); 121 //print_r($files);
107 $maxs = count($files)-1; 122 $maxs = count($files)-1;
108 $start = $_GET['start']; 123 $start = $_GET['start'];
109 $ends = $start+$page_def-1; 124 $ends = $start+$page_def-1;
110 $counter = 0; 125 $counter = 0;
111 while (list($line, $filename) = @each($files2)) { 126 while (list($line, $filename) = @each($files2)) {
112   if (($line >= $start) && ($line <= $ends)) { -  
113     $image = rawurlencode($filename); -  
114     // ¥µ¥à¥Í¥¤¥ë¤¬¤¢¤ë»þ¤ÏŽ»ŽÑŽÈŽ²ŽÙ¤Ø¤ÎŽØŽÝŽ¸¡¢¤½¤ì°Ê³°¤ÏŽ»ŽÑŽÈŽ²ŽÙɽ¼¨¡¢ºîÀ® -  
115     if (file_exists($thumb_dir.$image)) $piclink = $thumb_dir.$image; -  
116     else $piclink = $_SERVER["PHP_SELF"]."?cmd=min&pic=".$image; -  
117     $counter++; -  
118     if (((($counter) % $cols) == 1)&&(($counter) != 1)) { -  
-   127         if (($line >= $start) && ($line <= $ends)) {
-   128                 $image = rawurlencode($filename);
-   129                 // サムネイルがある時はサムネイルへのリンク、それ以外はサムネイル表示、作成
-   130                 if (file_exists($thumb_dir.$image)) $piclink = $thumb_dir.$image;
-   131                 else $piclink = $_SERVER["PHP_SELF"]."?cmd=min&pic=".$image;
-   132                 $counter++;
-   133                 if (((($counter) % $cols) == 1)&&(($counter) != 1)) {
119         echo "</tr>\n<tr>\n"; 134         echo "</tr>\n<tr>\n";
120     }//¥á¥¤¥óHTML -  
121     echo <<<EOD -  
-   135                 }//メインHTML
-   136                 echo <<<EOD
122 <td class="img"><a href="$img_dir$image"><img src="$piclink" alt="$filename" title="$filename" /><br />$filename</a></td> 137 <td class="img"><a href="$img_dir$image"><img src="$piclink" alt="$filename" title="$filename" /><br />$filename</a></td>
123 138
124 EOD; 139 EOD;
125   } -  
-   140         }
126 } 141 }
127 echo "</tr>\n</table>\n"; 142 echo "</tr>\n</table>\n";
128 143
129 //ŽÍŽßŽ°Ž¼ŽÞ¥ê¥ó¥¯ -  
130 echo '<p class="tline"><a href="'.$upphp.'?">Ìá¤ë</a> Page:'; -  
-   144 //ページリンク
-   145 echo '<p class="tline"><a href="'.$upphp.'?">戻る</a> Page:';
131 if ($_GET["start"] > 0) { 146 if ($_GET["start"] > 0) {
132   $prevstart = $_GET["start"] - $page_def; -  
133   echo " <a href=\"$_SERVER[PHP_SELF]?start=$prevstart\">&lt;&lt;Á°¤Ø</a>"; -  
-   147         $prevstart = $_GET["start"] - $page_def;
-   148         echo " <a href=\"$_SERVER[PHP_SELF]?start=$prevstart\">&lt;&lt;前へ</a>";
134 } 149 }
135 if ($ends < $maxs) { 150 if ($ends < $maxs) {
136   $nextstart = $ends+1; -  
137   echo " <a href=\"$_SERVER[PHP_SELF]?start=$nextstart\">¼¡¤Ø&gt;&gt;</a>"; -  
-   151         $nextstart = $ends+1;
-   152         echo " <a href=\"$_SERVER[PHP_SELF]?start=$nextstart\">次へ&gt;&gt;</a>";
138 } 153 }
139 echo '</p>'; 154 echo '</p>';
140 155
141 echo ' 156 echo '
-   157 <center><script type="text/javascript"><!--//--><![CDATA[//><!--
-   158 google_ad_client = "pub-8016619041936615";
-   159 //468x60, 已建立 2007/12/17
-   160 google_ad_slot = "0207867936";
-   161 google_ad_width = 468;
-   162 google_ad_height = 60;
-   163 google_language = "zh-TW";
-   164 //--><!]]></script>
-   165 <script type="text/javascript"
-   166 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
-   167 </script></center>
142 168
143 <h2>Ãøºî¸¢É½¼¨</h2> -  
144 <p id="link"><a href="http://php.s3.to/">¥ì¥Ã¥ÄPHP!</a> + <a href="http://utu.under.jp">Wastepaper Basket</a></p> -  
-   169 <h2>著作権表示</h2>
-   170 <p id="link"><a href="http://php.s3.to/">レッツPHP!</a> + <a href="http://utu.under.jp">Wastepaper Basket</a></p>
145 171
146 </body> 172 </body>
147 </html> 173 </html>
148 '; 174 ';
149 ?> 175 ?>