OSDN Git Service

ver 0.5.9.2
[nucleus-jp/nucleus-plugins.git] / trunk / NP_MitasNom / mitasnom / extra / compress.php
1 <html><body><?php
2 /*
3  * NP_MitasNom
4  * Written by Katsumi
5  * This library is GPL
6  */
7 $strRel = '../../../../'; 
8 include($strRel . 'config.php');
9
10 if (!($member->isLoggedIn() && $member->isAdmin())) exit('Not logged in');
11 if (!$manager->checkTicket()) exit('Invalid ticket');
12
13 error_reporting (E_ERROR | E_WARNING | E_PARSE);
14
15 //$files=listup_files('../');
16 $files=listup_files('../editor');
17
18 if (!($fHandle=fopen('compress.dat','x'))) exit; //Overwrite prohibited.
19 $list='';
20 $fpoint=0;
21
22 foreach ($files as $value) {
23         ob_start();
24         $list.=readfile($value).'|'.$value."\n";// The data at each line is: "filesize|filename"
25         $data=ob_get_contents();
26         ob_end_clean();
27         fwrite($fHandle,$data);
28         echo "$value<br />\n";
29 }
30 fclose($fHandle);
31
32 if (!($fHandle=fopen('compress.lst','x'))) exit; //Overwrite prohibited.
33 fwrite($fHandle,$list);
34 fclose($fHandle);
35
36 function listup_files($dir){
37         $dir=str_replace('\\','/',$dir);// Windows support.
38         $dir=preg_replace('/[\/]$/','',$dir).'/';
39         $files=array();
40         if (!is_dir($dir)) return $files;
41         $d = dir($dir);
42         while (false !== ($entry = $d->read())) {
43                 if ($entry=='.'||$entry=='..') continue;// Ignore this and parent directory.
44                 if (is_dir($dir.$entry)) {// The case of directory
45                         foreach(listup_files($dir.$entry) as $value) $files[]=$value;
46                         continue;
47                 }
48                 $files[]=$dir.$entry;
49         }
50         $d->close();
51         return $files;
52 }
53 ?>All Done!</body></html>