|
|
|
ทำไม่ได้ซะที ขอความช่วยเหลือหน่อยครับ เรื่อง ทำเป็น Zip File แล้ว Upload |
|
|
|
|
|
|
|
ปกติการ Zip ไฟล์จะเกิดขึ้นบน Server ครับ ฉะนั้นจะต้อง Upload ก่อนที่จะ Zip ครับ
|
|
|
|
|
Date :
2014-02-20 13:52:23 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำไม่ได้นี่ติดปัญหา หรือ เกิด Error ตรงไหนครับ
|
|
|
|
|
Date :
2014-02-20 14:15:09 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Upload ก่อนที่ จะ zip นี่หมายถึงว่า ไฟลืมันต้องมาอยู่ในเซิฟเวอรืก่อนหรอครับ ถึงจะ zip ได้ แต่ถ้าหมายถึงว่าเรียกโดยใช้ $_FILES['uploadfile']['name'] ได้ผมก็อัพมาแล้วนะครับ
|
|
|
|
|
Date :
2014-02-20 14:21:16 |
By :
copsychus |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเอา Code เต็ม ๆ มาวางไว้ครับ คนที่เค้ารู้เรื่องนี้ ผ่านทางมาอาจตอบท่านได้
|
|
|
|
|
Date :
2014-02-20 14:33:56 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้โค้ดเป็นแบบนี้อะครับ พออัพแล้ว ไฟล์ 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" >
<input type="SUBMIT" name="buttonSubmit2" value="Delete" class="txtnormal"
onClick="return confirm('Do you want to delete this item ?')" >
<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"> </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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สิ่งที่ผมไม่รู้
"พออัพแล้ว ไฟล์ 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ได้หมดแล้วครับ พอมี ไอเดียไหมครับ ว่า texteditor ตัวไหน ใช้งานได้ดีที่สุดกับ ie7 ใส่ลิงค์ได้ อัพรูปภาพได้
|
ประวัติการแก้ไข 2014-02-21 14:17:53 2014-02-21 16:27:51
|
|
|
|
Date :
2014-02-21 13:14:47 |
By :
copsychus |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|