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 > PHP ช่วย ประยุกต์ code การจำกัดขนาดไฟล์ในการอัพโหลดทีครับ



 

PHP ช่วย ประยุกต์ code การจำกัดขนาดไฟล์ในการอัพโหลดทีครับ

 



Topic : 087379



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



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




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



Code (PHP)
<script src="../lib/multifile_compressed.js"></script>
<script language="JavaScript" type="text/JavaScript">
</script>
<form action="<?php echo $CFG->wwwcode;?>/edocument/proregistinnersenddoc.php" name="frm" method="post" enctype="multipart/form-data">

	<input id="my_file_element" type="file" name="fileupload" >
                                 
<br>
<div id="files_list_head" style="border:1px solid; border-color:#9999FF; padding:5px;background:#fff;font-size:8px;">
										<strong>ไฟล์ที่แนบ (สูงสุด <?php echo $ud_nummaxfile; ?> ไฟล์):ขนาดไฟล์แนบสูงสุด 5 MB</strong>									</div>
<div id="files_list" style="border:1px solid; border-color:#9999FF; padding:5px;background:#fff;font-size:8px;">									</div>
<script>
<!-- Create an instance of the multiSelector class, pass it the output target and the max number of files -->
										

var multi_selector = new MultiSelector( document.getElementById( 'files_list' ), <?php echo $ud_nummaxfile; ?> );
					<!-- Pass in the file element -->

multi_selector.addElement( document.getElementById( 'my_file_element' ) );
										

</script>




------------------------------------------------------------------------------------------
Code (PHP)
// Multiple file selector by Stickman -- http://www.the-stickman.com 
// with thanks to: [for Safari fixes] Luis Torrefranca -- http://www.law.pitt.edu and Shawn Parker & John Pennypacker -- http://www.fuzzycoconut.com [for duplicate name bug] 'neal'
function MultiSelector( list_target, max ){
	this.list_target = list_target;
	this.count = 0;
	this.id = 0;
	if( max ){
		this.max = max;
	} else {
		this.max = -1;
	};
	//alert(this.max);
	this.addElement = function( element ){
		if( element.tagName == 'INPUT' && element.type == 'file' ){
			//element.name = 'file_' + this.id++;
			element.name = 'file[]';
			element.multi_selector = this;
			element.onchange = function(){
				var new_element = document.createElement( 'input' );
				new_element.type = 'file';
				this.parentNode.insertBefore( new_element, this );
				this.multi_selector.addElement( new_element );
				this.multi_selector.addListRow( this );
				this.style.position = 'absolute';
				this.style.left = '-1000px';
			};
				
				if( this.max != -1 && this.count >= this.max ){element.disabled = true;};
				this.count++;
				this.current_element = element;
				} else {alert( 'Error: not a file input element' );
				};
				};
				this.addListRow = function( element ){
				var new_row = document.createElement( 'div' );
				var new_row_button = document.createElement( 'input' );
				new_row_button.type = 'button';
				new_row_button.value = 'Delete';
				new_row.element = element;new_row_button.onclick= function(){
				this.parentNode.element.parentNode.removeChild( this.parentNode.element );
				this.parentNode.parentNode.removeChild( this.parentNode );
				this.parentNode.element.multi_selector.count--;
				this.parentNode.element.multi_selector.current_element.disabled = false;return false;};
				new_row.innerHTML = element.value;new_row.appendChild( new_row_button );
				this.list_target.appendChild( new_row );
			};};
			
			
			
			




Tag : MySQL, JavaScript, CakePHP, JAVA









ประวัติการแก้ไข
2012-11-28 15:28:45
2012-11-28 15:29:51
2012-11-28 15:36:00
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-11-28 15:27:32 By : nfsfantasy View : 1331 Reply : 10
 

 

No. 1



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

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

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

ใช้ php ตรวจสอบง่ายที่สุดแล้วครับ

Code
$_FILES["name"]["size"]







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-29 06:22:18 By : mr.win
 


 

No. 2



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



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


ผมจะต้อง ไปเช็ค php ขนาดไฟล์ หน้าที่ฟอร์มส่งค่าไปใช่หรือไม่ครับ

Code (PHP)
<?php
include_once ("../../config.php");
include_once ("$CFG->classdir/clsConnection.php");
include_once ("$CFG->classdir/edocument/clsedsRunningNo.php");
include_once ("$CFG->classdir/edocument/clsedsRegistDoc.php");
include_once ("$CFG->classdir/edocument/clsedsDocument.php");
include_once ("$CFG->classdir/edocument/clsedsFileDoc.php");
include_once ("$CFG->classdir/edocument/clsedsRevolve.php");
$conn = new Connection();

$objRn = new edsRunningNo($conn->c);
$objRd = new edsRegistDoc($conn->c);
$objD = new edsDocument($conn->c);
$objFd = new edsFileDoc($conn->c);
$objRv = new edsRevolve($conn->c);

$RegistDocTypeIdThisPage=GETVAR('RegistDocTypeIdThisPage');
$objRn->RSedsRunningNo("RegistDocTypeId='".$RegistDocTypeIdThisPage."' and DeptId='".$_SESSION['oU']->DepId."'");
$objRn->GetRecord();
$NewRegistNo=$objRn->GetNewRunningNo("edit");

//+++++++++++pop function GETVAR('xxx') สำหรับหาค่าตัวแปรที่ method เป็น get กับ post 
$method=GETVAR('method');
$mode=GETVAR('mode');
$num=GETVAR('num');

//Document data.
$DocSubject=GETVAR('DocSubject');
$DocNo=GETVAR('DocNo');
$DocProperty1=GETVAR('DocProperty1');
$DocProperty2=GETVAR('DocProperty2');
$DocDate=GETVAR('DocDate');
$DocOwner="";
$DocDeptOwner="";
$DocSaveTime=nowdatetime();


//RegistDoc data

$DocId=GETVAR('DocId');
$RegistDocNo=$NewRegistNo;
$RegistDocOldNo=GETVAR('RegistDocOldNo');
$RegistDocVol=GETVAR('RegistDocVol');
$RegistDocYear=GETVAR('RegistDocYear');
$RegistDocFrom=GETVAR('RegistDocFrom');
$RegistDocTo=GETVAR('RegistDocTo');
$RegistDocResponsibler=GETVAR('RegistDocResponsibler');
$RegistDocTypeId=$RegistDocTypeIdThisPage;
$MethodId=GETVAR('MethodId');
$RegistDocNotice=GETVAR('RegistDocNotice');

if($RegistDocResponsibler=="")
	$StatusDocId="2";
else
	$StatusDocId="3";

$RegistDocRegistrar=$_SESSION['oU']->EmpNo;
$RegistDocDept=$_SESSION['oU']->DepId;
$RegistDocSaveTime=nowdatetime();

if($method=="add"){
	//Document data.
	$objD->AddNew();
	$objD->DocId=$objD->GetNextCode();
	$objD->DocSubject=$DocSubject;
	$objD->DocNo=$DocNo;
	$objD->DocProperty1=$DocProperty1;
	$objD->DocProperty2=$DocProperty2;
	$objD->DocDate=changbacktofrontadd0($DocDate);
	$objD->DocOwner=$DocOwner;
	$objD->DocDeptOwner=$DocDeptOwner;
	$objD->DocSaveTime=$DocSaveTime;
	$objD->Save();








	//FileDoc data.
	$resultFileName=uploadfile($_FILES['file'],$CFG->datadir."/edocument");
	

	$countFile=count($resultFileName);
	$i=0;
	while($i<$countFile){
		$objFd->AddNew();
		$objFd->FileDocId=$objFd->GetNextCode();
		$objFd->DocId=$objD->DocId;
		$objFd->FileDocName=$resultFileName[$i];
		//$objFd->FileDocPath=$Txt;
		$objFd->Save();
	
		$i++;
	}
	
	$objRd->AddNew();
	$objRd->RegistDocId=$objRd->GetNextCode();
	$objRd->DocId=$objD->DocId;
	$objRd->RegistDocNo=$RegistDocNo;
	$objRd->RegistDocOldNo=$RegistDocOldNo;
	$objRd->RegistDocVol=$RegistDocVol;
	$objRd->RegistDocYaer=$RegistDocYear;
	$objRd->RegistDocFrom=$RegistDocFrom;
	$objRd->RegistDocTo=$RegistDocTo;
	$objRd->RegistDocResponsibler=$RegistDocResponsibler;
	$objRd->RegistDocTypeId=$RegistDocTypeId;
	$objRd->MethodId=$MethodId;
	$objRd->RegistDocNotice=$RegistDocNotice;
	$objRd->StatusDocId=$StatusDocId;
	$objRd->RegistDocRegistrar=$RegistDocRegistrar;
	$objRd->RegistDocDept=$RegistDocDept;
	$objRd->RegistDocSaveTime=$RegistDocSaveTime;
	$objRd->Save();

	//Revolve
	$objRv->AddNew();
	$objRv->RevolveId=$objRv->GetNextCode();
	$objRv->RegistDocId=$objRd->RegistDocId;
	$objRv->SendTypeId="";
	$objRv->RevolveSender=$RegistDocRegistrar;
	$objRv->RevolveSenderMsg="";
	$objRv->RevolveReceiver="";
	$objRv->RevolveReceiverMsg="";
	$objRv->RevolvePublicDoc="";
	$objRv->RevolveAlertEmail="";
	$objRv->RevolveStatus=$StatusDocId;
	$objRv->RevolveDeptOwner="";
	$objRv->RevolveSendedTime=nowdatetime();
	$objRv->RevolveStartDueDateTime="";
	$objRv->RevolveEndDueDateTime="";
	$objRv->RevolveProcessTime="";
	$objRv->Save();
	
}else if($method=="edit"){
	$obj->SearchByKey($RegistDocTypeId);
	$obj->GetRecord();
	$obj->Edit();
	$obj->RegistDocTypeId=$RegistDocTypeId;
	$obj->RegistDocTypeName=$RegistDocTypeName;
	$obj->RegistDocTypeClass=$RegistDocTypeClass;
	$obj->RegistDocTypeUrl=$RegistDocTypeUrl;

	// ด้านล่างเป็นโค้ดสำหรับฟิลด์ที่ต้องการอัพโหลดรูปภาพ เอกสาร หรือไฟล์อื่นตามต้องการ
	// โปรดแก้ 3 ตัวแปรให้สอดคล้องตามต้องการ 
	// $FileDocument : ชื่อ Input ของหน้า Show โดยมีประเภท File 
	// $GLOBALS["FileLocation"] : สถานที่สำหรับเก็บไฟล์ 
	// $obj->Xxxxx : attribute ของ object ที่ต้องการเก็บpath ของไฟล์ 
	//	if($_FILES['TxtFileDocument']['name'] != "") { 
	//		$tmpFFilename = $_FILES['TxtFileDocument']['name'];
	//		$Txt =  "$GLOBALS['FileLocation']/".$tmpFFilename; 
	//		if(!move_uploaded_file($_FILES['TxtFileDocument']['tmp_name'],$Txt)) { 
	//			echo "Can't Attach ->",$php_errormsg;
	//		} 
	//	} 
	//	$obj->Xxxxx = $tmpFFilename;
	//สิ้นสุดโค้ดอัพโหลด
	$obj->Save();
}else if($method=="delete"){
	
	
	$objD->SearchByKey($num);
	$objD->GetRecord();

	// ด้านล่างเป็นโค้ดสำหรับลดไฟล์อัพโหลดรูปภาพ เอกสาร หรือไฟล์อื่นตามต้องการ
	// โปรดแก้ 2 ตัวแปรให้สอดคล้องตามต้องการ 
	// $GLOBALS["FileLocation"] : สถานที่สำหรับเก็บไฟล์ 
	// $obj->Xxxxx : attribute ของ object ที่เก็บpath ของไฟล์ 
	//unlink("$GLOBALS['FileLocation']/".$obj->Xxxxx); 
	//สิ้นสุดการลบไฟล์อัพโหลด
	$obj->Delete();
}




$RegistDocId=$objRd->RegistDocId;
/*$objRn->Close();
$objRd->Close();
$objD->Close();
$objFd->Close();
$objRv->Close();
*/
$conn->Disconnect();
if($mode=="addsend"){
	echo"<meta http-equiv=\"refresh\" content=\"0; url=../index.php?filename=edocument/addrevolvedoc.php&RegistDocId=".$objRd->RegistDocId."&receivertype=person\">";
} else {
	echo"<meta http-equiv=\"refresh\" content=\"0; url=../index.php?filename=edocument/showregistresult.php&RegistDocId=".$RegistDocId."\">";
}



?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-29 11:52:03 By : nfsfantasy
 

 

No. 3



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

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

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


<input type="hidden" name="MAX_FILE_SIZE" value="5000" />

เอาไว้ในแท็ก form ขนาดไฟล์ไม่สามารถเกินกว่า 5000 bytes ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-29 12:07:21 By : sakuraei
 


 

No. 4



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

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

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


เพิ่มเติมครับ

ini_set('meemory_limit', '96M');
ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-29 12:10:11 By : sakuraei
 


 

No. 5



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

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

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

ตอบความคิดเห็นที่ : 3 เขียนโดย : sakuraei เมื่อวันที่ 2012-11-29 12:07:21
รายละเอียดของการตอบ ::
อืม ผมลืมวิธีนี้ไปเลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-29 12:53:57 By : mr.win
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : sakuraei เมื่อวันที่ 2012-11-29 12:10:11
รายละเอียดของการตอบ ::
ผม ลองแล้ว แต่ มัน ยังอัพโหลดดเกินขนาดที่กำหนดไว้ได้อยู่เลยครับ สงสัยต้องเขียนเช็ค ละครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-29 12:57:00 By : nfsfantasy
 


 

No. 7



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

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

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


ลองตัวนี้ดูครับ
if(isset($_FILES['uploaded_file'])) {
    $errors     = array();
    $maxsize    = 2097152;
    $acceptable = array(
        'application/pdf',
        'image/jpeg',
        'image/jpg',
        'image/gif',
        'image/png'
    );

    if(($_FILES['uploaded_file']['size'] >= $maxsize) || ($_FILES["uploaded_file"]["size"] == 0)) {
        $errors[] = 'ขนาดไฟล์ใหญ่เกินไป (ไม่ควรเกิน 2 เมกะไบท์)';
    }

    if(!in_array($_FILES['uploaded_file']['type'], $acceptable)) && (!empty($_FILES["uploaded_file"]["type"]))) {
        $errors[] = 'ชนิดของไฟล์ไม่ถูกต้อง รองรับเพียง PDF, JPG, GIF และ PNG ';
    }

    if(count($errors) !== 0) {
        move_uploaded_file($_FILES['uploaded_file']['tmpname'], '/upload/location.file');
    } else {
        foreach($errors as $error) {
            echo '<script>alert("'.$error.'");</script>';
        }

        die();
    }
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-29 13:46:11 By : sakuraei
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : sakuraei เมื่อวันที่ 2012-11-29 13:46:11
รายละเอียดของการตอบ ::
Parse error: syntax error, unexpected T_BOOLEAN_AND in C:\AppServ\www\eofficefinal1\code\edocument\proregistinnersenddoc.php on line 108

มัน error ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-29 14:04:02 By : nfsfantasy
 


 

No. 9



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

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

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


ไม่รู้โค้ดบรรทัด 108 คืออะไร
proregistinnersenddoc.php on line 108
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-29 14:10:53 By : sakuraei
 


 

No. 10



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

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

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


ทดลองดูใหม่น่ะครับ ผมแก้ไขให้แล้ว
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title>https://www.thaicreate.com/php/forum/087379.html</title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="Unidentifier">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <meta http-equiv="Content-Type" content="text/html; charset=utf8" />
 </head>

 <body>
 <?php

if(isset($_FILES["uploaded_file"])) {
    $errors     = array();
    $maxsize    = 2097152;
    $acceptable = array(
        "application/pdf",
        "image/jpeg",
        "image/jpg",
        "image/gif",
        "image/png"
    );
print_r($_FILES["uploaded_file"]);
    if($_FILES["uploaded_file"]["size"] >= $maxsize || $_FILES["uploaded_file"]["size"] == 0 ) {
        $errors[] = "ขนาดไฟล์ใหญ่เกินไป (ไม่ควรเกิน 2 เมกะไบท์)";
    }

    if(!in_array($_FILES["uploaded_file"]["type"], $acceptable) && !empty($_FILES["uploaded_file"]["type"]) ) {
        $errors[] = "ชนิดของไฟล์ไม่ถูกต้อง รองรับเพียง PDF, JPG, GIF และ PNG ";
    }

    if(count($errors) == 0) {
		echo "success";
        move_uploaded_file($_FILES["uploaded_file"]["tmpname"], "/upload/location.file");
    } else {
        foreach($errors as $error) {
            echo "<script>alert('$error');</script>";
        }

    }
}

?>
 <form method="post" action="" enctype="multipart/form-data">
  <input type="file" name="uploaded_file" />
  <input type="submit" />
 </form>
 </body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-30 07:15:54 By : sakuraei
 

   

ค้นหาข้อมูล


   
 

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