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,027

HOME > PHP > PHP Forum > ถ้าทำการ Export ไฟล์เป็นนามสกุล .csv แบบกดปุ่มแล้วเด้งขึ้นมาให้ดาวโหลดเลย โดยที่ไม่ใช้ fopen มีวิธีไหมครับ



 

ถ้าทำการ Export ไฟล์เป็นนามสกุล .csv แบบกดปุ่มแล้วเด้งขึ้นมาให้ดาวโหลดเลย โดยที่ไม่ใช้ fopen มีวิธีไหมครับ

 



Topic : 109847



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



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




คือต้องการ Export ไฟล์เป็นสกุล .csv ลองเอา code ในเว็บไปดัดแปลงแล้ว แต่ติดปัญหาอย่าง คือมันจะสร้างไฟล์ไว้ที่ root directory (เรียกถูกหรือเปล่าเนี่ย) เหมือนว่าเป็นคำสั่งของ fopen ใช่หรือเปล่าที่สร้าง ผมไม่อยากให้มันสร้างไฟล์ หรือถ้าสร้างแล้วลบออกหลังจากเขาดาวโหลดไฟล์ไปแล้วได้ไหม ใช้คำสั่งไหน (ถ้างงคำถามผมก็บอกนะ)

Code (PHP)
<? ob_start(); ?>

<html>
<head>
	<title>Export</title>

</head>
<body>
<?php include('head.php'); ?>
<?php include('connect_db.php'); ?>
<form id="form1" name="form1" method="post" action="">


<?
	$tablenames = $_GET["tablenames"];
	$filName = ucfirst("$tablenames.csv");
	
	$objWrite = fopen("$tablenames.csv", "w");
	
	$strSQL = "SELECT * FROM $tablenames";
	$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");

	fwrite($objWrite,"b1,b2,b3,EndtoEnd,Calcu,CATBFKT ,TT,Ticket,AMO,Zone,ActionTeam,SLA,b5,Starts,Restores ,Times,Delay,Total,Site,SitexTime,b6,Problem,Edit,More1 ,More2,Pass,Cause,Subcause,SANSA,SiteID,ATNT,TX ,faultclearance,Zone2,OFCCATBFKT\n");

	while($objResult = mysql_fetch_array($objQuery)){
		fwrite($objWrite,"\"$objResult[b1]\",\"$objResult[b2]\" ,\"$objResult[b3]\",\"$objResult[EndtoEnd]\",\"$objResult[Calcu]\" ,\"$objResult[CATBFKT]\",\"$objResult[TT]\",\"$objResult[Ticket]\", \"$objResult[AMO]\",\"$objResult[Zone]\",\"$objResult[ActionTeam]\" ,\"$objResult[SLA]\",\"$objResult[b5]\",\"$objResult[Starts]\" ,\"$objResult[Restores]\",\"$objResult[Times]\",\"$objResult[Delay]\" ,\"$objResult[Total]\",\"$objResult[Site]\",\"$objResult[SitexTime]\" ,\"$objResult[b6]\",\"$objResult[Problem]\",\"$objResult[Edit]\" ,\"$objResult[More1]\",\"$objResult[More2]\",\"$objResult[Pass]\" ,\"$objResult[Cause]\",\"$objResult[Subcause]\",\"$objResult[SANSA]\" ,\"$objResult[SiteID]\",\"$objResult[ATNT]\",\"$objResult[TX]\" ,\"$objResult[faultclearance]\",\"$objResult[Zone2]\",\"$objResult[OFCCATBFKT]\"\n");
	}
	fclose($objWrite);
	header( "location: ".$filName."" );
	echo '<META HTTP-EQUIV="Refresh" CONTENT="0;URL=data.php">';
?>


</form>
	</body>
</html>




Tag : PHP, MySQL, HTML/CSS, JavaScript, jQuery, CakePHP









ประวัติการแก้ไข
2014-07-10 11:06:26
2014-07-10 11:06:52
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-07-10 11:05:47 By : nPointXer View : 1381 Reply : 5
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

Code (PHP)
<?
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");
header("Pragma: no-cache");
header("Expires: 0");

?>


ใช้แบบนี้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-10 13:54:38 By : mr.win
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

อีกตัวอย่างครับ

Code (PHP)
<?
php
$table = "filename.csv";

//Header
$csv = '"หัว 1","หัว 2"' . "\n";

//Rows
$csv .= '"Column 1 ข้อมูล","Column 2 ข้อมูล"' . "\n";
$csv .= '"Column 1 ข้อมูล","Column 2 ข้อมูล"' . "\n";
$csv .= '"Column 1 ข้อมูล","Column 2 ข้อมูล"' . "\n";
$csv .= '"Column 1 ข้อมูล","Column 2 ข้อมูล"' . "\n";
$csv .= '"Column 1 ข้อมูล","Column 2 ข้อมูล"' . "\n";

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("ข้อมูล-Type: application/octet-stream");
header("ข้อมูล-Disposition: attachment; filename=\"$table\";" );
header("ข้อมูล-Transfer-Encoding: binary"); 


echo($csv);
?>


จะต้องไม่มีพวก <html><body> มาเกี่ยวข้อง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-10 14:20:38 By : mr.win
 

 

No. 3



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



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


พอได้แล้วครับ

ไม่ทราบว่าต้องใส่ <? ob_start(); ?> ด้านบนสุดด้วยหรือเปล่าครับ เพราะถ้าไม่ใส่มันไม่เด้งหน้าต่างดาวโหลดมาให้เลย ?

ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-10 15:33:13 By : nPointXer
 


 

No. 4



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



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


ถ้าคุณทำแล้วไม่ได้อย่างตั้งใจเอาไว้ เอาโค๊ดที่คุณทำไม่ได้นั้นมาวางให้ดูครับ
แค่บอกทำตามคนอื่นแล้ว ยังไม่ได้ มันก็ไม่ได้อยู่นั่นแหล่ะครับ

ลองเอามาให้คนอื่นเขาดูให้เขาช่วยวิเคราะห์ดีกว่า ว่าคุณทำผิดอย่างไรดีกว่าครับ
คงไม่ได้คิดว่าโค๊ดตัวเองทำถูกแล้ว แต่มันดาวน์โหลดไม่ได้นะครับ

โค๊ดที่คุณ mr_win เอามาให้ดู นั่นครับยังไงก็โหลดได้ คุณลองก๊อปปี้ โดยไม่ต้องแก้ไขเลย
ยัดมันลงไปใน file อะไรก็ได้ นามสกุล php แล้วลองเรียกใช้ดู
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-10 19:54:13 By : Chaidhanan
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-10 19:54:13
รายละเอียดของการตอบ ::
ใช้ code ของท่าน TC Admin นั่นแหละครับ เพียงแค่เปลี่ยน Header Rows เป็นของผมเอง ก็คือด้านบนสุด แก้คำว่า "ข้อมูล" เป็น Content ละก็ประยุกต์อะไรเล่นนิดๆหน่อยๆ พอดีผมไม่ได้อยู่ออฟฟิตละครับ ใช้คอมคนละเครื่อง ต้องขอโทษ ณ ที่นี้ด้วยครับท่าน Chaidhanan

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-11 03:33:31 By : nPointXer
 

   

ค้นหาข้อมูล


   
 

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