ไฟล์ที่ดาวโหลด save ไฟล์เก็บใน server ด้วย

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

zwt
PHP Newbie
PHP Newbie
Posts: 6
Joined: 14/02/2011 5:02 pm

ไฟล์ที่ดาวโหลด save ไฟล์เก็บใน server ด้วย

Post by zwt »

ช่วยหน่อยครับ ใครมีวิธี ให้ ไฟล์ที่ดาวโหลด save ไฟล์เก็บใน server ด้วย

Code: Select all

            Header("Content-Type: application/msexcel");         
            header("Pragma: public");
            header("Expires: 0");
            header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
            header("Content-Type: application/force-download");
            header("Content-Type: application/octet-stream");
            header("Content-Type: application/download");
            header("Content-Transfer-Encoding: binary");            
            Header("Content-Disposition: attachment; filename=".$file_name.".xls"); 
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25929
Joined: 22/09/2008 6:18 pm
Contact:

Re: ไฟล์ที่ดาวโหลด save ไฟล์เก็บใน server ด้วย

Post by mindphp »

อ่านมันออกมาเป็น binary แล้ว เขียนมันลงไปในชื่อที่ต้องการได้เลยครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
zwt
PHP Newbie
PHP Newbie
Posts: 6
Joined: 14/02/2011 5:02 pm

Re: ไฟล์ที่ดาวโหลด save ไฟล์เก็บใน server ด้วย

Post by zwt »

ขอบคุณครับ สำหรับวิธีการ
เขียน code ต่อจาก code เดิม หรือเขียนใหม่ ครับ
พอจะมี ตัวอย่างไหมครับ

มือใหม่
User avatar
imsn
PHP Super Member
PHP Super Member
Posts: 375
Joined: 07/05/2010 12:58 pm
Contact:

Re: ไฟล์ที่ดาวโหลด save ไฟล์เก็บใน server ด้วย

Post by imsn »

ถ้ามีไฟล์ เป็นไฟล์ $file_name อยู่แล้ว
copy ไปไว้ที่ที่เราต้องการเลยก็ได้
ช่วยตอบเพราะอยากโปรโหมทเว็บ คิคิคลิกเลย
หาเพื่อนฝรั่งคุย M ...
zwt
PHP Newbie
PHP Newbie
Posts: 6
Joined: 14/02/2011 5:02 pm

Re: ไฟล์ที่ดาวโหลด save ไฟล์เก็บใน server ด้วย

Post by zwt »

อันนี้เป็น ส่วน header อยู่ด้านบนหน้า เพจ ที่แสดง html ปกติครับ ไม่มีไฟล์
$file_name รับค่ามาเพื่อตั้งชื่อเท่านั้น
เมื่อกดดาวโหลด มันจะนำ page นั้น มา open/save ที่เครื่อง client โดย user เลือก path เอง
แล้วจะเกิด ไฟล์ ที่ client
แต่ต้องการให้ มัน save ไปที่ server ด้วย ครับ

ขอบคุณครับที่สละเวลาตอบให้
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25929
Joined: 22/09/2008 6:18 pm
Contact:

Re: ไฟล์ที่ดาวโหลด save ไฟล์เก็บใน server ด้วย

Post by mindphp »

โค้ดที่ลงมาให้ ดูมันยังไม่ครบ หรือเปล่าครับ
ส่วนที่ไปอ่านไฟล์ ก่อนส่ง header ให้ client มันหายไป
ถ้าได้ ส่วนนั้นมา แค่ write เป็น file ก็เสร็จแล้วครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
zwt
PHP Newbie
PHP Newbie
Posts: 6
Joined: 14/02/2011 5:02 pm

Re: ไฟล์ที่ดาวโหลด save ไฟล์เก็บใน server ด้วย

Post by zwt »

ส่งโค้ด ตย มา ให้ช่วยดู
โดยเมื่อ user กดปุ่ม และเลือก save ที่ก็จะ save เป็น excel ที่เครื่อง user
แต่ต้องการ ให้ save เป็น excel ที่เครื่อง server ด้วย ครับ

Code: Select all

<?php   //********************  report2xls.php
class report{    
var $conn;
var $report_name="";

 	function report_header(){		
			if (isset($_POST['v_type']))
			{
				$v_type = $_POST['v_type'];
			} else {
				$v_type = "";
			}
		if ($v_type == "") {										
			echo "<form id='frmreport' name='frmreport' method='post' action=''>";
			echo "<input type=hidden  name=v_type  id=v_type >";
			echo "<img src=\"../reports/report_image/images_p3\" width=33 height=33 style=\"cursor:pointer\" alt=\"พิมพ์รายงาน\" onclick=\"window.print();\">";
			echo "&nbsp;&nbsp;";	
			
			echo "<input name='submit' type='image' src=\"../reports/report_image/report_xls.gif\" alt=\"ส่งออก Excel\"  id='submit' value='Excel' style=\"font-family : Tahoma; font-size: 11px;\" onclick=\"javascript: document.getElementById('v_type').value='xls';\">";
			echo "&nbsp;&nbsp;";	
	
			echo "</form>";
		}else if ($v_type == "xls"){                                   	
			Header("Content-Type: application/msexcel");		 
			header("Pragma: public");
			header("Expires: 0");
			header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
			header("Content-Type: application/force-download");
			header("Content-Type: application/octet-stream");
			header("Content-Type: application/download");
			header("Content-Transfer-Encoding: binary");			
			Header("Content-Disposition: attachment; filename=".$this->report_name.".xls");			
		}
	} 	
}
?>
******************************************************************
<?            //**************  Test_xls.php
	$v_report_filename = "Test_xls";
	require_once"../library/report2xls.php";									 
	$report = new report();	
	$report->report_name	=  $v_report_filename;																						
	$report->report_header();
?>

<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-874">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 11">
<link rel=Edit-Time-Data href="Tes1_files/editdata.mso">
<link rel=OLE-Object-Data href="Tes1_files/oledata.mso">
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>ZWT</o:Author>
  <o:LastAuthor>ZWT</o:LastAuthor>
  <o:Created>2011-02-16T08:26:28Z</o:Created>
  <o:LastSaved>2011-02-16T08:27:41Z</o:LastSaved>
  <o:Company>ZWT</o:Company>
  <o:Version>11.5606</o:Version>
 </o:DocumentProperties>
</xml><![endif]-->
<style>
<!--table
	{mso-displayed-decimal-separator:"\.";
	mso-displayed-thousand-separator:"\,";}
@page
	{margin:1.0in .75in 1.0in .75in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;}
tr
	{mso-height-source:auto;}
col
	{mso-width-source:auto;}
br
	{mso-data-placement:same-cell;}
.style0
	{mso-number-format:General;
	text-align:general;
	vertical-align:bottom;
	white-space:nowrap;
	mso-rotate:0;
	mso-background-source:auto;
	mso-pattern:auto;
	color:windowtext;
	font-size:10.0pt;
	font-weight:400;
	font-style:normal;
	text-decoration:none;
	font-family:Arial;
	mso-generic-font-family:auto;
	mso-font-charset:0;
	border:none;
	mso-protection:locked visible;
	mso-style-name:Normal;
	mso-style-id:0;}
td
	{mso-style-parent:style0;
	padding-top:1px;
	padding-right:1px;
	padding-left:1px;
	mso-ignore:padding;
	color:windowtext;
	font-size:10.0pt;
	font-weight:400;
	font-style:normal;
	text-decoration:none;
	font-family:Arial;
	mso-generic-font-family:auto;
	mso-font-charset:0;
	mso-number-format:General;
	text-align:general;
	vertical-align:bottom;
	border:none;
	mso-background-source:auto;
	mso-pattern:auto;
	mso-protection:locked visible;
	white-space:nowrap;
	mso-rotate:0;}
.xl24
	{mso-style-parent:style0;
	color:red;
	font-size:11.0pt;
	font-weight:700;
	font-family:Tahoma, sans-serif;
	mso-font-charset:0;
	text-align:center;
	border-top:none;
	border-right:none;
	border-bottom:.5pt solid windowtext;
	border-left:none;}
.xl25
	{mso-style-parent:style0;
	font-family:Tahoma, sans-serif;
	mso-font-charset:0;}
.xl26
	{mso-style-parent:style0;
	font-size:11.0pt;
	font-weight:700;
	font-family:Tahoma, sans-serif;
	mso-font-charset:0;
	text-align:center;
	border:.5pt solid windowtext;
	background:yellow;
	mso-pattern:auto none;}
.xl27
	{mso-style-parent:style0;
	font-size:11.0pt;
	font-family:Tahoma, sans-serif;
	mso-font-charset:0;
	text-align:center;
	border:.5pt solid windowtext;}
-->
</style>
<!--[if gte mso 9]><xml>
 <x:ExcelWorkbook>
  <x:ExcelWorksheets>
   <x:ExcelWorksheet>
    <x:Name>Sheet1</x:Name>
    <x:WorksheetOptions>
     <x:Print>
      <x:ValidPrinterInfo/>
      <x:HorizontalResolution>-3</x:HorizontalResolution>
      <x:VerticalResolution>0</x:VerticalResolution>
     </x:Print>
     <x:Selected/>
     <x:Panes>
      <x:Pane>
       <x:Number>3</x:Number>
       <x:ActiveRow>11</x:ActiveRow>
       <x:ActiveCol>2</x:ActiveCol>
      </x:Pane>
     </x:Panes>
     <x:ProtectContents>False</x:ProtectContents>
     <x:ProtectObjects>False</x:ProtectObjects>
     <x:ProtectScenarios>False</x:ProtectScenarios>
    </x:WorksheetOptions>
   </x:ExcelWorksheet>
  </x:ExcelWorksheets>
  <x:WindowHeight>7935</x:WindowHeight>
  <x:WindowWidth>12315</x:WindowWidth>
  <x:WindowTopX>120</x:WindowTopX>
  <x:WindowTopY>120</x:WindowTopY>
  <x:ProtectStructure>False</x:ProtectStructure>
  <x:ProtectWindows>False</x:ProtectWindows>
 </x:ExcelWorkbook>
</xml><![endif]-->
</head>

<body link=blue vlink=purple class=xl25>

<table x:str border=0 cellpadding=0 cellspacing=0 width=220 style='border-collapse:
 collapse;table-layout:fixed;width:166pt'>
 <col class=xl25 width=64 style='width:48pt'>
 <col class=xl25 width=78 span=2 style='mso-width-source:userset;mso-width-alt:
 2852;width:59pt'>
 <tr height=19 style='height:14.25pt'>
  <td colspan=3 height=19 class=xl24 width=220 style='height:14.25pt;
  width:166pt' x:str="Test ">Test<span style='mso-spacerun:yes'>&nbsp;</span></td>
 </tr>
 <tr height=19 style='height:14.25pt'>
  <td height=19 class=xl26 style='height:14.25pt;border-top:none'>seq</td>
  <td class=xl26 style='border-top:none;border-left:none'>col1</td>
  <td class=xl26 style='border-top:none;border-left:none'>col2</td>
 </tr>
 <tr height=19 style='height:14.25pt'>
  <td height=19 class=xl27 style='height:14.25pt;border-top:none' x:num>1</td>
  <td class=xl27 style='border-top:none;border-left:none'>a</td>
  <td class=xl27 style='border-top:none;border-left:none'>d</td>
 </tr>
 <tr height=19 style='height:14.25pt'>
  <td height=19 class=xl27 style='height:14.25pt;border-top:none' x:num>2</td>
  <td class=xl27 style='border-top:none;border-left:none'>b</td>
  <td class=xl27 style='border-top:none;border-left:none'>e</td>
 </tr>
 <tr height=19 style='height:14.25pt'>
  <td height=19 class=xl27 style='height:14.25pt;border-top:none' x:num>3</td>
  <td class=xl27 style='border-top:none;border-left:none'>c</td>
  <td class=xl27 style='border-top:none;border-left:none'>f</td>
 </tr>
 <![if supportMisalignedColumns]>
 <tr height=0 style='display:none'>
  <td width=64 style='width:48pt'></td>
  <td width=78 style='width:59pt'></td>
  <td width=78 style='width:59pt'></td>
 </tr>
 <![endif]>
</table>

</body>

</html>
User avatar
imsn
PHP Super Member
PHP Super Member
Posts: 375
Joined: 07/05/2010 12:58 pm
Contact:

Re: ไฟล์ที่ดาวโหลด save ไฟล์เก็บใน server ด้วย

Post by imsn »

มีงี้อยู่แล้วง่ายเลยครับ
มีเนื้อหาไฟล์ อยู่แล้ว ใช้ function เขียนเป็นไฟล์ เลยครับ

ใช้พวก fwrite , หรือ file_put_contents ก็ได้

Code: Select all

<?php
$data = 'ข้อความของคุณที่ต้องการเขียนเป็นไฟล์';
$fp = fopen('data.xls', 'w');
fwrite($fp, $data);
fclose($fp);
?>
จบล่ะ
ช่วยตอบเพราะอยากโปรโหมทเว็บ คิคิคลิกเลย
หาเพื่อนฝรั่งคุย M ...
Post Reply

Return to “Programming - PHP”

Who is online

Users browsing this forum: Bing [Bot] and 17 guests