เทคนิค php ใช้ fgets และ javascript วนลูป loop อ่านไฟล์ ขนาดใหญ่

เขียนเมื่อ 13 ปีก่อน โดย Ninenik Narkdee
fgets php อ่านไฟล์ javascript

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ fgets php อ่านไฟล์ javascript

ดูแล้ว 11,340 ครั้ง


ตัวอย่างโค้ดต่อไปนี เป็นเทคนิค วิธีการสำหรับ อ่าน text ไฟล์ ขนาดใหญ่
(จากตัวทดสอบ มีขนาดไฟล์ประมาณ 1.5 MB) เพื่อนำค่าข้อมูล ของแต่ละบรรทัด ไปใช้งาน
โดยสามารถกำหนด จำนวนบรรทัด ที่เหมาะสม ในการ ประมวลผล แต่ละครั้ง
สมมติ ข้อมูลมี 1000 บรรทัด แต่การประมวลผลที่เหมาะสม อยู่ที่ 50 บรรทัด
หรือ หมายถึง ต้องการนำมาใช้งานครั้งละ 50 บรรทัด เป็นต้น

ตัวอย่างการทำงาน
https://www.ninenik.com/demo/loop_query.php

ตัวอย่างโค้ด
 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>php read text loop</title>
</head>

<body>

<input type="button" name="button" id="button" value="Start Query" 
onclick="window.location='?page=0'" />
<br />
<?php
if(isset($_GET['page'])){  // รับค่า เพิ่อเริ่มการทำงาน
?>
<?php
	$loop_step=50; // กำหนดจำนวน บรรทัดที่ต้องการ ใฃ้แต่ละครั้ง
	if(!isset($_GET['page'])){
		$step_page=1;
		$point_start=0;
		$point_end=$loop_step;		
	}else{
		$step_page=$_GET['page']+1;
		$point_start=$_GET['page']*$loop_step;
		$point_end=$point_start+$loop_step;			
	}
    $f = fopen ("gen_large_text.txt", "r");
    $ln= 0;
	$running=0; // กำหนดสถานะ การทำงาน ให้ javascript
    while ($line= fgets ($f)) {
		++$ln;
		if($ln>$point_start && $ln<=$point_end){			
			if($line===FALSE){
				print ("FALSE\n");
			}else{
				// ส่วนของคำสั่งสำหรับทำงาน
				print ($ln." -- ".$line);
			}
			echo "<hr>";       
			$running=1; // เท่ากับ 1 ให้ javascript ทำงานต่อ
		}
    }
    fclose ($f);
?> 
<?php if($running==1){ // เท่ากับ 1 javascript ทำงานต่อ  // หากทำงานเสร็จ จะเป็น 0 ?>
<script type="text/javascript">
setInterval(function(){
	window.location='loop_query.php?page=<?=$step_page?>';
},5000);
</script>
<?php } ?>
<?php } ?>
</body>
</html>

สามารถ นำไปประยุกต์ กับการใช้งาน กับฐานข้อมูล เช่น การอัพเดทข้อมูล
ในฐานข้อมูลจำนวนมาก ก็สามารถที่จะกำหนด ให้ทำการอัพเดทข้อมูล ตามจำนวนที่ต้องการ
ในแต่ละครั้งได้

 



กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ











URL สำหรับอ้างอิง





คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ