CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

10 October, 2018

Codeigniter Multiple Upload Images/ files / video / audio files

 Programing Coderfunda     October 10, 2018     audio, codeigniter, files, images, php mail function, upload, video     No comments   

Hi all, this is nothing new but i thought that maybe someone will use this in the future.

NOTICE. The code it’s not mine but i’ll share it anyway
so what do you need jquery and a new jquery plugin you can get them from  HERE
once you get them create 1 controller


<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Upload extends CI_Controller { public function __construct() { parent::__construct(); $this->load->helper(array('form', 'url')); } public function index() { $this->load->view('admin/upload', array('error' => '')); } public function do_upload() { $upload_path_url = base_url().'uploads/'; $config['upload_path'] = FCPATH.'uploads/'; $config['allowed_types'] = 'jpg'; $config['max_size'] = '30000'; $config['encrypt_name'] = true; $this->load->library('upload', $config); if ( ! $this->upload->do_upload()) { $error = array('error' => $this->upload->display_errors()); $this->load->view('admin/upload', $error); } else { $data = $this->upload->data(); $this->load->library('image_lib'); $config['image_library'] = 'gd2'; $config['source_image'] = 'uploads/'.$data['file_name']; $config['new_image'] = 'uploads/thumbs/'.$data['file_name']; $config['maintain_ratio'] = TRUE; $config['width'] = 200; $config['height'] = 200; $this->image_lib->initialize($config); $this->image_lib->resize(); $this->image_lib->clear(); echo $this->image_lib->display_errors(); //set the data for the json array $info->name = $data['file_name']; $info->size = $data['file_size']; $info->type = $data['file_type']; $info->url = $upload_path_url .$data['file_name']; $info->thumbnail_url = $upload_path_url .'/thumbs/' .$data['file_name'];//I set this to original file since I did not create thumbs. change to thumbnail directory if you do = $upload_path_url .'/thumbs' .$data['file_name'] $info->delete_url = base_url().'index.php/upload/deleteImage/'.$data['file_name']; $info->delete_type = 'DELETE'; if (IS_AJAX) { //this is why we put this in the constants to pass only json data echo json_encode(array($info)); //this has to be the only the only data returned or you will get an error. //if you don't give this a json array it will give you a Empty file upload result error //it you set this without the if(IS_AJAX)...else… you get ERROR:TRUE (my experience anyway) } else { // so that this will still work if javascript is not enabled $file_data['upload_data'] = $this->upload->data(); $this->load->view('admin/upload_success', $file_data); } } } public function deleteImage($file)//gets the job done but you might want to add error checking and security { $success =unlink(FCPATH.'uploads/' .$file); //info to see if it is doing what it is supposed to $info->sucess =$success; $info->path =base_url().'uploads/' .$file; $info->file =is_file(FCPATH.'uploads/' .$file); if (IS_AJAX) {//I don't think it matters if this is set but good for error checking in the console/firebug echo json_encode(array($info));} else { //here you will need to decide what you want to show for a successful delete $file_data['delete_data'] = $file; $this->load->view('admin/delete_success', $file_data); } } }


then create 3 view files in my case under the admin folder
upload.php in this file copy paste the code from the jquery file and change the path to the js and css files and the form action url
then create
upload_success.php

<?phpecho '{"name":"'.$upload_data['file_name'].'","type":"'.$upload_data['file_type'].'","size":"'.$upload_data['file_size'].'"}'; ?><br><br><br><a href="http://upload/delete">?>"href= "<?php echo base_url().'uploads/' .$upload_data['file_name'] ?>">_<?php echo base_url()._</a><?php echo '<br>name: ' .$upload_data['file_name'] .'<br>size: ' .$upload_data['file_size'] .' k' ?>_ <!-- <br><a ]DELETE</a>-->
and delete_success.php
<?phpecho 'file:' .$delete_data .'-delted' ; ?>
That’s it if you have problems like syntax error unexpected < then i should remind, you must create 1 folder called uploads and under it thumbs with write permissions. If you have problems i’ll be glad to help you.
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook

Related Posts:

  • CodeIgniter - Working with DatabaseCodeIgniter - Working with DatabaseLike any other framework, we need to interact with the database very often and CodeIgniter makes this job easy for … Read More
  • CodeIgniter - Application ArchitectureCodeIgniter - Application ArchitectureThe architecture of CodeIgniter application is shown below.As shown in the figure, whenever a request comes to C… Read More
  • CodeIgniter - Basic ConceptsCodeIgniter - Basic ConceptsControllersA controller is a simple class file. As the name suggests, it controls the whole application by URI.Creating a … Read More
  • CodeIgniter - MVC FrameworkCodeIgniter is based on the Model-View-Controller (MVC) development pattern. MVC is a software approach that separates application logic from pre… Read More
  • CodeIgniter TutorialCodeIgniter TutorialCodeIgniter is a powerful PHP framework with a very small footprint, built for developers who need a simple and elegant toolkit to… Read More
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Spring boot app (error: method getFirst()) failed to run at local machine, but can run on server
    The Spring boot app can run on the online server. Now, we want to replicate the same app at the local machine but the Spring boot jar file f...
  • Log activity in a Laravel app with Spatie/Laravel-Activitylog
      Requirements This package needs PHP 8.1+ and Laravel 9.0 or higher. The latest version of this package needs PHP 8.2+ and Laravel 8 or hig...
  • Laravel auth login with phone or email
          <?php     Laravel auth login with phone or email     <? php     namespace App \ Http \ Controllers \ Auth ;         use ...
  • Vue3 :style backgroundImage not working with require
    I'm trying to migrate a Vue 2 project to Vue 3. In Vue 2 I used v-bind style as follow: In Vue 3 this doesn't work... I tried a...
  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh
    I had follow these steps to install an configure firebase to my cordova project for cloud messaging. https://medium.com/@felipepucinelli/how...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (68)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh - 9/21/2024
  • pyspark XPath Query Returns Lists Omitting Missing Values Instead of Including None - 9/20/2024
  • SQL REPL from within Python/Sqlalchemy/Psychopg2 - 9/20/2024
  • MySql Explain with Tobias Petry - 9/20/2024
  • How to combine information from different devices into one common abstract virtual disk? [closed] - 9/20/2024

Laravel News

  • Validate Controller Requests with the Laravel Data Package - 5/19/2025
  • Deployer - 5/18/2025
  • Transform JSON into Typed Collections with Laravel's AsCollection::of() - 5/18/2025
  • Auto-translate Application Strings with Laratext - 5/16/2025
  • Simplify Factory Associations with Laravel's UseFactory Attribute - 5/13/2025

Copyright © 2025 CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda