|
|
|
PHP ช่วย ประยุกต์ code การจำกัดขนาดไฟล์ในการอัพโหลดทีครับ |
|
|
|
|
|
|
|
ผมจะต้อง ไปเช็ค 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<input type="hidden" name="MAX_FILE_SIZE" value="5000" />
เอาไว้ในแท็ก form ขนาดไฟล์ไม่สามารถเกินกว่า 5000 bytes ได้ครับ
|
|
|
|
|
Date :
2012-11-29 12:07:21 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่มเติมครับ
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองตัวนี้ดูครับ
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่รู้โค้ดบรรทัด 108 คืออะไร
proregistinnersenddoc.php on line 108
|
|
|
|
|
Date :
2012-11-29 14:10:53 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทดลองดูใหม่น่ะครับ ผมแก้ไขให้แล้ว
<!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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|