Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > รบกวนดู code การ เขียน text file ระบุตำแหน่ง หน่อยค่ะ



 

รบกวนดู code การ เขียน text file ระบุตำแหน่ง หน่อยค่ะ

 



Topic : 120567



โพสกระทู้ ( 228 )
บทความ ( 0 )



สถานะออฟไลน์




text file ข้อมูลประมาณนี้ค่ะ
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6

//---------------------------------------

อยากให้รันแล้ว ข้อมูลได้แบบนี้ค่ะ

Line 1
Line 2
Line 3
Line 3
Line 5
Line 6

อยากให้ Line 3 ไปแทนที่ Line 4 ค่ะ

ตอนนี้ลองเขียน code แต่ยังรันไม่ได้ตามที่ต้องการค่ะ

Code (PHP)
<?php


$data=file("test2.txt");  
	for($i=2;$i<3;$i++){ 
	    
            $data2 = $data[$i];
			echo $data2;
			
	}
$fileName = 'test2.txt';
$lineNumber = 3;
$changeTo = "$data2 \n";

$contents = file($fileName);

$new_contents = array();
foreach ($contents as $key => $value) {
  $new_contents[] = $value;
  if ($key == $lineNumber) {
    $new_contents[] = $changeTo;
  }
}

file_put_contents($fileName, implode('',$new_contents));

?>


รันแล้ว ข้อมูลได้ประมาณนี้ค่ะ

Line 1
Line 2
Line 3
Line 3
Line 3
Line 4
Line 5
Line 6

คือมันไม่ลบ Line 4 ออกค่ะ

รบกวนช่วยดูให้หน่อยค่ะ



Tag : PHP, HTML/CSS, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-12-21 14:38:26 By : sammam View : 1344 Reply : 10
 

 

No. 1



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


Code (PHP)
$data=file("test2.txt");  
for($i=2;$i<3;$i++){ 
    $data2 = $data[$i];
    echo $data2;
}

$fileName = 'test2.txt';
$lineNumber = 3;
$changeTo = "$data2";

$contents = file($fileName);

$new_contents = array();
foreach ($contents as $key => $value) {
  if ($key == $lineNumber) {
    $new_contents[] = $changeTo;
  } else {
      $new_contents[] = $value;
  }
}

file_put_contents($fileName, implode('',$new_contents));








แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-21 17:11:39 By : mr.v
 


 

No. 2



โพสกระทู้ ( 228 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.v เมื่อวันที่ 2015-12-21 17:11:39
รายละเอียดของการตอบ ::
ยังออกมาแบบเดิมค่ะ T_T

Line 1
Line 2
Line 3
Line 3
Line 4
Line 5
Line 6


Line 4 ยังไม่ถูกลบออกอะค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-21 20:30:17 By : sammam
 

 

No. 3



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


คุณลองก๊อปโค้ดไปทั้งหมดไปทดสอบแล้วยังครับ เพราะของผมมันออกมาแบบนี้เลยนะ
Quote:
Line 1
Line 2
Line 3
Line 3
Line 5
Line 6

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-21 20:36:47 By : mr.v
 


 

No. 4



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


อันนี้เปลี่ยนชื่อไฟล์นิดหน่อย เพื่อให้เห็นความต่างระหว่างไฟล์ต้นฉบับ (test2.txt) กับไฟล์ใหม่ที่จัดเรียงใหม่แล้ว (test3.txt)

Code (PHP)
<?php
$data=file("test2.txt");  
for($i=2;$i<3;$i++){ 
    $data2 = $data[$i];
    echo $data2;
}

$fileName = 'test2.txt';
$lineNumber = 3;
$changeTo = "$data2";

$contents = file($fileName);

$new_contents = array();
foreach ($contents as $key => $value) {
  if ($key == $lineNumber) {
    $new_contents[] = $changeTo;
  } else {
    $new_contents[] = $value;
  }
}

file_put_contents('test3.txt', implode('',$new_contents));




ปล. ก๊อปทั้งหมดไปทดสอบก่อนนะครับว่ามันได้หรือไม่ได้ อย่ามองแล้วลอกเอาแค่ส่วนใดส่วนหนึ่งซึ่งอาจพลาดไม่ได้ก๊อปส่วนที่ผมแก้ไขไป


ประวัติการแก้ไข
2015-12-21 20:39:25
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-21 20:38:40 By : mr.v
 


 

No. 5



โพสกระทู้ ( 228 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : mr.v เมื่อวันที่ 2015-12-21 20:38:40
รายละเอียดของการตอบ ::
Code (PHP)
$data=file("test2.txt");  
for($i=2;$i<$i+4;$i++){ 
    $data2 = $data[$i];
    echo $data2;
}


พอดีแก้ไขตรง $i+4 ทำไมมันรันช้ามากเลยค่ะ

Fatal error: Maximum execution time of 30 seconds exceeded

รบกวนช่วยดูให้หน่อยค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-21 21:08:18 By : sammam
 


 

No. 6



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


คำสั่ง for คุณต้องกำหนดตัวเลขเริ่มต้น ตัวเลขสิ้นสุด แล้วก็การนับ

เช่น
for ($i=1; $i<=3; $i++) { }

มันจะรันไปเรื่อยๆ 3 รายการ คือตั้งแต่ 1 จนถึง i น้อยกว่าหรือเท่ากับ 3 ซึ่งก็คือ 3

for ($i=2; $i<6; $i++) { }

แบบนี้จะรันไปเรื่อยๆ 4 รายการ คือตั้งแต่ 2 จนถึง i น้อยกว่า 6 ซึ่งก็คือ 5

แล้วของคุณมาใส่แบบว่า
for ($i=2; $i<$i+4; $i++) { }

แล้วมันจะไปรู้ได้ไงอะครับว่าจริงๆแล้วต้องเท่าไหร่กันแน่ เพราะค่า i มันเพิ่มขึ้นทุกๆรอบ แล้วพอมันเพิ่มแล้วเอามา +4 มันก็เพิ่มไปอีก เช่น
รอบแรกจาก 2 +4 เท่ากับต้องวนถึง 6
แต่พอรอบสอง จาก 3 +4 เท่ากับต้องวนถึง 7
แล้วก็เพิ่มไปเรื่อยๆไม่มีหยุด สุดท้ายก็ลงเอยด้วย execution timeout

กำหนดตัวเลขที่แน่นอนลงไปสิครับอย่ามาบวกกันภายใน loop ให้มันทำงานไม่จบแบบนี้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-21 21:14:39 By : mr.v
 


 

No. 7



โพสกระทู้ ( 228 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณพี่ mr.v มากค่ะ ได้ความรู้เยอะเลยค่ะ ไว้มาถามใหม่นะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-21 21:26:53 By : sammam
 


 

No. 8



โพสกระทู้ ( 228 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : mr.v เมื่อวันที่ 2015-12-21 21:14:39
รายละเอียดของการตอบ ::
พี่ค่ะขอถามอีกนิดค่ะ

Line 1
Line 2
Line 3
Line 4
Line 5
Line 6

Line 7
Line 8
Line 9
Line 10

ถ้ารันแล้ว อยากให้ ลบข้อมูล แล้วเลื่อนข้อมูลข้างล่างขึ้นมาแบบนี้ค่ะ

Line 1
Line 2
Line 3
Line 7
Line 8
Line 9
Line 10

ต้องแก้โค็ดตรงไหนบ้างค่ะ





แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-22 08:45:12 By : sammam
 


 

No. 9



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 8 เขียนโดย : sammam เมื่อวันที่ 2015-12-22 08:45:12
รายละเอียดของการตอบ ::
ใช้วิธีเดิม อ่านข้อมูลด้วย file() มันจะได้ข้อมูลในไฟล์มาเป็น array บรรทัดละ array key
เอามา loop for each
ใน loop เอาเงื่อนไข if content == 'Line 4' || content == 'Line 5' ยาวไปตามต้องการ ให้ unset array key นั้นออก
แล้วจับมา implode ด้วยเทคนิคเดิม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-22 08:59:29 By : mr.v
 


 

No. 10



โพสกระทู้ ( 228 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 9 เขียนโดย : mr.v เมื่อวันที่ 2015-12-22 08:59:29
รายละเอียดของการตอบ ::
หน้า from ค้นหา file ค่ะ
Code (PHP)
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form action="testsearch.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <p>File: 
    <input type="file" name="filUpload[]">
  </p>
  
  <p>
    <input type="submit" name="Submit" value="Upload" />
  </p>
</form>
</body>
</html>


ส่งชื่อไฟล์มาคำนวณในหน้า testsearch.php ค่ะ
Code (PHP)
<?php
$dxf=$_FILES["filUpload"]["name"];

echo $dxf[0];


$degreetouse = 140;
$v2 = array("Line 5");


if($degreetouse < 150){
	$Qdata = $dxf[0] ;
    $assay = file($Qdata) ;
	
	while (list ($line_num2, $line2) = each ($assay)) 
 {
	 
      $search2 = substr($line2,0,6)  ;
   if($search2 == $v2[0]){
	   
	 echo " line to change = $line_num2 <br>";
	   $lineuse=$line_num2;
	   
   }
   
  
}


   $id2 = $lineuse;
for($i=1;$i<5;$i++){
	$id=$id2-1;


$lines = file($dxf[0]);
$file = $dxf[0];
foreach ($lines as $line_num => $line) 
{    
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";

}
unset($lines[$id]);
implode("\n",$lines);
file_put_contents($file,$lines); 


echo "You are trying to delete " . $id . " from " . $lines . ".";
   
 }
	

}
?>



ไม่สามารถ รัน ให้อ่านไฟล์ที่ส่งมาได้อะค่ะ ช่วยดู code ให้หน่อยค่ะ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-22 14:19:22 By : sammam
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนดู code การ เขียน text file ระบุตำแหน่ง หน่อยค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่