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 > ไม่มีใครช่วยตอบเลยอ่า preg_match ในการเขียนไฟล์ ไม่ทำงานค่ะ รบกวนหน่อยค่ะ



 

ไม่มีใครช่วยตอบเลยอ่า preg_match ในการเขียนไฟล์ ไม่ทำงานค่ะ รบกวนหน่อยค่ะ

 



Topic : 105525



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



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



มีไฟล์ 2 ไฟล์ คือ A กับ B ต้องการให้ ไฟล์ B อ่านไฟล์ A และเขียน A ต่อได้ ลงไปเรื่อยๆ อันนี้ทำได้แล้ว

แต่ติดตรงที่ว่าบรรทรรดสุดท้ายของ B เป็น Tag ปิด </body></smil> มันดันเอา A มาต่อใต้ Tag นี้ ต้องการ ให้ A อยู่ก่อน Tag นี้ค่ะ

สมมติว่าอ่านไฟล์ A ได้ $str .= $line;


Code (PHP)
        //####read file B 
	$smil_name = "B.txt"; 
	$smil_path = "../new2014";
	$smil_file = $smil_path."/".$channel."/SMIL/".$smil_name;
	
	if(file_exists($smil_file))
	{
		$handle_smil = fopen($smil_file, 'r+') or die("can't open file");
		while(1)
		{
			//read line B
			$smil_line = fgets($handle_smil);
			if($smil_line == null)break;
			$str.= $smil_line;
		}
		$str .= $line;
		$str	.= "\r\n</body></smil>";

		//set pointer back to beginning
		rewind($handle_smil); 
		ftruncate($handle_smil, filesize($smil_file));
		fwrite($handle_smil, $str);
	}
	else //no file
	{
		//## Create New File B
		$str_z  .= "\r\n<smil>\r\n";
		$str_z	.= "<body>\r\n";
		$str_z .= $str; //data in file A
		$str_z	.= "\r\n</body></smil>\r\n";
		$fp = @fopen($smil_file, "w") or die("Couldn't open $smil_file for writing!"); 
		$numBytes = @fwrite($fp, $str_z) or die("Couldn't write values to file!"); 
	}


ผลลัพธ์ออกมาเป็น Tag </body></smil> เดิมยังคงอยู่ อันใหม่ก็มาซ้ำล่างสุดอีกทีค่ะ
FileB



Tag : PHP, HTML/CSS, JavaScript, jQuery, iOS









ประวัติการแก้ไข
2014-02-06 14:18:12
2014-02-07 10:24:10
2014-02-07 10:39:54
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-02-06 11:44:37 By : ribbonjung View : 757 Reply : 4
 

 

No. 1



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



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

ตอนแรกแก้ปัญหาโดยการใช้ preg_match ปกติสามารถทำงานได้

Code (PHP)
if(preg_match("/Student GPA:/", $line))
{
	$new_line = str_replace("Student GPA: 2.9", "Student GPA: 3.1", $line);
}
else
{
	//set file content to a string
	$str.= $line;
}


แต่พอแก้เป็นแบบนี้ไม่สามารถทำงานได้ค่ะ

Code (PHP)
if(preg_match("/</body></smil>:/", $line))
{
	$new_line = str_replace("</body></smil>", "Test", $line);
}
else
{
	//set file content to a string
	$str.= $line;
}



ไม่ทราบว่าต้องแก้ไขปัญหา </body></smil> ซ้ำ โดยการใช้วิธีไหนดีคะ รบกวนหน่อยค่ะ ขอบคุณค่ะ








ประวัติการแก้ไข
2014-02-06 11:49:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-06 11:48:53 By : ribbonjung
 


 

No. 2



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



สถานะออฟไลน์
Twitter Facebook Blogger

Code (PHP)
<?php
$smil_name = "B.txt"; 
$smil_path = "";
//$smil_file = $smil_path."/".$channel."/SMIL/".$smil_name;
$smil_file="".$smil_name;

if(file_exists($smil_file))
{
	$handle_smil = fopen($smil_file, 'r+') or die("can't open file");
	
	$str ="\r\n";
	
	while(1)
	{
		//read line B
		$smil_line = fgets($handle_smil);
		if($smil_line == null)break;
		$str.= $smil_line;
	}
	$str .= $line;
	$str	.= "\r\n<playlist name=\"pl0\" playOnStream=\"Stream\" >";
	$str	.= "\r\n<video src=\"File\" ></video>";
	$str	.= "\r\n</playlist>";

	//set pointer back to beginning
	rewind($handle_smil); 
	ftruncate($handle_smil, filesize($smil_file));
	fwrite($handle_smil, $str);
}
else //no file
{
	//## Create New File B
	
	$str_z .= $str; //data in file A
	$str_z	.= "\r\n";
	$fp = @fopen($smil_file, "w") or die("Couldn't open $smil_file for writing!"); 
	$numBytes = @fwrite($fp, $str_z) or die("Couldn't write values to file!"); 
}


$f=fopen("A.txt", "wb"); 
$text=$str; 
// adding header 
$text="<smil>\r\n<head></head>\r\n<body>".$text."\r\n\r\n</body>\r\n</smil>"; 
fputs($f, $text); 
fclose($f); 
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-07 11:29:38 By : Daydev
 

 

No. 3

Guest


ผมก็ไม่รู้เหมือนกันแฮะ ลองถามพี่วิน tc admin ดูคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-07 15:55:57 By : เอก
 


 

No. 4



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



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

ขอบคุณทุกคนค่ะ ทำได้แล้วค่ะ ^^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-10 10:02:17 By : ribbonjung
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ไม่มีใครช่วยตอบเลยอ่า preg_match ในการเขียนไฟล์ ไม่ทำงานค่ะ รบกวนหน่อยค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่