Clase en PHP para la manipulación de archivos

Buen día queridos lectores, en esta ocasión les comparto la siguiente Clase en PHP, la cuál es muy útil para todos los que desarrollamos aplicaciones Web y además necesitemos manipular cualquier tipo de archivo desde nuestra aplicación Web.

<?
/**
* @class: Archivo
* @author: Ricardo Rosero
* @version: 1.0
*/
class Archivo{
/**
* @atributos
*/
var $cedula_usuario_log;
/**
* @function: __contructor
* @author: Ricardo Rosero
* @param: $cedula_usuario_log
* @description: Esta funcion permite construir la clase
* @access: public
*/
function __construct($cedula_usuario){
$this->cedula_usuario_log=$cedula_usuario;
}
/**
* @function: esArchivoValido
* @author: Ricardo Rosero
* @description: Esta funcion retornara true si el tipo de un archivo cumple con los siguientes formatos: JPG, GIF, PNG, MP3, MPEG, SWF, FLV, DOC, DOCX, ODT, STW, PDF, TXT, CSV, RTF, PPSX, PPTX, PPT, PPS, ODP, STI, XLSX, XLS, ZIP, RAR.
* @param: $tipo_archivo
* @access: public
* @return: boolean
*/
function esArchivoValido($tipo_archivo){
if(($tipo_archivo==’image/pjpeg’)||//JPG
($tipo_archivo==’image/gif’)||//GIF
($tipo_archivo==’image/jpeg’)||//JPEG
($tipo_archivo==’image/png’)||//PNG
($tipo_archivo==’audio/mp3′)||//MP3
($tipo_archivo==’audio/mpeg’)||//MPEG
($tipo_archivo==’application/x-shockwave-flash’)||//.SWF archivo de flash
($tipo_archivo==’video/x-flv’)||//Video FLV
($tipo_archivo==’application/octet-stream’)||//.flv Videos en flash
($tipo_archivo==’application/msword’)||//DOC 2003
($tipo_archivo==’application/vnd.openxmlformats-officedocument.wordprocessingml.document’)||//DOCX 2007
($tipo_archivo==’application/vnd.oasis.opendocument.text’)||//ODT (PROCESADOR DE TEXTO, HOJA DE CALCULO)
($tipo_archivo==’application/vnd.sun.xml.writer.template’)||//STW (PROCESADOR DE TEXTO, HOJA DE CALCULO)
($tipo_archivo==’application/vnd.oasis.opendocument.spreadsheet’)||//ODT (PROCESADOR DE TEXTO, HOJA DE CALCULO)
($tipo_archivo==’application/vnd.sun.xml.writer.template’)||//STW (PROCESADOR DE TEXTO, HOJA DE CALCULO)
($tipo_archivo==’application/pdf’)||//PDF
($tipo_archivo==’text/plain’)||//TXT
($tipo_archivo==’text/csv’)||//CSV
($tipo_archivo==’application/rtf’)||//RTF
($tipo_archivo==’application/vnd.openxmlformats-officedocument.presentationml.slideshow’)||//PPSX 2007
($tipo_archivo==’application/vnd.openxmlformats-officedocument.presentationml.presentation’)||//PPTX 2007
($tipo_archivo==’application/vnd.ms-powerpoint’)||//PPT 2003 y PPS 2003
($tipo_archivo==’application/vnd.oasis.opendocument.presentation’)||//ODP
($tipo_archivo==’application/vnd.sun.xml.impress.template’)||//STI
($tipo_archivo==’application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’)||//XLSX 2007
($tipo_archivo==’application/vnd.ms-excel’)||//XLS 2003
($tipo_archivo==’application/zip’)||//ZIP
($tipo_archivo==’application/octet-stream’)||//RAR
($tipo_archivo==’application/rar’)//RAR
){
return true;
}
else{
return false;
}
}
/**
* @function: esArchivoDocumentoTextoValido
* @author: Ricardo Rosero
* @description: Esta funcion retornara true si el tipo de un archivo de tipo de imagen valido
* @param: $tipo_archivo
* @access: public
* @return: boolean
*/
function esArchivoDocumentoTextoValido($tipo_archivo){
if($tipo_archivo==’application/pdf’)//PDF
{
return true;
}
else{
return false;
}
}
/**
* @function: esArchivoImagenValido
* @author: Ricardo Rosero
* @description: Esta funcion retornara true si el tipo de un archivo es una imagen es valida
* @param: $tipo_archivo
* @access: public
* @return: boolean
*/
function esArchivoImagenValido($tipo_archivo){
if(($tipo_archivo==’image/pjpeg’)||//JPG
($tipo_archivo==’image/jpeg’)//JPEG
){
return true;
}
else{
return false;
}
}
/**
* @function: esArchivoImagenValido
* @author: Ricardo Rosero
* @description: Esta funcion retornara true si el tipo de un archivo es una imagen es valida
* @param: $tipo_archivo
* @access: public
* @return: boolean
*/
function esTamanoArchivoValido($tamano_archivo){
$tamano_archivo=$tamano_archivo/1024;//convertimos a megabytes
if(($tamano_archivo>=1)&&($tamano_archivo<=1024)){ //Archivos con tamaño maximo 1.0 Mb
return true;
}
else{
return false;
}
return false;
}
/**
* @function: crearNombreArchivoUnico
* @author: Ricardo Rosero
* @description: Esta funcion recibe como paramatro el nombre de un archivo y retorna un nombre unico para el archivo dado, para que no haya problemas con archivos de nombres iguales.
* @param: $tipo_archivo
* @access: public
* @return: boolean
*/
function crearNombreArchivoUnico($nombre_archivo){
$nuevo_nombre.=uniqid(‘bc’).$this->obtenerExtensionArchivo($nombre_archivo);
return $nuevo_nombre;
}
/**
* @function: obtenerNombreUrlArchivo
* @author: Ricardo Rosero
* @description: Esta funcion recibe como parametro una direccion url en donde se encuentra un documento, y se retorna el nombre del docuemto, ejemplo:
* ../../operaciones/Imagenes/bc44441556cdcd2_Kiddy_Grade_1024x768.jpg
* bc44441556cdcd2_Kiddy_Grade_1024x768.jpg
* @param: $tipo_archivo
* @access: public
* @return: boolean
*/
function obtenerNombreUrlArchivo($url){
$cadena=strrev($url);
$trozo=explode(“/”,$cadena);
$nombre_archivo=strrev($trozo[0]);
return $nombre_archivo;
}
/**
* @function: obtenerExtensionArchivo
* @author: Ricardo Rosero
* @description: Esta funcion recibe como parametro una direccion url en donde se encuentra un documento, y se retorna la extension del docuemto, ejemplo:
* ../../operaciones/Imagenes/bc44441556cdcd2_Kiddy_Grade_1024x768.jpg
* .jpg
* @param: $tipo_archivo
* @access: public
* @return: boolean
*/
function obtenerExtensionArchivo($nombre_archivo){
$cadena=strrev($nombre_archivo);
$trozo=explode(“.”,$cadena);
$extension_archivo=”.”.strrev($trozo[0]);
return $extension_archivo;
}
}
?>

Napster2011

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s