ข้ามไปยังเนื้อหาหลัก
itOffside
Onmobile อ่าน 2 นาที 189 ความเห็น

แจกระบบจัดการเอกสารออนไลน์ โดยใช้ Codeigniter Framework [PHP+MySQL]

Codeigniter
แจกระบบจัดการเอกสารออนไลน์ โดยใช้ Codeigniter Framework [PHP+MySQL]

ระบบเอกสาร ที่ผมได้เขียนขึ้นมานั้น ผมได้ใช้ php framework ของ Codeigniter 3 ในการเขียนขึ้นมา ซึ่งผมเพิ่งเริ่มเขียน Codeigniter framework มาได้ไม่นาน ซึ่งเดิมทีผมตั้งใจจะเริ่มต้นกับ Laravel framework แต่ก็ตัดสินใจเลือก Codeigniter ก่อน เนื่องจากมีหลายๆความคิดเห็นบนอินเตอร์เน็ตว่า Codeigniter เขียนง่าย สำหรับระบบเอกสารที่ผมเอามาแจกนั้นเป็นระบบง่ายๆ ไม่ซับซ้อนมากนักเหมาะสำหรับคนที่เพิ่มเริ่มหัดเขียน Codeigniter นำไปศึกษา โดยผมตั้งใจไว้ว่า พยายามเผยแพร่ Source code ที่คนอ่านแล้วเข้าใจไม่ยาก และระบบเอกสารผมได้นำ AdminLTE2 มาเป็นหน้าตาเว็บไซต์ซึ่งเพิ่งเริ่มใช้เวอร์ชั่นนี้เหมือนกันครับ และสุดท้ายสุดถ้าใครเกิดปัญหาตรงไหน สอบถามได้ทาง Comment ด้านล่างนี้นะครับ

สำหรับ ระบบเอกสาร ผมได้ออกแบบฐานข้อมูลโดยมี ทั้งหมด 3 ตาราง คือ users, categories, document โดย users เก็บข้อมูลผู้ใช้, categories เก็บข้อมูลหมวดหมู่เอกสาร, document เก็บเอกสาร
ความสามารถของระบบเอกสาร ecdocument มีดังนี้
1. สามารเพิ่ม แก้ไข และลบ ข้อมูลหมวดหมู่เอกสาร, เอกสาร ได้
2. ไฟล์เอกสารที่อัพโหลดในระบบเอกสารรองรับเฉพาะ ไฟล์นามสกุล PDF เท่านั้น
3. สามารถตรวจสอบการเข้าถึงการ จัดการระบบเอกสารได้

ซึ่งความสามารถข้างต้นที่กล่าวมานี้ ผู้ใช้งานสามารถนำไปต่อยอดได้ครับ

สำหรับ source code สามารถดาวน์โหลดได้ที่ลิงค์ด้านล่างครับ โดยจะมีไฟล์ *.sql อยู่ข้างในโฟล์เดอร์ด้วยครับ

Download Sourcecode

************
การติดตั้ง
************

1. แก้ไขไฟล์ application/config/database.php (เปลี่ยนข้อมูลฐานข้อมูล)
2. แก้ไขไฟล์ application/config/config.php
บรรทัดที่ 20 เปลี่ยน URL เว็บไซต์ให้ตรงกับข้อมูลของคุณเช่นเว็บ https://www.itoffside.com/ เป็นต้น
3. ตั้งค่ากำหนดสิทธิ์อัพโหลดไฟล์ที่โฟล์เดอร์ session และ uploads ให้ทุกคนสามารถอัพโหลดได้ (CHMOD 777)

*******
เงื่อนไขการใช้งาน
*******

ทุกคนมีสิทธิ์ในการแก้ไขไฟล์และใช้งานได้ พร้อมทั้งทำซ้ำแลแจกจ่ายไปยังแหล่งต่างๆได้
แต่**ห้ามนำไปจำหน่ายโดยเด็ดขาด

*********
Special Thanks
*********
ขอขอบคุณทุกๆท่านที่ทำให้นักพัฒนามีแรงบรรดาลใจในการพัฒนาต่อไปโดยการ บอกต่อ(Share) หรือท่านใดใจดีก็บริจาคให้กับทางผู้พัฒนาได้ทุกทาง เช่น ธนาคาร, เพลย์พาล เป็นต้น
ขอบคุณครับ

รูปภาพบางส่วนจากหน้าจอระบบ ครับ

itoffside.com

ecdocument-02

ecdocument-03

ecdocument-04

ecdocument-05

Onmobile

โปรแกรมเมอร์

ความเห็น (189)

  • ole
    มีวิที่ติดตั้งไม ครับ
    • Onmobile ผู้เขียน
      ติดตั้ง คือเปลี่ยนฐานข้อมูลกับเซ็ตโฟล์เดอร์ upload เป็น 777
      • ole
        คือผมติดตั้งลงใน xampp ครับ
        • Onmobile ผู้เขียน
          ครับแล้วติดอะไรตรงไหนเปล่าครับ
          • ole
            ได้แล้วครับ ขอบใจ นะครับ
        • ชนกสุดา
          ล็อนอินไม่ได้เลยทำไงค่ะ
      • YO
        แล้วถ้าผมลง AppServ 2.5.10 ใช้ได้มั้ยครับ
        • Onmobile ผู้เขียน
          ไม่ได้ครับ
    • joe
      โหลดไม่ได้เลยครับ ต้องทำยังไง กดไลทไปแล้วก็ไม่เห็นที่โหลด ช่วยส่งลิ้งให้ได้มั้ยครับ
    • BUNCHA
      Thank You
  • popsook
    ติดตั้งบน hosting แล้ว ใช้ได้ปกติ ผมไปหน้า Admin ไม่ได้ครับ
    • Onmobile ผู้เขียน
      http://sysapp.itoffside.com/ecdocument/user/login ลอง เข้า ต่อท้าย /user/login ตามตัวอย่างด้านบนครับ
  • popsook
    เกิดปัญหาครับ ผม up ขึ้น hosting มาปกติ ไม่ให้จัดการอะไร www.XXXX.com//ecdocument/user/login แล้วพอจะเข้า หน้า admin มันบอกว่า No input file specified. เป็นที่อะไรครับ
    • popsook
      ผมสร้าง โฟลเดอร์ ci_sessions และเพิ่มตารางในฐานข้อมูล CREATE TABLE IF NOT EXISTS `ci_sessions` ( `id` varchar(40) NOT NULL, `ip_address` varchar(45) NOT NULL, `timestamp` int(10) unsigned NOT NULL DEFAULT '0', `data` blob NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; เข้าไปเอง มันผลต่อเหตุการณ์นี้ไหมครับ
      • Onmobile ผู้เขียน
        ไม่เกี่ยวครับ
        • sakhorn
          สอบถามอาจานย์คับ ผมยากให้ upload file ทุกชนิด แก่ไขตรงไหนได้ครับ อาจารย์
    • Onmobile ผู้เขียน
      // มีสองอัน
  • nithiwar
    มีวิธีติดตั้งแบบ step by step มั้ยครับ พอดี งงกับการติดตั้งอ่ะครับ รบกวนด้วยครับ อยากเอามาใช้กับที่ รร
    • ืnarkorn
      ผมก็ติดด้วยนะครับ ว่างแล้วการ Add database ยังไงนะครับ
  • nithiwar
    คำค้น SQL: /*!40101 SET NAMES utf8mb4 */; MySQL แสดง: เอกสารอ้างอิง #1115 - Unknown character set: 'utf8mb4' import database ไม่ได้อ่ะครับ
  • master
    A PHP Error was encountered Severity: Runtime Notice Message: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Krasnoyarsk' for '7.0/no DST' instead Filename: document/mainpage.php Line Number: 58 Backtrace: File: C:\AppServ\www\ecdoc_zone6\application\views\document\mainpage.php Line: 58 Function: strtotime upload เอกสารแล้วขึ้นข้อความแบบนี้ File: C:\AppServ\www\ecdoc_zone6\application\controllers\Document.php Line: 34 Function: view File: C:\AppServ\www\ecdoc_zone6\index.php Line: 292 Function: require_once
    • Onmobile ผู้เขียน
      ใช้ php version ใหม่ ครับ คือเปลี่ยน Appserv เป็น xampp
    • arthitkh
      เปิดไฟล์ php.ini ให้เป็นเพิ่ม ;date.timezone = date.timezone = "Asia/Bangkok" แล้ว save ค่อย รีสตาร์ท apache ดู ค่อยเช็ค phpinfo ดูน่ะครับ
      • Fook
        ทำไมถึงต้องเปลี่ยนป็นโซนไทยครับ ขอเป็นคามรู้หน่อยครับ
        • Onmobile ผู้เขียน
          ถ้าไม่เปลี่ยน แล้ว SERVER ไม่ได้ set zone thai มาให้จะทำให้ เวลาไม่ตรงกับประเทศไทยครับ
      • palm
        ไฟล์ดังกล่าวอยู่ folder ไหนครับผมหาไม่เจอ
        • palm
          ของผมมันโชว์แบบนี้ครับ A PHP Error was encountered Severity: Warning Message: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. Filename: document/listview.php Line Number: 96 Backtrace: File: C:\AppServ\www\E-Doc\application\views\document\listview.php Line: 96 Function: strtotime File: C:\AppServ\www\E-Doc\application\controllers\Document.php Line: 165 Function: view File: C:\AppServ\www\E-Doc\index.php Line: 292 Function: require_once
          • Onmobile ผู้เขียน
            set timezone ที่ php.ini ก่อนครับ
  • มือใหม่
    upload ขึ้น Server จริง มันขึ้นแบบนี้แก้ไขยังงัยครับ A PHP Error was encountered Severity: Warning Message: mkdir(): Invalid path Filename: drivers/Session_files_driver.php Line Number: 117 Backtrace: File: /home/krukrit/domains/krukrit.com/public_html/ecdoc_online/application/controllers/Document.php Line: 10 Function: __construct File: /home/krukrit/domains/krukrit.com/public_html/ecdoc_online/index.php Line: 292 Function: require_once An uncaught Exception was encountered Type: Exception Message: Session: Configured save path '' is not a directory, doesn't exist or cannot be created. Filename: /home/krukrit/domains/krukrit.com/public_html/ecdoc_online/system/libraries/Session/drivers/Session_files_driver.php Line Number: 119 Backtrace: File: /home/krukrit/domains/krukrit.com/public_html/ecdoc_online/application/controllers/Document.php Line: 10 Function: __construct File: /home/krukrit/domains/krukrit.com/public_html/ecdoc_online/index.php Line: 292 Function: require_once A PHP Error was encountered Severity: Warning Message: file_exists(): open_basedir restriction in effect. File(c00209251b99040564eaef2462c4a1d13cde54e3) is not within the allowed path(s): (/home/krukrit/:/tmp:/var/tmp:/usr/local/lib/php/:/usr/local/php55/lib/php/) Filename: drivers/Session_files_driver.php Line Number: 154 Backtrace: A PHP Error was encountered Severity: Warning Message: fopen(): open_basedir restriction in effect. File(c00209251b99040564eaef2462c4a1d13cde54e3) is not within the allowed path(s): (/home/krukrit/:/tmp:/var/tmp:/usr/local/lib/php/:/usr/local/php55/lib/php/) Filename: drivers/Session_files_driver.php Line Number: 156 Backtrace: A PHP Error was encountered Severity: Warning Message: fopen(c00209251b99040564eaef2462c4a1d13cde54e3): failed to open stream: Operation not permitted Filename: drivers/Session_files_driver.php Line Number: 156 Backtrace:
    • Onmobile ผู้เขียน
      กำหนดสิทธ์โฟล์เดอร์ upload
  • joke
    กดข้า demo กะ admin ไม่ได้
    • Onmobile ผู้เขียน
      เดี่ยวอัพไปใหม่ครับ
  • ืnew
    สวัสดีครับผมสอบถามครับ 1.สอบถามเกี่ยวกับการเรียงลำดับ Sort ตารางข้อมูลครับผม ต้องแก้ไข Script ในส่วนไหนจึงจะสมารถกดให้ตารางเรียงข้อมูล จากมากไปหาน้อย จากน้อยไปหามาก ในแต่ละแถวได้ 2.เวลา Search หากต้องการให้ Search ทุกตาราง ต้องแก้ไขอย่างไรครับ ขอบคุณมากครับผม
  • ชายคนหนึ่ง
    สวัสดีครับ ผมลองเอาขึ้น host จริง โอเคครับ อัพโหลดเอกสารได้ แต่นิดนึง อยากให้ทำระบบเพิ่มผู้ใช้น่าจะดีไม่น้อย เพราะหากมีแค่ User เดียว ถ้าใช้หลายๆ คนอาจจะมีปัญหาตามมาได้
    • Onmobile ผู้เขียน
      รับทราบครับ
  • au
    สวัสดดีค่ะ ลองเอาไปใช้แล้ว ok ค่ะ แต่ติดปัญหาคือ 1.เวลาแก้ไขเอกสาร แล้ว upload เอกสารไปใหม่ ไม่พบว่ามีการ upload ไฟล์ใหม่ให้ ยังเป็นไฟล์เดิม 2.ไม่สามารถกด Sort ในตารางได้ 3.ไม่มีหน้า add user และหน้า log out
    • Onmobile ผู้เขียน
      ครับ เดียว ผมอัพโหลดโปรเจคใหม่
      • ปูเป้
        ผมลองโหลดมาทำไมไม่มีหน้าต่าง เพิ่มข้อมูลอะครับ
        • Onmobile ผู้เขียน
          เอารูปภาพมาให้ดูทีครับ
    • ชนกสุดา
      ล็อกอินไม่ผ่านทำไงค่ะหนูต้องเอาไปทำโปรเจจบช่วยหนูหน่อยค่ะ
  • wanchai
    ถ้า update Project แล้ว รบกวนแจ้งหน่อยนะครับ
  • ปูเป้
    ผมขอนำไปใช้ในเว๊บของผมัพขึ้นโฮสจริงได้ใช่ปะครับ ไม่มีลิขสิทธิ์ ใช่ปะครับ
    • Onmobile ผู้เขียน
      ไม่มีลิขสิทธิ์ครับ
  • lerkiat
    อัพโหลดขึ้นโฮสต์จริง แล้ว error แบบนี้ครับ แก้ไขยังไงครับ A PHP Error was encountered Severity: Warning Message: mkdir(): open_basedir restriction in effect. File() is not within the allowed path(s): (/home/chiangrung/:/tmp:/var/tmp:/usr/local/lib/php/) Filename: drivers/Session_files_driver.php Line Number: 117 Backtrace: File: /home/chiangrung/domains/chiangrung.ac.th/public_html/edocument/application/controllers/Document.php Line: 10 Function: __construct File: /home/chiangrung/domains/chiangrung.ac.th/public_html/edocument/index.php Line: 292 Function: require_once An uncaught Exception was encountered Type: Exception Message: Session: Configured save path '' is not a directory, doesn't exist or cannot be created. Filename: /home/chiangrung/domains/chiangrung.ac.th/public_html/edocument/system/libraries/Session/drivers/Session_files_driver.php Line Number: 119 Backtrace: File: /home/chiangrung/domains/chiangrung.ac.th/public_html/edocument/application/controllers/Document.php Line: 10 Function: __construct File: /home/chiangrung/domains/chiangrung.ac.th/public_html/edocument/index.php Line: 292 Function: require_once A PHP Error was encountered Severity: Warning Message: file_exists(): open_basedir restriction in effect. File(9dd952f319e6211440dacf1e740e46ca1db6f4f6) is not within the allowed path(s): (/home/chiangrung/:/tmp:/var/tmp:/usr/local/lib/php/) Filename: drivers/Session_files_driver.php Line Number: 154 Backtrace: A PHP Error was encountered Severity: Warning Message: fopen(): open_basedir restriction in effect. File(9dd952f319e6211440dacf1e740e46ca1db6f4f6) is not within the allowed path(s): (/home/chiangrung/:/tmp:/var/tmp:/usr/local/lib/php/) Filename: drivers/Session_files_driver.php Line Number: 156 Backtrace: A PHP Error was encountered Severity: Warning Message: fopen(9dd952f319e6211440dacf1e740e46ca1db6f4f6): failed to open stream: Operation not permitted Filename: drivers/Session_files_driver.php Line Number: 156 Backtrace:
  • lerkiat
    แต่ทดสอบบน XAMP ใช้งานได้ปกติเลยครับ
    • Onmobile ผู้เขียน
      Hosting ผมก็เป็นครับ วิธีแก้ไขให้ config session driver เป็น database แทนไฟล์ ครับ รายละเอียดแก้ไขตามลิงค์นี้ครับ http://www.codeigniter.com/user_guide/libraries/sessions.html#database-driver
      • lerkiat
        ทำงานได้แล้วครับ เข้าไปแก้ไขไฟล์ application/config/config.php ให้ค้นหาบรรทัด ประมาณ 358-366 เดิม $config['sess_driver'] = 'file'; ให้เปลี่ยนเป็น $config['sess_driver'] = 'database'; อีกบรรทัดหนึ่ง เปลี่ยนจาก $config['sess_save_path'] = NULL; เปลี่ยนเป็น $config['sess_save_path'] = 'ci_sessions'; เมื่อแก้ไขไฟล์ config เสร็จ ก็อย่างลืม อัพโหลดขึ้นไปทับของเดิมได้เลย และให้เข้าไปสร้างตาราง ใน phpmyadmin ด้วยคำสั่ง CREATE TABLE IF NOT EXISTS `ci_sessions` ( `id` varchar(40) NOT NULL, `ip_address` varchar(45) NOT NULL, `timestamp` int(10) unsigned DEFAULT 0 NOT NULL, `data` blob NOT NULL, KEY `ci_sessions_timestamp` (`timestamp`) ); คัดลอกไปวางใน SQL เลย สำหรับ MySQL นะครับ แค่ 2 ขั้นตอนนี้ ก็สามารถแก้ไขปัญหา เหมือนที่ผมเจอได้แล้ว ขอบคุณ คุณ benext ที่แบ่งให้ใช้งานระบบ พร้อมทั้งให้คำแนะนำอีกด้วย ขออนุโมทนาบุญด้วยครับ
        • king
          แก้วแล้ว แต่ยังขึ้นว่า Error Number: 1146 Table 'jormthep_edoc.ci_session' doesn't exist SELECT `data` FROM `ci_session` WHERE `id` = 'da7fbeefb2516e6c2942e4a93a9b6e06d413b994' Filename: libraries/Session/drivers/Session_database_driver.php Line Number: 160 ต้องแก้ไงครับ
  • lerkiat
    เดิมที ผู้พัฒนาระบบนี้ เขาให้อัพโหลดไฟล์ได้เฉพาะ ไฟล์ที่มีนามสกุล pdf เท่านั้น แต่ผมอยากจะให้มันอัพโหลดไฟล์ ประเภทอื่นได้ด้วย เช่น word , powr point ,excel ผมเลยเข้าไปแก้ไขไฟล์ application/controllers/Document.php ประมาณบรรทัดที่ 49-57 ให้เป็นประมาณนี้ $config['upload_path'] = './uploads/'; $config['allowed_types'] = 'pdf'; $config['allowed_types'] = 'docx'; $config['allowed_types'] = 'doc'; $config['allowed_types'] = 'xlsx'; $config['allowed_types'] = 'xls'; $config['allowed_types'] = 'pptx'; $config['allowed_types'] = 'ppt'; แก้ไขเสร็จ อัพขึ้นไปทับไฟล์เดิม ลองดูนะครับ ว่าอัพไฟล์ตามที่กำหนดได้หรือไม่ ขอบคุณ คุณ benext ที่ไม่มีลิขสิทธิ์ ลองปรับใช้ไป ลองผิดลองถูกครับ
    • lerkiat
      ผมลองอัพโหลดไฟล์ ประเภท docx , doc , xlsx , xls ดูปรากฏว่า สามารถอัพโหลดได้ครับ ส่วนไฟล์ powr point ยังไม่ได้ลองครับ ท่านใดสนใจ ลองทำดูนะครับ
      • Natapon S.
        ผมลองเพิ่มตามคุณบอกละ The filetype you are attempting to upload is not allowed. ไม่เข้าใจเหมือนกันคับ
        • Wora
          โค้ดนี้ครับ $config['upload_path'] = './uploads/'; $config['allowed_types'] = 'zip|pdf|docx|doc|ppt|pptx';
          • เอก
            ผมลงทั้ง2แบบแล้ว ไม่ได้เลยครับท่าน ใครทำได้รบกวนแนะนำหน่อยครับ
  • Tum
    ผมมือใหม่มากๆ อยากทราบว่าต้องแก้ตรงไหนคับ ถึงจะ search ในแถวของ รหัสเอกสาร ได้ด้วย ตอนนี้ search ได้แค่ในแถว ชื่อเอกสาร ขอบคุณมากครับ
  • al-ameen
    ทำไหม โหลด ม่ได้ ครับ
    • al-ameen
      ขอลิงค์ หน่อยจะเอาไปศึกษา ทำ มินิโปรเจก
  • sarawut
    ผมต้องการสร้าง Drop Down ในการเลือกเงื่อนไขการค้นหา จากนั้นค่อยพิมพ์ Keyword ผมต้องแก้ในส่วนไหนครับ
  • aiSAMdek
    ขอวิธีติดตั้งหน่อยครับ
  • ดูความเห็นเพิ่มเติม

แสดงความเห็น

ไม่แสดงบนหน้าเว็บ

บทความที่เกี่ยวข้อง