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

Revision 8626, 4.0 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
20// ¸½ºß¤Î³¬Áؤò¼èÆÀ
21if($_POST['mode'] != "") {
22    $now_dir = $_POST['now_file'];
23}
24
25switch($_POST['mode']) {
26
27case 'view':
28    // ¥¨¥é¡¼¥Á¥§¥Ã¥¯
29    if(!is_array(lfErrorCheck())) {
30   
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, "", $_POST['select_file']);
37            $objPage->tpl_javascript = "win02('./file_view.php?file=". $file_url ."', 'user_data', '600', '400');";
38        }
39    }
40    break;
41
42case 'download':
43
44    // ¥¨¥é¡¼¥Á¥§¥Ã¥¯
45    if(!is_array(lfErrorCheck())) {
46        if(is_dir($_POST['select_file'])) {
47            // ¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç¤Ïjavascript¥¨¥é¡¼
48            $objPage->tpl_javascript = "alert('¢¨¡¡¥Ç¥£¥ì¥¯¥È¥ê¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£');";
49        } else {
50            // ¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤Ï¥À¥¦¥ó¥í¡¼¥É¤µ¤»¤ë
51            Header("Content-disposition: attachment; filename=".basename($_POST['select_file']));
52            Header("Content-type: application/octet-stream; name=".basename($_POST['select_file']));
53            Header("Cache-Control: ");
54            Header("Pragma: ");
55            exit;           
56        }
57    }
58    break;
59   
60case 'delete':
61    break;
62   
63default :
64    // ½é´üɽ¼¨¤Ï¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê(user_data/upload/)¤òɽ¼¨
65    $now_dir = $top_dir;
66    break;
67}
68// ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¤ò¼èÆÀ
69$objPage->arrFileList = lfGetFileList($now_dir);
70$objPage->tpl_now_file = $now_dir;
71
72sfprintr($now_dir);
73
74$objView->assignobj($objPage);
75$objView->display("tree.tpl");
76
77//-----------------------------------------------------------------------------------------------------------------------------------
78
79/*
80 * ´Ø¿ô̾¡§lfGetFileList()
81 * ÀâÌÀ¡¡¡§»ØÄê¥Ñ¥¹ÇÛ²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¼èÆÀ
82 * °ú¿ô1 ¡§¥Ä¥ê¡¼¤ò³ÊǼÇÛÎó
83 * °ú¿ô2 ¡§¼èÆÀ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¥Ñ¥¹
84 */
85function lfGetFileList($dir) {
86    $arrFileList = array();
87    if (is_dir($dir)) {
88        if ($dh = opendir($dir)) {
89            $cnt = 0;
90            while (($file = readdir($dh)) !== false) {
91                // ./ ¤È ../¤ò½ü¤¯¥Õ¥¡¥¤¥ë¤Î¤ß¤ò¼èÆÀ
92                if($file != "." && $file != "..") {
93                    // ¹ÔËö¤Î/¤ò¼è¤ê½ü¤¯
94                    $dir = ereg_replace("\/$", "", $dir);
95                    $path = $dir."/".$file;
96                    $arrFileList[$cnt]['file_name'] = $file;
97                    $arrFileList[$cnt]['file_path'] = $path;
98                    $arrFileList[$cnt]['file_size'] = getDirSize($path);
99                    $arrFileList[$cnt]['file_time'] = date("Y/m/d", filemtime($path));
100                    $cnt++;
101                }
102            }
103            closedir($dh);
104        }
105    }
106   
107    return $arrFileList;
108}
109
110/*
111 * ´Ø¿ô̾¡§getDirSize()
112 * ÀâÌÀ¡¡¡§»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ð¥¤¥È¿ô¤ò¼èÆÀ
113 * °ú¿ô1 ¡§¥Õ¥¡¥¤¥ë³ÊǼÇÛÎó
114 */
115function getDirSize($dir) {
116    if(file_exists($dir)) {
117        // ¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç²¼ÁØ¥Õ¥¡¥¤¥ë¤ÎÁíÎ̤ò¼èÆÀ
118        if (is_dir($dir)) {
119            $handle = opendir($dir);
120            while ($file = readdir($handle)) {
121                $path = $dir."/".$file;
122                if ($file != '..' && $file != '.' && !is_dir($path)) {
123                    $bytes += filesize($path);
124                } else if (is_dir($path) && $file != '..' && $file != '.') {
125                    $bytes += getDirSize($path);
126                }
127            }
128        } else {
129            // ¥Õ¥¡¥¤¥ë¤Î¾ì¹ç
130            $bytes = filesize($dir);
131        }
132    } else {
133        // ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï0byte¤òÊÖ¤¹
134        $bytes = 0;
135    }
136   
137    if($bytes == "") $bytes = 0;
138   
139    return $bytes;
140}
141
142/*
143 * ´Ø¿ô̾¡§lfErrorCheck()
144 * ÀâÌÀ¡¡¡§¥¨¥é¡¼¥Á¥§¥Ã¥¯
145 */
146function lfErrorCheck() {
147
148    if($_POST['select_file'] == '') {
149        $arrErr['select_file'] = "¢¨¡¡¥Õ¥¡¥¤¥ë¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£";
150    }
151    return $arrErr;
152}
153
154/*
155 * ´Ø¿ô̾¡§lfReadFile()
156 * °ú¿ô1 ¡§¥Õ¥¡¥¤¥ë¥Ñ¥¹
157 * ÀâÌÀ¡¡¡§¥Õ¥¡¥¤¥ëÆÉ¹þ
158 */
159function lfReadFile($filename) {
160    $str = "";
161    // ¥Ð¥¤¥Ê¥ê¥â¡¼¥É¤Ç¥ª¡¼¥×¥ó
162    $fp = @fopen($filename, "rb" );
163    //¥Õ¥¡¥¤¥ëÆâÍÆ¤òÁ´¤ÆÊÑ¿ô¤ËÆÉ¤ß¹þ¤à
164    if($fp) {
165        $str = @fread($fp, filesize($filename)+1);
166    }
167    @fclose($fp);
168    // ²þ¹Ô¥³¡¼¥É¤ÎÁ°¤Ë<br />¤òÁÞÆþ
169    $str = nl2br($str);
170    return $str;
171}
172?>
Note: See TracBrowser for help on using the repository browser.