|
|
|
ขอสอบถามวิธีการดึงข้อมูลเฉพาะส่วนจากไฟล์ HTML ไปเก็บเป็น Log file ใน MySQL ครับ |
|
|
|
|
|
|
|
มียกตัวอย่างไหม๊ครับ
|
|
|
|
|
Date :
2015-06-11 09:58:41 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ประเด็นคือผมไม่เก่งเขียนโปรแกรมครับ และไม่เคยเขียน PHP มาก่อน ตอนนี้มามาฝึกงาน เลยได้รับมอบหมายให้ทำโปรเจค 1 โปรเจค ซึ่งกำหนดว่าให้ทำระบบเพื่อ parse HTML ไปยัง Database ไฟล์ HTML ในที่นี้ก็คือไฟล์ Report ไวรัสของหน่วยงาน โดยให้ออกแบบหน้าเว็บแรกเป็นฟอร์มเพื่อรับไฟล์เข้าสู่ระบบ หลังจากนั้นระบบจะ parse เฉพาะแถวและคอลัมน์ที่ต้องการไปเก็บยัง MySQL โดยมีเงื่อนไขว่าเราจะรู้ได้อย่างไรว่ามีการดึงข้อมูลไปครบทุกบรรทัดแล้ว จะตรวจสอบได้อย่างไรว่าข้อมูลที่นำเข้าไปจะไม่ซ้ำกับข้อมูลก่อนหน้าใน Database ถ้าซ้ำจะทำอย่างไร และท้ายสุดคือเมื่อเก็บเป็น Log file ใน Database แล้ว ต้องสามารถค้นหาข้อมูลย้อนหลังได้ (คอมพิวเตอร์ที่ติดไวรัสมากที่สุด, ชนิดของไวรัสที่พบมากที่สุด) โดยอาจจะกำหนดฟอร์มค้นหาแบบระหว่างวันที่เท่าไรถึงวันที่เท่าไร
และนี่คือขั้นตอนต่างๆ ที่ผมได้ทำไปบ้างแล้วครับ
index.php
<html>
<head>
<title></title>
</head>
<body>
<center><h1>Virus Database</h1></center>
<form name="form" method="post" action="upload.php" enctype="multipart/form-data">
<input type="file" name="fileUpload">
<input name="submit" type="submit" value="Submit">
</form>
</body>
</html>
upload.php
<html>
<head>
<title></title>
</head>
<body>
<?php
if(move_uploaded_file($_FILES["fileUpload"]["tmp_name"],"files/".$_FILES["fileUpload"]["name"]))
{
echo "Copy/Upload Complete";
}
?>
</body>
</html>
parse-dom.php
<html>
<head>
<title></title>
</head>
<body>
<?php
$html = new DOMDocument();
$html->loadHTMLFile('files\18.html');
//var_dump($html);
/*$tds = $html->getElementsByTagName('td');
foreach ($tds as $td){
print $td->nodeValue."\n";
}*/
$id2 = $html->getElementById('Details');
print $id2->nodeValue."\n";
?>
</body>
</html>
ผลลัพธ์ที่ได้มีดังนี้
ปัญหาที่มีอยู่ตอนนี้คือจะทำอย่างไรให้ parse-dom.php ทำงานทันทีหลังจากที่กดปุ่ม Upload และระหว่างที่ระบบกำลังทำงานอยู่อยากให้มีการแสดงความคืบหน้าของการทำงาน ต้องทำอย่างไร และสุดท้ายคือยังไม่สามารถเชื่อมต่อหรือส่งข้อมูลไปยัง Database ได้ครับ รบกวนพี่ๆ ช่วยชี้แนะแนวทางด้วยนะครับ ขอบคุณครับ
|
|
|
|
|
Date :
2015-06-11 15:05:41 |
By :
aun.rmutto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปกติมันเป็น XML อยู่แล้วนี่ครับก็ใช้พวก XML Parser อ่านแล้ว Insert มันลงใน MySQL ได้เลยน่ะครับ (หาได้ในบทความ/กระทู้เก่า ๆ ครับ)
|
|
|
|
|
Date :
2015-06-11 15:32:38 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ
|
|
|
|
|
Date :
2015-06-11 16:12:05 |
By :
aun.rmutto |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|