Ir al contenido principal

Como subir una imagen usando Codeigniter

Bueno esto no es novedad pero igual lo tenia que hacer para que quedara constancia de que también se hacer estas cosas.

Una de las cosas más habituales que se hace en la creación de páginas webs es la subida de archivos e imágenes, practicamente se podria decir que es lo mismo ya que una imagen es un archivo con un tipo de extensión que el navegador puede interpretar de manera fácil. Y en esta entrada hablaremos de como subirla usando el framework de codeigniter 3.

Lo primero que haremos es lógicamente descargar el framework y cuando ya lo tengamos nos cercioramos que nuestro apache tenga el mod_rewrite activado, luego simplemente agregamos un .htaccess a nuestro proyecto tal y como lo había descrito antes en esta entrada.

Ahora dentro de la carpeta de los controladores nos creamos una nueva clase que herede de CI_Controller, en mi caso la he nombrado SimpleUpload (recordar que en CI 3, los nombres de las clases inician con mayúsculas).
La explicación es simple, en el constructor de la clase se mandan a llamar a dos helper: el form que nos ayudara a crear la UI para un simple formulario y el url que se encargará de brindarnos el base_url() entre otras funciones, la que interesa en este momento es base_url()

La función index, solamente se encarga de cargar la vista que contiene el formulario, mientras que doUpload() es el encargado de gestionar la subida del archivo (en este caso son imágenes, pero leyendo la documentación es fácil cambiar el tipo de archivo).

Lo primero que notamos en doUpload() es que hace una pequeña configuración de parámetros como lo es el destino (este a nivel de la raiz de tu proyecto), tipo de archivo, tamaño máximo, entre otras, luego se carga la clase upload a la cual se le agrega la configuración para que comience a trabajar. Haciendo uso de los métodos propios de la librería se sube la imagen y en el if que se ve, se le dice que si se subió la imagen que tiene el nombre de campo de 'userfile', sino lo a hecho mostrara los errores correspondientes, de lo contrario cargará otra vista en donde mostrará toda la info de la imagen.

A continuación los formularios que se tienen que agregar a la carpeta view



tienes que tener permisos de escritura en la carpeta upload, puede que el editor de blogger agregue estilo extra, lamento eso


Y ahora no me queda mas que darte el enlace a github para que te descargues el proyecto y lo pruebes

haz click aqui y descarga el código fuente


Entradas populares de este blog

Northwind para Mysql y otras

Supongamos que necesitamos una base de datos para comenzar a hacer pruebas y a la vez necesitamos que esa base de datos contenga mucha información con la cual trabajar. En mis tiempos de universidad existía una base de datos que utilizábamos en los laboratorios con SQL Server y c# para mostrar los datos en algún formulario. El nombre era Northwind. El problema es que era solo para SQL Server, pero alguien en se dio a la tarea de exportar esa base de datos a MySql y es justo lo que te vengo a mostrar acá. Hace un tiempo atrás clone de los repositorios de Google Code   esa información (que como algunos de ustedes sabrá dejara de estar al servicio de todos en un tiempo). Modifique un poco la DB de Mysql para que se pudiera ejecutar el script sin ningún problema. Lo interesante de todo esto es que puedes utilizar los demás script para diferentes gestores de base de datos Se advierte que para poder usarlas adecuadamente hay que modificar los campos de tipo longblob y qu...

How to upload File from form data POST in Android with Retrofit 2

 The last day I explain how to upload a simple CSV file using node . And now I teach how to upload from android device. Get source code here:  GitHub This article is write in java... later I'll add the method for kotlin. The logic is not changed, only the format code. 1) Is necessary add the dependencies in gradle: module implementation 'com.google.code.gson:gson:2.8.6' // RETROFIT // implementation 'com.squareup.retrofit2:retrofit:2.6.2' implementation 'com.squareup.retrofit2:converter-gson:2.6.2' implementation 'com.squareup.retrofit2:converter-scalars:2.5.0' 2) Add permissions in AndroidManifest.xml and modified the application for work with network security policy <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> in applitacion add ...

Como encriptar AES con Node JS

  Puedes descargar el proyecto desde este enlace El otro día surgió una necesidad para encriptar contenido bajo el algoritmo AES y es la que te vengo a mostrar a continuación en la cual use Node para solventar mi necesidad. Pude haber usando cualquier lenguaje que me viniera en gana pero no quería instalar nada mas. Dependencias: NodeJS >= 12 Crypto-JS Aplicaciones recomendadas: Git bash Visual Studio Code Lo primero que necesitamos es tener una clave única (KEY) y un vector de inicialización (IV). Este ultimo no es necesario pero agrega un extra de seguridad a nuestro contenido. Para lo cual usaremos el bash de git para utilizar openssl KEY openssl rand -base64 24 IV openssl rand -base64 12 Ahora que ya tenemos estas 2 cadenas únicas. Podemos proceder a escribir nuestro código. npm init -y Luego hacemos una modificación en el package.json para que admita módulos "type": "module", Instalamos la dependencia de Crypto-JS npm i crypto-js --save Ahora importamos l...