jueves, 21 de febrero de 2013

Hacer que un archivo .txt sea descargable


Necesitaba que un archivo .txt de mi servidor sea descargable y no se abra en el navegador.

Para ello encontré lo siguiente:    

                $nombre_archivo = "compras.txt";
                $file = dirname(__FILE__)."/../../../../endesis/reportes_generados/".$nombre_archivo;
header("Content-disposition: attachment; filename=$nombre_archivo");
header("Content-type: application/octet-stream");
readfile($file);

Donde
$nombre_archivo: es el nombre del archivo mas la extencion
$file:  es la ruta del archivo y el nombre del mismo
dirname(__FILE__): nod retorna la ruta actual
header:  arma la cabecera con los parametros enviados
readfile: lee el archivo

Esta informacion la encontre en la siguiente pagina donde tambien se explica otra forma mas compleja de realizar la misma accion pero tambien mas segura.
:
http://www.ngeeks.com/2010/04/01/forzar-descargas-de-archivos-con-php/


Remplazar caracteres especiales e PHP


<? php
  $ Original_string     =  "¿Dónde está El Niño Que Vive En El témpano here o en el iglú África, México, ÍNDICE, Canción y numero?.". ;

  $some_special_chars = array("á", "é", "í", "ó", "ú", "Á", "É", "Í", "Ó", "Ú", "ñ", "Ñ");
  $replacement_chars  = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U", "n", "N");

  $ Replaced_string     = str_replace ( $ some_special_chars , replacement_chars $ , $ original_string );

  echo $ replaced_string ;  / / Saca '¿Donde esta el nino Que vive aqui? En el tempano o en el iglu. AFRICA, MEXICO, INDICE, Canción y NUMERO ". 
>

Crear una tabla en Postgres a partir de una consulta

Un comando muy útil  lo utilice cuando necesitaba saber cual era el tipo de datos que me devolvía una consulta. Lo que hice fue crearme una tabla a partir de mi consulta y de esta forma saber los tipos de datos que tenían los campos.

La consulta tendría la siguiente sintaxis:

CREATE TABLE tablaNueva AS SELECT FROM TABLAS

Saludos
Grover

martes, 5 de febrero de 2013

Logo


Quitar tildes y convertir a mayúsculas en PostgreSQL

Tuve la necesidad de convertir un campo de texto a mayúsculas pero al hacerlo usando la función UPPER tenia un problema; me convertía todas las letras a mayúsculas excepto las que tenían tildes o diéresis.

Por ejemplo 

Configuración    usando solamente UPPER me lo dejaba como CONFIGURACIóN

Para corregir este error utilice una función adicional denominada TRANSLATE

Al final mi consulta quedo de la siguiente manera:

UPDATE sci.tct_auxiliar SET  nombre_auxiliar = upper translate (nombre_auxiliar, 'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜñ', 'aeiouAEIOUaeiouAEIOUÑ') ) ;

Donde sci.tct_auxiliar es el nombre de la tabla
nombre_auxiliar es el campo que quiero actualizar a mayúsculas y sin tilde
upper la función que me convierte a mayúsculas y 
la función que me convierte las letras con tilde a letras sin tilde

Primero quitamos las tildes al campo nombre_auxiliar. luego convertimos a mayúsculas y finalmente asignamos el valor al campo nombre_auxiliar.

El resultado final de Configuración    convertido es CONFIGURACION

Espero les sea útil.