Chuyển nội dung file sang XML
Thứ Hai, 04.06.2007, 02:51pm (GMT+7)
Cần phải tạo 2 file "class_file2xml.php" & "usage.php".
File: class_file2xml.php
- <?
- 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)
- {
-
- ini_set("max_execution_time",$this->time_limit);
-
- $date = date("H:j d-m-Y");
-
- $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>quantriWEB</b><br>";
- echo " Website: <b>www.quantriweb.com</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>";
-
- $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";
-
- }
- else die("No list file found");
- }
- }
-
- ?>
File: usage.php
- <?
- require_once("class_file2xml.php");
- $k = new file2xml;
- $k->folder_read = "./";
-
- $k->folder_save = "./";
-
- $k->xml_write = "dump_file.xml";
-
- $k->time_limit = "600";
- $k->size_limit = "500000000";
- $k->ext_read = array("ico");
-
-
-
-
-
- echo $k->listfile();
- ?>
Theo PHP Vietnam
|