17 de agosto de 2010

Cortar archivos con split


Pues resulta que en un script php he intentado pasar un archivo de texto a un array con el comando file( ) y el archivo es algo grande ya que tiene unos 19MB y unas 100.000 lineas. De modo que me ha salido un error al ejecutar el script:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 16 bytes) in /home/pp/globalWebSpider/gws-mantenimiento_spider01/60-z5log-no_mysql_saved-recuperator.php on line 85

Una solucción es cortar el archivo en otros más pequeños:
Para esto esta split:
- Que corta archivos en otros mas pequeños de un tamaño deternimado:

#split -b(tamaño) archivo.grande archivo.
archivos resultantes:
archivo.aa
archivo.ab
archivo.ac
etc...
-Pero en mi caso al ser un archivo de texto es mejor cortarlos en archivitos de un determinano número de lineas, ... digamos 10000 y con la extensión numérica:

#split -d -10000 archivo.grande archivo.
archivos resultantes:
archivo.01
archivo.02
archivo.03
etc...
Ref.: http://linuxmanpages.com/man1/split.1.php

16 de agosto de 2010

Codificar y decodificar caracteres html con php


Los caracteres especiales del código html pueden ser un problema al manejarlos en programación, variables, SQL y por la inyección de código malicioso.

En php estos caraceres se pueden codificar con: htmlspecialchars( )
y luego reponerse con: htmlspecialchars_decode( )
dejando de ser un problema.

Hacking webs con Google Gruyere


Gruyere es una wiki de métodos hacking a paginas web y la posibilidad de probarlos en un sevidor adhod de Google.

http://google-gruyere.appspot.com/

14 de agosto de 2010

Reconocimiento de imagenes en linux

Para el reconocimiento de imagenes he encontrado dos aplicacones interesantes:

# compare de ImageMagick http://www.rpublica.net/imagemagick/index.html
# libpuzzle-php

Decimales en MySQL

DECIMAL(M,D)

M: nº total de digitos
D: nº de decimales

Por ejemplo:
0,123456 DECIMAL(7,6)
123,4567 DECIMAL(7,4)

El maximo que podemos asignar a M y D es 65.
Si hay mas decimales que los asignados trunca el dato.

Ref.: http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html