• Comentarios

    • fredy: hola bueno intente hacer lo que tu lograste hacer pero no me funciona el ultimo paso ps no me conecta cuando...
    • daniel2073: hola amigo tengo un problema con tu script me marca un error en la linea 84 y la verdad no se nada de...
    • rkW: Para que querria convertir mis RMVB a AVI ?? :$ jejeje no cheto, bastante practico, no para mi io veo las pelis...
    • pir: buenas, sos b4d3m?

Array Unique de numeros aleatorios con PHP

/**
 * Función que permite obtener un array unique de numeros aleatorios
 *
 * @param int $de
 * @param int $max
 * @param int $cuantos
 * @return array unique
 */
function rand_pos($de=0,$max=0,$cuantos=false)
	{
		$i=0;
		$rand_nums=array();
		$de=(!preg_match('/^[0-9]+$/',$de)||$de>$max)?0:$de;
		$max=(!preg_match('/^[0-9]+$/',$max))?0:$max;
		$cuantos=($cuantos&&!preg_match('/^[0-9]+$/',$cuantos))?1:$cuantos;

		while($i<=$max)
		{
			while(in_array($rand=rand($de,$max),$rand_nums));
			$rand_nums[]=$rand;
			if($cuantos&&$i == $cuantos-1)
				return $rand_nums;
			$i++;
		}
		return $rand_nums;
	}

Bueno para un trabajo que hacía, requería mostrar cierto numero de registros de una tabla de manera aleatoria y pues bueno, hice esa función que es simple pero funcional.

Ejemplo con Base de datos:

$q=mysql_query("select autor,nombre_blog from blog_tb where blog_activo=1");
while($r=mysql_fetch_object($q))
{
        $row[]=array
         (
                 'autor'=>$r->autor,
                 'blog'=>$r->nombre_blog
         );
}
//supongamos que obtenemos 50 registros como resultado de esa consulta pero quiero mostrar sólo 5...

//tamaño del array con los datos
$num_regs=count($row)-1; 

/*
Llamamos a la funcion para que regrese el array con posiciones aleatorias dentro del rango que le mandamos en los primeros 2 parámetros
Nota: Se puede definir un numero, en el primer parámetro enviado, del cual queremos que parta el random. Si el valor es mayor que el segundo parámetro o no es valor entero, el primero será 0 (cero)
*/

$posiciones=rand_pos(0,$num_regs,5); //llamada a la funcion

//una vez obtenido el array con las posiciones aleatorias, lo recorremos...
foreach($posiciones as $i)
{
	echo "Nombre del blog: ".$row[$i][blog]."<br/>";
      echo "Autor: <i>".$row[$i][autor]."</i><hr>";

}

No sé si es el mejor método para hacer esto, pero en este momento fue lo que se me ocurrió y quise postearlo. Tal vez a alguien le sirva.

JSONP(mootools) + Youtube

Una de las “modas” actualmente es el uso de XHR para dejar todo del lado del cliente, lo que facilita entre otras cosas el envio de peticiones y recepción de respuestas en el formato que mejor nos parezca. Como algunos saben. Ya hace algún tiempo que ando metido en mootools y bueno, si no soy un programador veterano de mootools, he aprendido a usar, extender y exprimir cada funcionalidad de este maravilloso framework.

El siguiente ejemplo que hice muestra la manera de obtener información de un video directamente de youtube usando XHR mediante JSONP en mootools

 


NOTA: En el ejemplo no funcionan correctamente el boton “siguiente” pero sólo por el uso de mooshell. Prueben el codigo en su local y funcionará bien.

How-to:Eliminar espacios en nombres de archivos de un directorio (linux)

Este bash script sirve para eliminar los espacios en los nombres todos los archivos de un directorio

#!/bin/sh
#ftrim by vrS
find . -name '* *' | sort | while read FILE
do
NEWFILE=`echo ${FILE} | sed 's/ /_/g;'`
mv "${FILE}" ${NEWFILE}
echo ${NEWFILE}
done

Instalación
El proceso para “instalarlo” es el mismo que el de avi2dvd

Uso
Usando la consola, ubíquense en el directorio en el cual quieren eliminar los espacios de sus archivos y ejecuten el script
bash~$ ftrim

subDownloader: Descargar Subtitulos para tus peliculas

Diré lo meramente necesario ya que carezco de tiempo:
subDownloader es un programa que busca por tí de los subtítulos necesarios para tu película. Lo único que tienes que hacer es cargar la película y el programa buscará los subtítulos adecuados en opensubtitles para poder seleccionarlos y bajarlos :)
subdown

Recomendable 100%

Descarga y mas info:
http://subdownloader.net/

How-To:Pegar subtitulos a un AVI con un solo comando

Siguiendo con el tratado de videos, mas especificamente, películas, les diré como pegarle los subtitulos a un AVI x)…
Lo único que necesitas tener instalado es mencoder
$sudo apt-get install mencoder
Después de esto, nada mas el siguiente comando:
mencoder -o video_destino.avi -sub los_subtitulos.str -oac copy -ovc xvid -xvidencopts pass=1 video_origen.avi -subcp ISO-8859-1 -font fuente.ttf -subfont-text-scale 3.0
Listo x) ahora nada mas a esperar que se complete el proceso y listo.
Hice un script para hacer eso un poco más sencillo. Aquí se los dejo

#!/bin/bash
##############################
##              subAttach by vrS    ##
##############################
BLK='^[[1;30m'
RED='^[[1;31m'
GRN='^[[1;32m'
YEL='^[[1;33m'
BLU='^[[1;34m'
MAG='^[[1;35m'
CYN='^[[1;36m'
WHI='^[[1;37m'
DRED='^[[0;31m'
DGRN='^[[0;32m'
DYEL='^[[0;33m'
DBLU='^[[0;34m'
DMAG='^[[0;35m'
DCYN='^[[0;36m'
DWHI='^[[0;37m'
RES='^[[0m'
#emptying terminal
reset
# Se válida si se tiene mencoder instalado.
if [ ! -f `which mencoder` ]; then
echo "${DCYN}[${RED}+${WHI}ERROR${DCYN}] ${WHI} Necesitas instalar MENCODER ${RES}"
exit 1
fi
if [ $# -lt 3 ]
then
echo
echo "${DCYN}[${WHI}+${DCYN}]${DCYN}[${WHI}usage${DCYN}]${WHI} $0 [your_movie.avi][your_subtitles.str][your_font.ttf]${RES}"
echo "${DCYN}[${WHI}+${DCYN}]${DCYN}[${WHI}Ejemplo${DCYN}]${BLU} $0 pelicula.avi pelicula.str ~/.fonts/Arial_Black.ttf${RES}"
echo
exit
fi
videoavi=$1
subs=$2
fuente=$3
out=`echo $videoavi |cut -f1 -d '.'`"_subs"

#Pegando subs...
mencoder -o "$out".avi -sub "$subs" -oac copy -ovc xvid -xvidencopts pass=1 "$videoavi" -subcp ISO-8859-1 -font "$fuente" -subfont-text-scale 3.0
echo
echo "${DCYN}[${WHI}+${DCYN}]${DCYN}[${YEL}EXITO${DCYN}]${GRN} Proceso Finalizao con exito x)${RES}"
echo

Instalación:
El proceso para “instalarlo” es el mismo que el de avi2dvd

Splash Navideño de jDownloader

Rara vez un soft cambia su splash de acuerdo a la temporada, al menos, no conozco muchos. jDownloader sí lo hizo :)
jdown-n