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 > รบกวนเรื่องบันทึก txt ลงดาต้าเบสไม่อยากให้ตัด , แล้วเข้าฟิวส์ใหม่ครับ



 

รบกวนเรื่องบันทึก txt ลงดาต้าเบสไม่อยากให้ตัด , แล้วเข้าฟิวส์ใหม่ครับ

 



Topic : 113500



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



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




คือว่าถ้า เจอเนื้อหาใน txt เช่น wwwwwwwww,testttttttttttt, nnn บราๆๆ อะไรก็แล้วแต่ครับ พอถึงช่วงมี คอมม่า, ขั้น
มันจะบันทึกลง ฟิวส์ใหม่อ่ะครับ แต่ผมอยากให้มันคำแค่ 50 คำแทนแล้วเอา 50 คำบันทึกลง ฟิวส์ในต้าเบสพอครับ
ไม่ต้องสนว่าถ้าเจอ คอมม่า, แล้วไป ฟิวส์ใหม่หรือเรคคอร์ดใหม่อ่ะครับ พอดีว่ามีแค่ฟิวส์เดียว แค่อยากเก็บ
คำบางส่วน เพื่อเอาไว้อ้างอิงไฟล์ต้นฉบับพอครับ

Code (PHP)
<?php
$realname = $_FILES['datafile']['name'];
$file_name = $_FILES['datafile']['tmp_name'];
if (($_FILES["datafile"]["type"] == "text/plain")){
if (is_uploaded_file($file_name))
{
copy($file_name,"upload/".$realname);
$fname  = $file_name;
$fh = fopen($fname, "r");
while ( $fline = fgetcsv($fh, "4096", ",") ) {

$db_sql = "INSERT INTO tb_text_read ( filename1 )  VALUES ( '$fline[1]' );";
//$db_sql = "INSERT INTO test_upload ( id, name )  VALUES ( '$fline[0]', '$fline[1]' );";
$db_res = mysql_query($db_sql) or die($db_sql);

$result1="select * from tb_text_read";
$query1 = mysql_query($result1);
while($row2 = mysql_fetch_array($query1)){
echo $row2['filename1'].'';}
}
fclose($fh);
}
}
?>


wwwe

ต้องเปลี่ยนโค๊ดตรงไหนอ่ะครับ ไม่อยากให้มันขึ้นเรคคอร์ดใหม่ครับกรณีเจอ , หรือ ถ้าไม่มี , ก็ให้ R แล้วบันทึกเลยครับ
ตัดแค่ 100 คำปกติ



Tag : PHP









ประวัติการแก้ไข
2014-12-27 12:54:48
2014-12-27 13:23:34
2014-12-27 22:01:17
2014-12-28 01:29:14
2014-12-28 13:47:07
2014-12-28 15:40:17
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-12-27 12:42:19 By : sarut14 View : 799 Reply : 6
 

 

No. 1



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



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


รบกวนหน่อยนะครับ ขอบคุณครับผม






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-28 01:29:38 By : sarut14
 


 

No. 2



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



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


ทดสอบข้อมูล

Code (PHP)
27 while ( $fline = fgetcsv($fh, "4096", ",") ) {
	
    $db_sql = "INSERT INTO tb_text_read (id,fulltext,fulltext2)  VALUES ('$fline[0]', '$fline[1]','$fline[2]')";
    $db_res = mysql_query($db_sql) or die($db_sql);
	//print_r($db_res);
	//exit;
	
	 $query_str1 = "select *from tb_text_read";
                       $rs1 = mysql_query($query_str1);
                       while($row = mysql_fetch_array($rs1)){
						   echo $row['fulltext2'].' ';
						   
						   }
	
}


แก้เป็น
Code (PHP)
27 while ( $fline = fgetcsv($fh, "4096", ",") ) {

    $db_sql = "INSERT INTO tb_text_read (id,fulltext,fulltext2)  VALUES ('$fline[0]', '$fline[1]','$fline[2]')";
   echo $db_sql, "\n<br>";
   /* มาร์คไว้ก่อน
    $db_res = mysql_query($db_sql) or die($db_sql);
	//print_r($db_res);
	//exit;
	
	 $query_str1 = "select *from tb_text_read";
                       $rs1 = mysql_query($query_str1);
                       while($row = mysql_fetch_array($rs1)){
						   echo $row['fulltext2'].' ';
						   
						   }
	//*/
}

หรืออาจต้องใส่ mysql_real_escape_string() กับตัวแปรด้วย เพราะไม่รู้ว่าข้อมูลมีอักษรพิเศษอะไรหรือเปล่า
foreach( $fline as $k=>$vl) $fline[$k]=mysql_real_escape_string($vl);
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-28 13:44:57 By : Chaidhanan
 

 

No. 3



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



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


อักขระพิเศษ ไม่แน่ใจครับคาดว่าตีไปก่อนว่าไม่มีครับผม พอดียังมีปัญหาเรื่องไฟล์ภาษาไทยแอดแล้วขึ้นต่างด้าว

ตอนนี้ขอแค่แบบว่า แอดได้สัก 100 คำหรือตัดคำธรรมดาก็พอครับ พอดีจะเอาไปใส่ในฟิวส์ ไว้เพื่ออ้างอิงการเสิท
ในเนื้อไฟล์แล้วค้นหาไฟล์ต้นฉบับพอครับ ณ ตอนนี้

มันจะเป็แบบนี้ครับพี่ชัย

แนบไฟล์ Text ----> ตัดคำไม่สนว่าจะมี , เพื่อที่จะไม่ให้มันใส่ไปในอีกฟิวส์หรือขึ้น เรคคอร์ดใหม่ครับ ลงฟิวส์เดียว
--->ได้คำลงเก็บในดาต้าเช่น ccccc,ererererfdfccccc cccc---->ขั้นตอนต่อมาผมอาจจะต้องให้ลงฟิวส์ตรงกับ itemid == id กับไฟล์ต้นฉบับ
เพื่อที่ว่า พอค้นหา cccc จะเจอไฟล์อ่ะครับ ถ้ามันเจอ , มันจะลงเรคคอร์ดใหม่ ถ้าไม่เจอ , มันก็ไม่บรรททึกครับ เหมือนมันจะต้อง
ตัด , เพื่อ array ไว้ก่อน ยิ่งถ้ามี ,หลายๆชั้น มันจะแบ่งยาวเลย กรณีมีฟิวส์เดียวคับ


เดี๊ยวลองแบบพี่ชัยก่อนนะครับว่า เป็นยังไง รบกวนพี่ชัยด้วยนะครับ


ประวัติการแก้ไข
2014-12-28 15:33:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-28 15:28:14 By : sarut14
 


 

No. 4



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



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


ก็อ่านด้วยคุณสมบัติไฟล์ text ธรรมดา

$data50=fread( $f=fopen('filename', 'r'), 50); fclose($f);

mysql_query( "insert into table ( field1) values( '$data' )' );
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-28 16:10:54 By : Chaidhanan
 


 

No. 5



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



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


ตัวอย่างการใช้ ไฟล์ csv

จาก PHP Document
Code (PHP)
<?php
$row = 1;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    $num = count($data);
    echo "<p> $num fields in line $row: <br /></p>\n";
    $row++;
    for ($c=0; $c < $num; $c++) {
        echo $data[$c] . "<br />\n";
    }
}
fclose($handle);
?> 

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-28 16:23:30 By : Chaidhanan
 


 

No. 6



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



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


ตอนนี้ติดสองปัญหาหลักเลยครับ รบกวนอีกรอบนะครับ

1. แอดได้แล้วครับ แต่ว่ามันไปลงเรคคอร์สใหม่อยากให้ลง ไอดีเดียวกัน ไอดีไอเทมเดียวกันครับ ตามรูปมันแอดไม่ตรงไฟล์กันครับ
ผมต้องอ้างอิง ดาต้าเบสไงดีคับให้บันทึก ไอดีเดียวกัน

2.มีปัญหากับภาษาไทยครับ พอเนื้อไฟล์ข้างในเป็นไทย มันไม่เรคคอร์สให้ครับ กลับเป็นฟิวส์ว่างๆเลย

3.ถ้าเป็นไฟล์เอกสารอื่นๆเช่น PDF EXEL จะเช็คไงดีครับว่า ถ้าไม่ใช่ไฟล์ txt ก็ให้เซฟไฟล์ปกติตามกระบวนการเค้าเลยครับ

Code (PHP)
if ($handle->uploaded) {
						$handle->file_auto_rename = true;
						$handle->allowed[] = 'application/x-zip';
						$handle->allowed[] = 'application/download';
						$handle->Process($savepath);
						$filename = $handle->file_dst_name;
						//----------------------------------------------------
						
						$realname = $_FILES['attachment_file']['name'][0];
						//$filename2 = $_FILES['attachment_file']['tmp_name'][0];
						//echo $filename2;
						//exit;
						//if (($_FILES['attachment_file']['type'][0] == "text/plain")):
						
						$filetmp_name = $_FILES['attachment_file']['tmp_name'][0];
						$fname = iconv("TIS-620","UTF-8",$filetmp_name);
						$data15= fread($fh = fopen($fname, "r"),15);
						//echo "<br>";
						//echo $data15;
						//exit;	
						
						$fline = fgetcsv($data15, "4096" );
						$db = JFactory::getDBO();
						$db_sql = "INSERT INTO tb_k2_attachments ( keytext )  VALUES ( '$data15' )";	
						// VALUES (NULL, {intval($tagID)}, {intval($row->id)})";
						$db->setQuery($db_sql);
						$db->query();
						
						fclose($fh); 	
						
						//---------------------------------------------------------//
						
						$handle->Clean();
						$attachment = &JTable::getInstance('K2Attachment', 'Table');
						$attachment->itemID = $row->id;
						$attachment->filename = $filename;
						$attachment->title = ( empty($attachments_titles[$counter])) ? $filename : $attachments_titles[$counter];
						$attachment->titleAttribute = ( empty($attachments_title_attributes[$counter])) ? $filename : $attachments_title_attributes[$counter];
						$attachment->store();
					} else {
						$mainframe->redirect('index.php?option=com_k2&view=items', $handle->error, 'error');
					}
				}


				$counter++;
			}

		}



ประวัติการแก้ไข
2014-12-29 12:56:15
2014-12-29 16:34:25
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-29 12:23:23 By : sarut14
 

   

ค้นหาข้อมูล


   
 

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