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 > ทำไม่ได้ซะที ขอความช่วยเหลือหน่อยครับ เรื่อง ทำเป็น Zip File แล้ว Upload



 

ทำไม่ได้ซะที ขอความช่วยเหลือหน่อยครับ เรื่อง ทำเป็น Zip File แล้ว Upload

 



Topic : 106037



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



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




คือประมาณว่า ผมมีตัวนี้เป็นตัวเก่าอยู่ , ตัว $_FILES['uploadfile']['name'] = สท121023.docx แล้วต้องการ zip file ก่อนที่จะส่งไปอัพโหลด

ผมลองเอาไปประยุกต์ใช้กับอันนี้แล้วที่เป็น adodb แต่ก็ทำไม่ได้ซะที สิ่งจะทำคือตามนี้
1.ได้ไฟลืมา ก็ จัดการ rename ชื่อๆ กลายเป็น Filename , ส่วน Filepic คือ สถานที่แฟ้มที่จะใส่ไว้
2.จากนั้นก้จัดการ อัดตัว ไฟล์ให้กลายเป็น Filename.zip และ อัพโหลดเข้า เลยครับ

อันนี้คือ zipfile ของเว็บนี้่ที่ผมเอามาประยุกต์ใช้ https://www.thaicreate.com/php/php-upload-zip-files.html


Code (PHP)
if ( ($_POST["buttonSubmit"] == "Upload") && ($_FILES['uploadfile']['error'] == 0) )  {
			$arr_Filename = split("\.",$_FILES['uploadfile']['name']);
			$Filename = $arr_Filename[0]."_".date("U",time()).".".$arr_Filename[1];
			$filepic = $_POST["path"].$Filename;

			if(move_uploaded_file($_FILES['uploadfile']['tmp_name'], $filepic)) {
					if (($_POST["oldFile"] != '') && (file_exists($_POST["path"].$_POST["oldFile"])) ) unlink($_POST["path"].$_POST["oldFile"]);			
					$chk = 1;
			}
}




Tag : PHP, MySQL, HTML/CSS, JavaScript









ประวัติการแก้ไข
2014-02-20 09:45:44
2014-02-20 09:46:39
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-02-20 09:44:48 By : copsychus View : 775 Reply : 7
 

 

No. 1



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

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

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

ปกติการ Zip ไฟล์จะเกิดขึ้นบน Server ครับ ฉะนั้นจะต้อง Upload ก่อนที่จะ Zip ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-20 13:52:23 By : mr.win
 


 

No. 2



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

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

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


ทำไม่ได้นี่ติดปัญหา หรือ เกิด Error ตรงไหนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-20 14:15:09 By : apisitp
 

 

No. 3



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



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


Upload ก่อนที่ จะ zip นี่หมายถึงว่า ไฟลืมันต้องมาอยู่ในเซิฟเวอรืก่อนหรอครับ ถึงจะ zip ได้ แต่ถ้าหมายถึงว่าเรียกโดยใช้ $_FILES['uploadfile']['name'] ได้ผมก็อัพมาแล้วนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-20 14:21:16 By : copsychus
 


 

No. 4



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

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

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


ลองเอา Code เต็ม ๆ มาวางไว้ครับ คนที่เค้ารู้เรื่องนี้ ผ่านทางมาอาจตอบท่านได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-20 14:33:56 By : apisitp
 


 

No. 5



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



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


ตอนนี้โค้ดเป็นแบบนี้อะครับ พออัพแล้ว ไฟล์ pptx มันดันอยู่ใน folder เดียวกับ folder ที่อัพโหลด ไม่ได้ไปอยู่ที่ โพลเดอร์ที่ตั้งไว้ แล้วก็มันเป็นไฟลื pptx แบบเสียหายอะครับ ไม่ใช่ไฟล์ zip ด้วยครับ

Code (PHP)
if ( ($_POST["buttonSubmit"] == "Upload") && ($_FILES['uploadfile']['error'] == 0) )  {
			$arr_Filename = split("\.",$_FILES['uploadfile']['name']);
			$Filename = $arr_Filename[0]."_".date("U",time()).".".$arr_Filename[1];
			require_once("dZip.inc.php"); // include Class
			$zip = new dZip($Filename); // New Class
			$filepic = $_POST["path"].$Filename;
			
			

			if($_FILES["uploadfile"]["name"] != "") {
				$zip->addFile($_FILES["uploadfile"]["tmp_name"],$filepic);
				$zip->save();
				
					if (($_POST["oldFile"] != '') && (file_exists($_POST["path"].$_POST["oldFile"])) ) unlink($_POST["path"].$_POST["oldFile"]);			
					$chk = 1;
			}
}


อันนี้โค้ดเต้มๆครับ

หน้าก่อน กด Upload
Code (PHP)
<?
session_start();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620">
<title>: : Upload File : : </title>
<link href="../css/admin.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript" src="../../_library/js/swfobject.js"></script>
<script language="javascript">
<!--
	this.path = opener.param1;
	this.imgField   = opener.param2;
	this.scaleField   = opener.param3;
	var txtScale = this.scaleField.value;
	arr_txtScale = txtScale.split("x");

function openImg(){
	if(this.imgField.value.length>0) {			
		fileExt = this.imgField.value.substring(this.imgField.value.length-4,this.imgField.value.length).toLowerCase();		
		if( fileExt == '.gif' || fileExt == '.jpg' || fileExt == 'jpeg' || fileExt == '.png' ) {
					document.getElementById("docWrite").innerHTML = '<img id="preview" ' +
					'name="preview" src="'+this.path+this.imgField.value+'" >';				
			} else if( fileExt == '.swf' ) {
					var so = new SWFObject(this.path+this.imgField.value, "soFlash",arr_txtScale[0],arr_txtScale[1], "8", "#FFFFFF");
				    so.addParam("quality", "high");
				    so.addParam("menu", "0");
				    so.write("docWrite");
			} else {
					document.getElementById("docWrite").innerHTML = '<a href="'+this.path+this.imgField.value+'" target="_blank" >' +
					'Click Here to Download</a>';	
			}			
	}
	
	
}

function activeDelete() {
	if( opener.param2.value == '' ) document.upload.buttonSubmit2.disabled = true;
	else document.upload.buttonSubmit2.disabled = false;	
}

function chkdata() {
		var form = document.upload;
		var invalid = " ";
		form.path.value = this.path;		
		form.oldFile.value = this.imgField.value;	
/*
	if (form.uploadfile.value.indexOf(invalid) == -1) {
			alert("Please Browse File !!! ");
			return false;
	}	
	*/
	return true;  
}
//-->
</script>
</head>
<body onLoad="javascript:<? echo "openImg();activeDelete()"; ?> 	" >
<table width="100%" height="100%"  border="0" cellpadding="5" class="txtnormal">
  <tr>
    <td align="center">	
	<div id="docWrite"></div>	
	<!--<img id="preview" name="preview" src="../images/pic_tmp.gif">//-->	
	</td>	
  </tr>
  <form name="upload" method="post" enctype="multipart/form-data" action="upload_submit.php" onSubmit="return chkdata();">
   <tr>
     <td height="2" align="center" bgcolor="#CCCCCC"></td>
   </tr>
   <tr>
    <td height="100" align="right" valign="top" bgcolor="#ECF2F2"><table width="300" border="0" align="right" cellpadding="0" cellspacing="0">
        <tr>
          <td align="right">            
            <input type="FILE" name="uploadfile" class="txtnormal"  width="200px"></td>
        </tr>
        <tr>
          <td height="2" align="right"></td>
        </tr>
        <tr>
          <td align="right">		
		   <input type="hidden" name="path" >
		   <input type="hidden" name="oldFile" >
		  <input type="SUBMIT" name="buttonSubmit" value="Upload" class="txtnormal" >
&nbsp;
<input type="SUBMIT" name="buttonSubmit2" value="Delete" class="txtnormal" 
onClick="return confirm('Do you want to delete this item ?')"   >		    
&nbsp;
            <input type="button" name="Button" value="Close" onClick="window.close()" class="txtnormal"></td>
        </tr>
      </table>
	  </td>
  </tr>
  </form>
</table>





</body>
</html>




พอกดแล้วจะส่งมาหน้านี้ครับ
Code (PHP)
<?
session_start(); 

$chk = 0;
//echo "<pre>";
//print_r($_FILES['uploadfile']);
//echo "</pre>";
if ( ($_POST["buttonSubmit"] == "Upload") && ($_FILES['uploadfile']['error'] == 0) )  {
			$arr_Filename = split("\.",$_FILES['uploadfile']['name']);
			$Filename = $arr_Filename[0]."_".date("U",time()).".".$arr_Filename[1];
			require_once("dZip.inc.php"); // include Class
			$zip = new dZip($Filename); // New Class
			$filepic = $_POST["path"].$Filename;

			if($_FILES["uploadfile"]["name"] != "") {
				$zip->addFile($_FILES["uploadfile"]["tmp_name"],$filepic);
				$zip->save();
				
					if (($_POST["oldFile"] != '') && (file_exists($_POST["path"].$_POST["oldFile"])) ) unlink($_POST["path"].$_POST["oldFile"]);			
					$chk = 1;
			}
} elseif( $_POST["buttonSubmit2"] == "Delete" ) {
					if (($_POST["oldFile"] != '') && (file_exists($_POST["path"].$_POST["oldFile"])) ) unlink($_POST["path"].$_POST["oldFile"]);			
					$chk = 2;
					$Filename = "";
}


?>
<html>
<head>
<title>: : Upload File : : </title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620">
<link href="../css/admin.css" rel="stylesheet" type="text/css">
<? if( ($chk == 1) || ($chk == 2) ) {  ?>
<script language="javascript">
<!--		
		opener.param2.value = "<?=$Filename?>";
//-->
</script>
<?  }   ?>
</head>

<body>
<table width="100%" height="100%"  border="0" cellpadding="5" class="txtnormal">
  <tr>
    <td align="center">	
	<? if( $chk == 1) {  ?>
				 <meta http-equiv="refresh" content="1;url=upload.php">
					Process is complete , please wait <img src="../images/ani.gif" width="18" height="12">
					<br>
	or <a href='upload.php'>Click Here</a> to go upload page.	
	<?  } elseif(  $chk == 2 ) {  ?>
				<meta http-equiv="refresh" content="1;url=upload.php">
					Delete File is complete , please wait <img src="../images/ani.gif" width="18" height="12">
					<br>
	<?  } else {  ?>
	Process is error , please <a href='upload.php'>Click Here</a> for upload file again.		
	<?  }   ?>
	</td>	
  </tr>  
   <tr>
     <td height="2" align="center" bgcolor="#CCCCCC"></td>
   </tr>
   <tr>
     <td height="100" align="right" valign="top" bgcolor="#ECF2F2">&nbsp;</td>
   </tr>
</table>
</body>
</html>




ประวัติการแก้ไข
2014-02-20 14:43:20
2014-02-20 15:05:43
2014-02-20 15:07:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-20 14:35:54 By : copsychus
 


 

No. 6



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

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

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


สิ่งที่ผมไม่รู้
"พออัพแล้ว ไฟล์ pptx มันดันอยู่ใน folder เดียวกับ folder ที่อัพโหลด ไม่ได้ไปอยู่ที่ โพลเดอร์ที่ตั้งไว้ "
- folder ที่อัพโหลด ชื่อว่าอะไร/ โพลเดอร์ที่ตั้งไว้ชื่อว่าอะไร

"$_POST["path"]"
- ผมดูจากฟอร์ม มี input type=hidden name=path อยู่ ขาด value /ชื่อ path เต็ม ๆ คืออะไรครับ ถ้าอยู่ใน script ก็ขออภัย (เพราะไม่ค่อยเข้าใจภาษา)


$Filename = $arr_Filename[0]."_".date("U",time()).".".$arr_Filename[1]; //เอาชื่อมาจัดเรียงใหม่ อันนี้ผมเข้าใจ
//เรียกการบีบอัดไฟล์ - เข้าใจ
require_once("dZip.inc.php"); // include Class


$zip = new dZip($Filename); // New Class

//ผ่านการบีบไฟล์ ควรจะใช้ตัวแปร $zip หรือเปล่าครับ
//เปลี่ยน
$filepic = $_POST["path"].$Filename; //อันนี้จะได้ไฟล์นามสกุลเดิมที่อัพโหลดเข้ามา
//เป็น
$filepic = $_POST["path"].$zip ; // อันนี้จะได้เป็นไฟล์บีบอัด
//อย่างที่บอก ผมไม่รู้จริงๆว่า _POST["path"] ส่งค่าอะไรมา



จบไปล่ะประเด็นรวม ๆ
ที่นี้ เฉพาะ $filepic = $_POST["path"].$Filename; อันนี้ เราจะเอาตัวแปร $filepic เป็น path นำส่งไฟล์
ผมว่ารูปแบบมันไม่คุ้น.....ที่ผมใช้อยู่ คือ $filepic = "ชื่อโฟลเดอร์/".$Filename;

//ต.ย. เอาชื่อตัวแปรของคุณมาปรับนะ

$filepic = $_POST["path"].$Filename;
//ถ้าคุณ ใช้ จุด dot . ในการเชื่อค่า ตัวแปร $filepic ควรจะต้องออกมาอยู่ในรูป "ชื่อโฟอลเดอร์ที่ต้องการเก็บไฟล์/".ชื่อไฟล์ 
// ลอง echo ค่าตัวแปรทุกตัวออกมาครับ จะได้รู้ว่า ค่ามันเป็นหรือเหมือนอย่างที่เราคิดไว้หรือเปล่า


ไม่รู้ว่าตรงประเด็นหรือเปล่า ก็หวังว่าจะช่วยได้


ประวัติการแก้ไข
2014-02-20 18:56:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-20 18:53:18 By : apisitp
 


 

No. 7



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



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


ใช้ได้หมดแล้วครับ พอมี ไอเดียไหมครับ ว่า texteditor ตัวไหน ใช้งานได้ดีที่สุดกับ ie7 ใส่ลิงค์ได้ อัพรูปภาพได้


ประวัติการแก้ไข
2014-02-21 14:17:53
2014-02-21 16:27:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-21 13:14:47 By : copsychus
 

   

ค้นหาข้อมูล


   
 

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