|
แจก PHP Upload class อัพโหลดเรื่องง่าย พร้อมออพชั่นความปลอดภัย |
PHP upload class สามารถรองรับการอัพโหลดแบบไฟล์เดี่ยวและหลายไฟล์พร้อมๆกัน. มันสามารถกำหนดข้อจำกัดได้ เช่น นามสกุลไฟล์, ขนาดไฟล์, ประเภทไฟล์ที่ตรงกับนามสกุลไฟล์นั้น (mime type). นอกจากนี้ยังสามารถสแกนหาโค้ด PHP, Perl ที่ฝังตัวอยู่. สามารถป้องกันการกำหนดชื่อหรืออัพโหลดไฟล์ที่มีชื่อหรือมีอักขระที่หวงห้ามใน OS ต่างๆ เช่น CON, COM, ฯลฯ. สามารถกำหนดให้ชื่อไฟล์อนุญาตเฉพาะอักขระที่ปลอดภัยสำหรับเว็บ (ภาษาอังกฤษ, ตัวเลข, -, _).
Download
Link 1 Link 2 ติดตั้งผ่าน Composer
เอกสารอ้างอิง API
การใช้งาน
หากคุณไม่ได้ติดตั้งผ่าน Composer คุณต้องทำการ include, require ไฟล์ต่อไปนี้ในหน้าที่จะทำการเรียกใช้ class Upload() ทุกครั้ง. (แนะนำให้ติดตั้งผ่าน Composer เพื่อความสะดวกในการอัพเดทรุ่น)
Code (PHP)
require_once __DIR__.DIRECTORY_SEPARATOR.'Rundiz'.DIRECTORY_SEPARATOR.'Upload'.DIRECTORY_SEPARATOR.'Upload.php';
สร้างฟอร์ม upload HTML อาจจะตั้งชื่อไฟล์เช่น upload-form.php
Code (PHP)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Test file upload.</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="file" name="filename[]" multiple>
<button type="submit" class="btn btn-primary">Upload</button>
</form>
<!--
If you want to upload single file, use this input form
<input type="file" name="filename">
-->
</body>
</html>
ไฟล์ upload.php ที่รับค่าจากฟอร์ม
ในโค้ดด้านล่างนี้มียกตัวอย่าง property ที่สามารถกำหนดได้ทั้งหมดแล้ว โปรดอ่านแต่ละรายการอย่างละเอียดหรืออาจเปิดเอกสารอ้างอิง API ประกอบไปด้วยเพื่อการใช้งานเต็มประสิทธิภาพ.
Code (PHP)
if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
$Upload = new \Rundiz\Upload\Upload('filename');
$Upload->move_uploaded_to = '/path/to/your/uploaded-files';
// อนุญาตไฟล์ gif, jpg, png
$Upload->allowed_file_extensions = array('gif', 'jpg', 'jpeg', 'png');
// ขนาดไฟล์สูงสุดคือ 900KB.
$Upload->max_file_size = 900000;
// คุณสามารถตั้งชื่อไฟล์ที่อัพโหลดใหม่ได้หรือปล่อยว่างไว้เพื่อใช้ชื่อเดิม. กำหนดชื่อเท่านั้น ไม่รวมนามสกุลไฟล์.
$Upload->new_file_name = 'new-uploaded-name';
// เขียนไฟล์ทับของเก่าหรือไม่?
$Upload->overwrite = false;
// ชื่อที่ปลอดภัยสำหรับเว็บคือภาษาอังกฤษ, ตัวเลข, ขีดกลาง (-), ขีดล่าง (_).
$Upload->web_safe_file_name = true;
// สแกนหาโค้ด PHP, Perl ที่ฝังอยู่?
$Upload->security_scan = true;
// ถ้าอัพโหลดหลายไฟล์ คุณจะให้หยุดเมื่อพบไฟล์ที่มีข้อผิดพลาดหรือไม่? (กำหนดเป็น false เพื่อข้ามไฟล์ที่มี error).
$Upload->stop_on_failed_upload_multiple = false;
// เริ่มการอัพโหลด
$upload_result = $Upload->upload();
// รับค่าต่างๆของไฟล์ที่อัพโหลดผ่าน.
$uploaded_data = $Upload->getUploadedData();
if ($upload_result === true) {
echo '<p>Upload successfully.</p>';
}
if (is_array($uploaded_data) && !empty($uploaded_data)) {
echo '<pre>'.htmlspecialchars(stripslashes(var_export($uploaded_data, true))).'</pre>;
}
// ตรวจหาและแสดง error ทั้งหมด.
if (is_array($Upload->error_messages) && !empty($Upload->error_messages)) {
echo '<h3>Error!</h3>';
foreach ($Upload->error_messages as $error_message) {
echo '<p>'.$error_message.'</p>'."\n";
}// endforeach;
}
}
ตัวอย่างของรูปแบบ array ที่ได้จาก getUploadedData().
เมื่ออัพโหลดสำเร็จ ให้เรียกรับค่าที่อัพโหลดไฟล์ต่างๆที่สำเร็จจาก getUploadData() จะได้ข้อมูลที่เป็น array ดังรูปแบบต่อไปนี้.
Code (PHP)
array (
0 =>
array (
'name' => '2016-01-23_00001.jpg',
'extension' => 'jpg',
'size' => 599923,
'new_name' => '2016-01-23_00001.jpg',
'full_path_new_name' => '/path/to/your/uploaded-files/2016-01-23_00001.jpg',
'mime' => 'image/jpeg',
'md5_file' => 'c18b22a64cc71e1b1dfc930009e5f970',
),
1 =>
array (
'name' => '2016-01-24_00001.jpg',
'extension' => 'jpg',
'size' => 260488,
'new_name' => '2016-01-24_00001.jpg',
'full_path_new_name' => '/path/to/your/uploaded-files/2016-01-24_00001.jpg',
'mime' => 'image/jpeg',
'md5_file' => 'a1b2ac1f19949d22ad02c37545d5285f',
),
)
Reference : http://rundiz.com/web-resources/downloads/php-upload-v2
|
|
|
By : |
mr.v
|
|
Article : |
บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ |
|
Score Rating : |
|
|
Create Date : |
2016-05-07 |
|
Download : |
No files |
|
Sponsored Links |
|
|
|
|