source: temp/trunk/html/test/uehara/tree.php @ 8599

Revision 8599, 3.4 KB checked in by uehara, 20 years ago (diff)

blank

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?php
2/*
3 * Copyright(c) 2000-2006 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7require_once("../../require.php");
8
9class LC_Page{
10    function LC_Page() {
11    }
12}
13
14$top_dir = USER_PATH;
15
16$objPage = new LC_Page();
17$objView = new SC_UserView("./templates");
18$objQuery = new SC_Query();
19
20switch($_POST['mode']) {
21
22case 'view':
23case 'download':   
24case 'delete':
25    // ¸½ºß¤Î³¬Áؤò¼èÆÀ
26    $now_dir = $_POST['now_file'];
27    // ¥¨¥é¡¼¥Á¥§¥Ã¥¯
28    if(is_array(lfErrorCheck())) break;
29
30case 'view':
31    // ÁªÂò¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ê¤é°Üư
32    if(is_dir($_POST['select_file'])) {
33        $now_dir = $_POST['select_file'];
34    } else {
35        // javascript¤ÇÊÌÁëɽ¼¨(¥Æ¥ó¥×¥ì¡¼¥È¦¤ËÅϤ¹)
36        $file_url = ereg_replace(USER_PATH, USER_URL, $_POST['select_file']);
37        $objPage->tpl_javascript = "win02('". $file_url ."', 'user_data', '600', '400');";
38    }
39    break;
40
41case 'download':
42    if(is_dir($_POST['select_file'])) {
43        // ¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç¤Ïjavascript¥¨¥é¡¼
44        $objPage->tpl_javascript = "alert('¢¨¡¡¥Ç¥£¥ì¥¯¥È¥ê¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£');";
45    } else {
46        // ¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤Ï¥À¥¦¥ó¥í¡¼¥É¤µ¤»¤ë
47        header('Content-Disposition: attachment; filename="'. basename($_POST['select_file']) .'"');
48    }
49    break;
50   
51case 'delete':
52    break;
53   
54default :
55    // ½é´üɽ¼¨¤Ï¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê(user_data/upload/)¤òɽ¼¨
56    $now_dir = $top_dir;
57    break;
58}
59// ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¤ò¼èÆÀ
60$objPage->arrFileList = lfGetFileList($now_dir);
61$objPage->tpl_now_file = $now_dir;
62
63sfprintr($objPage->arrFileList);
64sfprintr($now_dir);
65sfprintr($arrFileList);
66
67$objView->assignobj($objPage);
68$objView->display("tree.tpl");
69
70//-----------------------------------------------------------------------------------------------------------------------------------
71
72/*
73 * ´Ø¿ô̾¡§lfGetFileList()
74 * ÀâÌÀ¡¡¡§»ØÄê¥Ñ¥¹ÇÛ²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¼èÆÀ
75 * °ú¿ô1 ¡§¥Ä¥ê¡¼¤ò³ÊǼÇÛÎó
76 * °ú¿ô2 ¡§¼èÆÀ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¥Ñ¥¹
77 */
78function lfGetFileList($dir) {
79    $arrFileList = array();
80    if (is_dir($dir)) {
81        if ($dh = opendir($dir)) {
82            $cnt = 0;
83            while (($file = readdir($dh)) !== false) {
84                // ./ ¤È ../¤ò½ü¤¯¥Õ¥¡¥¤¥ë¤Î¤ß¤ò¼èÆÀ
85                if($file != "." && $file != "..") {
86                    // ¹ÔËö¤Î/¤ò¼è¤ê½ü¤¯
87                    $dir = ereg_replace("\/$", "", $dir);
88                    $path = $dir."/".$file;
89                    $arrFileList[$cnt]['file_name'] = $file;
90                    $arrFileList[$cnt]['file_path'] = $path;
91                    $arrFileList[$cnt]['file_size'] = getDirSize($path);
92                    $arrFileList[$cnt]['file_time'] = date("Y/m/d", filemtime($path));
93                    $cnt++;
94                }
95            }
96            closedir($dh);
97        }
98    }
99   
100    return $arrFileList;
101}
102
103/*
104 * ´Ø¿ô̾¡§getDirSize()
105 * ÀâÌÀ¡¡¡§»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ð¥¤¥È¿ô¤ò¼èÆÀ
106 * °ú¿ô1 ¡§¥Õ¥¡¥¤¥ë³ÊǼÇÛÎó
107 */
108function getDirSize($dir) {
109    if(file_exists($dir)) {
110        // ¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç²¼ÁØ¥Õ¥¡¥¤¥ë¤ÎÁíÎ̤ò¼èÆÀ
111        if (is_dir($dir)) {
112            $handle = opendir($dir);
113            while ($file = readdir($handle)) {
114                $path = $dir."/".$file;
115                if ($file != '..' && $file != '.' && !is_dir($path)) {
116                    $bytes += filesize($path);
117                } else if (is_dir($path) && $file != '..' && $file != '.') {
118                    $bytes += getDirSize($path);
119                }
120            }
121        } else {
122            // ¥Õ¥¡¥¤¥ë¤Î¾ì¹ç
123            $bytes = filesize($dir);
124        }
125    } else {
126        // ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï0byte¤òÊÖ¤¹
127        $bytes = 0;
128    }
129   
130    if($bytes == "") $bytes = 0;
131   
132    return $bytes;
133}
134
135/*
136 * ´Ø¿ô̾¡§lfErrorCheck()
137 * ÀâÌÀ¡¡¡§¥¨¥é¡¼¥Á¥§¥Ã¥¯
138 */
139function lfErrorCheck() {
140
141    if($_POST['select_file']) {
142        $arrErr['select_file'] = "¢¨¡¡¥Õ¥¡¥¤¥ë¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£";
143    }
144   
145    return $arrErr;
146}
147?>
Note: See TracBrowser for help on using the repository browser.