หน้าหลัก โค้ด-บทความ php โค้ด-บทความ javascript โค้ด-บทความ css สารบัญ สารบัญ

ทักทายครับ

สวัสดีครับ หลังจากที่ blog นี้หยุดการอัพเดททบความเกี่ยวกับโค้ดในการใช้ทำเวปไปนานไม่ว่าจะเป็น code php, html, javascript, css, ajax เนื่องจากผมไม่ค่อยมีเวลาจนลืม blog นี้ไปเลย นึกขึ้นได้ตอนปีใหม่ ไปค้นหาใน google แล้วตกใจ เนื่องจาก blog นี้ไปอยู่ลำดับที่ 1 ของการค้นหา ไม่เชื่อลองดู เลยขอถือโอกาสเริ่มต้นใหม่ในช่วงปีใหม่นี้เริ่มอัพเดทบทความตั้งแต่ตอนนี้เป็นต้นไป หวังเป็นอย่างยิ่งว่าจะมีผู้ติดตามบทความของผมต่อไปน่ะครับ ปล.ท่านใดสนใจลงโฆษณาสามารถติดต่อได้ที่ hotcodephp@gmail.com

25 พ.ค. 2555

แบ่งไฟล์ข้อมูลขนาดใหญ่ออกเป็นไฟล์เล็กๆ ด้วย PHP

ในการ upload ข้อมูลเข้าสู่ฐานข้อมูลถ้าข้อมูลมีขนาดใหญ่อาจใช้เวลานานในการ upload หรือในบางครั้งเครื่องอาจจะค้างไปเลยทำให้ต้องเสียเวลา upload ใหม่ ดังนั้นบทความนี้จะขอเสนอโค้ด php ซึ่งเป็นการแบ่งฐานข้อมูลออกเป็นไฟล์เล็กๆ ให้อัปโหลดง่ายขึ้น และก็ยัง query เข้าฐานข้อมูลได้ง่ายขึ้นด้วยครับ
ตัวอย่าง Code php


<?
set_time_limit(0);
$arr = file("C:/articles/articles.sql"); //ไฟล์ข้อมูลหลักที่ต้องการแยก

$records = count($arr);
$split = 1000; //แบ่งออกไฟล์ละ 1000 บรรทัด
$total = (int)($records / $split);
if ($total * $split < $records) $total++;

$n = 0; //ชื่อไฟล์เริ่มต้น C:/0.sql....C:/9.sql
for ($i = 0; $i < $total; $i++) {
  $q = 0;
  $f = fopen("C:/$i.sql", "wb");
  while ($n < $records & $q < $split) {
   fputs($f, $arr[$n]);
   $n++;
   $q++;
  }
  fclose($f);
}
?>

ผลลัพท์จะได้เป็นไฟล์ 0.sql, 1.sql....ไปเรื่อยๆ จนกว่าจะหมด ที่ drive C ครับ ก็ run code นี้ ควรตรวจสอบไดร์ฟ C ให้เรียบร้อยก่อนครับ 

ไม่มีความคิดเห็น: