Tải bản đầy đủ (.doc) (6 trang)

Chuyển nội dung file sang XML

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (39.92 KB, 6 trang )

Chuyển nội dung file sang XML
class_file2xml.php
view plainprint?
1. <?
2. /*===============================
3. - Class: File2XML
4. - Author: Huynh Hai Huynh
5. - Email:
6. - Website:
7. ===============================*/
8.
9. class file2xml
10. {
11.
12.
13. var $folder_read;
14.
15. var $folder_write;
16.
17. var $xml_write;
18.
19. var $ext_read = array();
20.
21. var $file_in = array();
22.
23. var $time_limit;
24.
25. var $size_limit;
26.
27. function listfile()
28. {


29.
30. $file_in = array();
31.
32. if ($handle = @opendir($this->folder_read))
33. {
34. while (false !== ($file = readdir($handle)))
35. {
36. if ($file != "." && $file != "..")
37. {
38.
39. if (is_file($this->folder_read."/".$file))
40. {
41.
42.
43. $mfile = explode(".",$file);
44.
45.
46. $f_size = filesize($this->folder_read."/".$file);
47.
48. $ext = $mfile[count($mfile)-1];
49.
50.
51.
52. if (count($mfile)==1 and in_array("NULL",$this->ext_read) and ($f_size <= $this-
>size_limit))
53. {
54. $file_in[] .= $file;
55. }
56. elseif (in_array(strtolower($ext),$this->ext_read) and ($f_size <= $this->size_limit))
57. {

58. $file_in[] .= $file;
59. }
60.
61. }
62.
63. }
64. }
65. closedir($handle);
66.
67. $this->file_in = $file_in;
68.
69. $this->dumpxml();
70.
71. }
72. else die("Can not read this folder: ". $this->folder_read );
73.
74. }
75.
76. function dumpxml()
77. {
78.
79.
80.
81.
82. if (count($this->file_in)>0)
83. {
84.
85. // SET time excute
86. ini_set("max_execution_time",$this->time_limit);
87.

88. // date
89.
90. $date = date("H:j d-m-Y");
91.
92. //repare file forwrite
93. $handle_w = fopen($this->folder_save."/".$this->xml_write, "w+");
94.
95. fclose($handle_w);
96.
97. echo "================================<br>";
98. echo "<b>File2XML v1.0</b><br>";
99. echo " Author: <b>Huynh Hai Huynh</b><br>";
100. echo " Email: <b></b><br>";
101. echo " Creating file: <b>".$this->xml_write."</b><br>";
102. echo " Save at: <b>".$this->folder_save."</b><br>";
103. echo " Date: <b>".$date."</b><br>";
104. echo "================================<br>";
105. // Create XML struc
106. $dom = new DOMDocument('1.0', 'iso-8859-1');
107.
108. $element = $dom->appendChild(new DOMElement('information'));
109.
110. $element_auth = new DOMElement('author', 'FILE to XML coded by LM -
huynhhaihuynh@gmail');
111.
112. $element_version = new DOMElement('version', 'File2XML v1.0');
113.
114. $element_date = new DOMElement('date_created', $date);
115.
116. $element_file = new DOMElement('file_convert', count($this->file_in));

117.
118. $element_conv = $element->appendChild(new DOMElement('main'));
119.
120. $is=0;
121.
122. $total = array();
123.
124. foreach ($this->file_in as $fl)
125.
126. {
127.
128. $is++;
129.
130. $fl_full = $this->folder_read.$fl;
131.
132. $handle = fopen($fl_full , "r");
133.
134. while (!feof($handle))
135. {
136. $buffer = fgets($handle, 4096);
137.
138. $total[$is].=$buffer;
139. }
140.
141. fclose($handle);
142.
143.
144.
145. $element_conv_file_details = $element_conv->appendChild(new DOMElement('file'));
146.

147. $element_conv_file_name = new DOMElement('file_name', $fl);
148.
149. $element_conv_file_size = new DOMElement('file_size', @filesize($fl_full)." bytes");
150.
151. $element_conv_file_data = new DOMElement('file_data',
base64_encode($total[$is]));
152.
153. $element_conv_file_details->appendChild($element_conv_file_name);
154.
155. $element_conv_file_details->appendChild( $element_conv_file_size);
156.
157. $element_conv_file_details->appendChild( $element_conv_file_data);
158.
159.
160. echo "Writing file: $fl<br>";
161.
162. }
163.
164.
165. $element->appendChild($element_auth);
166.
167. $element->appendChild($element_version);
168.
169. $element->appendChild($element_date);
170.
171. $element->appendChild($element_file);
172.
173. $element->appendChild($element_conv);
174.
175. $con_save = $dom->save($this->folder_save."/".$this->xml_write);

176.
177. echo "================================<br>";
178.
179. echo "DONE! Your files are writen successful: ".filesize($this->folder_save."/".$this-
>xml_write)." bytes";
180.
181. // End
182.
183. }
184. else die("No list file found");
185.
186. }
187.
188.
189.
190.
191. }
192.
193. ?>
<? /*=============================== - Class: File2XML - Author: Huynh Hai Huynh -
Email: - Website:
===============================*/ class file2xml { var $folder_read; var $folder_write;
var $xml_write; var $ext_read = array(); var $file_in = array(); var $time_limit; var
$size_limit; function listfile() { $file_in = array(); if ($handle = @opendir($this->folder_read))
{ while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if
(is_file($this->folder_read."/".$file)) { $mfile = explode(".",$file); $f_size =
filesize($this->folder_read."/".$file); $ext = $mfile[count($mfile)-1]; if
(count($mfile)==1 and in_array("NULL",$this->ext_read) and ($f_size <= $this->size_limit))
{ $file_in[] .= $file; } elseif (in_array(strtolower($ext),$this->ext_read)
and ($f_size <= $this->size_limit)) { $file_in[] .= $file; } } }

} closedir($handle); $this->file_in = $file_in; $this->dumpxml(); } else die("Can not read
this folder: ". $this->folder_read ); } function dumpxml() { if (count($this->file_in)>0)
{ // SET time excute ini_set("max_execution_time",$this->time_limit); // date
$date = date("H:j d-m-Y"); //repare file forwrite $handle_w = fopen($this-
>folder_save."/".$this->xml_write, "w+"); fclose($handle_w); echo
"================================<br>"; echo "<b>File2XML v1.0</b><br>";
echo " Author: <b>Huynh Hai Huynh</b><br>"; echo " Email:
<b></b><br>"; echo " Creating file: <b>".$this-
>xml_write."</b><br>"; echo " Save at: <b>".$this->folder_save."</b><br>"; echo "
Date: <b>".$date."</b><br>"; echo "================================<br>"; //
Create XML struc $dom = new DOMDocument('1.0', 'iso-8859-1'); $element = $dom-
>appendChild(new DOMElement('information')); $element_auth = new
DOMElement('author', 'FILE to XML coded by LM - huynhhaihuynh@gmail');
$element_version = new DOMElement('version', 'File2XML v1.0'); $element_date = new
DOMElement('date_created', $date); $element_file = new DOMElement('file_convert',
count($this->file_in)); $element_conv = $element->appendChild(new DOMElement('main'));
$is=0; $total = array(); foreach ($this->file_in as $fl) { $is++; $fl_full
= $this->folder_read.$fl; $handle = fopen($fl_full , "r"); while (!feof($handle)) {
$buffer = fgets($handle, 4096); $total[$is].=$buffer; } fclose($handle);
$element_conv_file_details = $element_conv->appendChild(new DOMElement('file'));
$element_conv_file_name = new DOMElement('file_name', $fl); $element_conv_file_size
= new DOMElement('file_size', @filesize($fl_full)." bytes"); $element_conv_file_data =
new DOMElement('file_data', base64_encode($total[$is])); $element_conv_file_details-
>appendChild($element_conv_file_name); $element_conv_file_details-
>appendChild( $element_conv_file_size); $element_conv_file_details-
>appendChild( $element_conv_file_data); echo "Writing file: $fl<br>"; } $element-
>appendChild($element_auth); $element->appendChild($element_version); $element-
>appendChild($element_date); $element->appendChild($element_file); $element-
>appendChild($element_conv); $con_save = $dom->save($this->folder_save."/".$this-
>xml_write); echo "================================<br>"; echo "DONE! Your

files are writen successful: ".filesize($this->folder_save."/".$this->xml_write)." bytes"; // End }
else die("No list file found"); } } ?>
usage.php
view plainprint?
1. <?
2. /*===============================
3. - Class: File2XML
4. - Author: Huynh Hai Huynh
5. - Email:
6. - Website:
7. - Usage.php
8. ===============================*/
9. require_once("class_file2xml.php");
10. $k = new file2xml;
11.
12. $k->folder_read = "./"; // Folder ctontains file need encode
13.
14. $k->folder_save = "./"; // Folder save XMLoutput file
15.
16. $k->xml_write = "dump_file.xml"; // File name XML
17.
18. $k->time_limit = "600"; // Time execution
19.
20. $k->size_limit = "500000000"; // LIMIT bytes for per file
21.
22. $k->ext_read = array("ico"); // Null is file without extension
23. /*
24. array("doc","mpg","txt","php","gif");
25. EG: file no exteions key in array is NULL
26. array("NULL","mpg","txt","php","gif");

27.
28. */

×