Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Diabliyo

#321
Yo me apunto tambien !....
#322
Buenas..

Quiero implementar un código que me permita redimencionar una imagen o todas las imágenes de un directorio, en donde se le pasan 2 argumentos que son:

argumento 1: nombre de la imagen o directorio.
argumento 2: el width solamente.

En donde si como argumento 1 se le pasa el nombre de imagen entonces la redimenciona, si se le pasa un directorio entonces redimenciona todas.
En donde como argumento 2 es el width deseado, si el width es mayor a la dimencion real de la imagen, entonces no se redimenciona, si sobre pasa, entonces se redimenciona pero utilizando niveles porcentuales. Vaya, si la imagen real es de: 500x850 y deseamos un width de 120, entonces el height lo calculamos en base a la reducción en porcentaje que sufrio el width de 800. Quedando una imagen de 120x204.

Mi código realiza todo el proceso solo que no me genera la imagen en si :(, solo genera imagenes en color negro, ya estuve viendo el code y no encuentro mi error, espero puedan ayudarme:

Aqui un Screenshot

Código (php) [Seleccionar]
<?php
function crear_imagen$formato$archivo )
{
if( !strcmp($formato"image/jpeg") )
$imgimagecreatefromjpeg($archivo);
else if( !strcmp($formato"image/jpg") )
$imgimagecreatefromjpeg($archivo);
else if( !strcmp($formato"image/png") )
$imgimagecreatefrompng($archivo);

unset($formato);
return $img
}

# redimenciona una o varias imagenes que este dentro de un directorio
# obtenido mediante el argumento y estableciendo las dimencion deseada o aproximada 
function redimencionar_imagen$data$sizeall )
{
if( is_dir($data) ) # si es directorio, entonces redimencionaremos todas las imagenes dentro 
{
$dir$data;
$dopendir($dir); # acrimos directorio
while( ($buf=readdir($d))!==FALSE#leemos
{
if( strcmp($buf".") && strcmp($buf"..") && !is_dir($buf) ) # si es distinto a patth oculto y no es directorio
{
$tiposubstrstrtolower($buf), -); # extraemos extensión
$nombresubstr$buf0, -); # extraemos nombre real
$new$nombre'_resized.'$tipo# nuevo nombre con tag y extensión

$imgcrear_imagen"image/"$tipo$dir.$buf ); # creamos imagen apartir de la principal

$sizegetimagesize($dir.$buf); # obtenemos dimencion de la imagen original
$w$size[0]; # extraemos width
$h=$size[1]; # extraemos height

# si es menor a la dimencion de thumbnails requerida
if( $w<=$sizeall )
{
$width$w;
$height$h;
}
else # entonces es mayor, se redimenciona
{
$extract$w-$sizeall# obtenemos los pixeles que se quitaran a la dimencion original
$porcentaje= ($extract*100)/$w# obtenemos porcentaje que se le reducira al width original
$width$sizeall# establecemos width deseado
$height$h-(($h*$porcentaje)/100); # obtenemos dimencion height segun la reduccion del porcentaje
}

$thumbimagecreatetruecolor($width$height); # creamos imagen con dimenciones
imagecopyresampled($thumb$img0000$width$height$w$h ); # creamos imagen virtual
imprimir_imagen$thumb"image/".$tipo0$dir.$new100 ); # creamos imagen

unset($new$tipo$nombre); 
}
}
closedir($d);
}
else # entonces es un archivo, redimencionamos la imagen
{
$buf$data# copiamos para usar el mismo code de arriba
$tiposubstrstrtolower($buf), -); # extraemos extensión
$nombresubstr$buf0, -); # extraemos nombre real
$new$nombre'_resized.'$tipo# nuevo nombre con tag y extensión

$imgcrear_imagen"image/"$tipo$buf ); # creamos imagen apartir de la principal

$sizegetimagesize($buf); # obtenemos dimencion de la imagen original
$w$size[0]; # extraemos width
$h=$size[1]; # extraemos height

# si es menor a la dimencion de thumbnails requerida
if( $w<=$sizeall )
{
$width$w;
$height$h;
}
else # entonces es mayor, se redimenciona
{
$extract$w-$sizeall# obtenemos los pixeles que se quitaran a la dimencion original
$porcentaje= ($extract*100)/$w# obtenemos porcentaje que se le reducira al width original
$width$sizeall# establecemos width deseado
$height$h-(($h*$porcentaje)/100); # obtenemos dimencion height segun la reduccion del porcentaje
}

# obtenemos el directorio
$xexplode("/"$buf ); # explotamos
$dir='';
# recorremos arreglo excluyendo el ultimo valor para dar con el directorio real
for($i=0$i<(count($x)-1); $i++ )
$dir .= $x[$i]; # concatenamos
 
$thumbimagecreatetruecolor($width$height); # creamos imagen con dimenciones
imagecopyresampled($thumb$img0000$width$height$w$h ); # creamos imagen virtual
imprimir_imagen$thumb"image/".$tipo0$dir.$new100 ); # creamos imagen

unset($new$tipo$nombre$dir$x$i);  
}
}
?>


Código (php) [Seleccionar]
<?php
function imprimir_imagen$img$formato$modo$url$calidad )
{
if( $modo==//se mostrara al tiempo
header_imagen$formato );
//entonces si modo es 0 no se imprime, se GUARDA

if( !strcmp($formato"image/jpeg") )
return imagejpeg($img$url$calidad );
else if( !strcmp($formato"image/jpg") )
return imagejpeg($img$url$calidad );
else if( !strcmp($formato"image/png") )
return imagepng($img$url$calidad );

return 0;
unset($formato);
unset($img); 
}
?>
#323
PHP / Re: Ayuda con preg_replace() !!
4 Febrero 2011, 22:50 PM
Cita de: ~ Yoya ~ en  4 Febrero 2011, 22:45 PM
En ese caso puedes utilizar un for() para aplicarlo en $cad_buscar...

muy cierto....

Entonces, damos el tema por cerrado... Gracias por tu tiempo men !

Saludos !
#324
PHP / Re: Ayuda con preg_replace() !!
4 Febrero 2011, 22:23 PM
Cita de: ~ Yoya ~ en  4 Febrero 2011, 21:11 PM
Me imagino que quieres tratar de optimizar. Aunque todo se resume en una linea:
Código (php) [Seleccionar]
preg_match('/^DATE\(([^\s]+)\s([^\)]+)\)$/', $string, $result);

O eso fue lo que entendi...



En el tema de los Array solo se podría implementar un solo arreglo que seria el de la busqueda ($cad_buscar).
Código (php) [Seleccionar]
<?php
 
$string 
'DATE(FECHA M)';
$cad_buscar = array('/^DATE\(([^\s]+)\s([^\)]+)\)$/');

preg_match($cad_buscar[0], $string$result);
echo 
date($result[2], $db[$result[1]]);

?>


Pero el array debe contener un solo valor no ?, si fuese asi, entonces seria mas trabajo, porque ahorita el comando con el que hemos estado lidiando es DATE(FECHA M), pero despues podria ser que el comando fuese: URL(DATO) en donde, lo que se haria es: extraer el Dato, pasarle el htmlentities o el url_encode...

Mi idea anterior (cuando usaba preg_replace()), era la universalidad del codigo, en donde en el arreglo busqeda ponia todas las asignaciones y en el arreglo remplazo lo que queria que se hiciera... Pero claro, necesitamos preg_match() para lograr el objetivo y a como leo en el manual de php, preg_match() en su primer y segundo argumento requieren un string y no un string array.

Que podriamos hacer ?




Ahora DATE(FECHA M) ya se soluciono con tu propuesta, pero quiero que el mismo code pueda funcionar con otros comandos de forma mas simple, sin tener que implementar un if(strstr($dato, "DATE(") ) para cada tipo (DATE(), URL(), etc...)....

El code quedo asi:

Código (php) [Seleccionar]
<?php
function comando($cmd$db)
{
$boxget_script_clearjump($cmd); # eliminamos salto de linea '\n'
#$cad_buscar= array( 
   
# '/DATE\((.*?) (.*?)\)/is'  
   
# );
#$cad_remplazo= array( 
# date("$y[2]", $db['$y[s1]'])
#        );
    
$boxhtmlentities($boxENT_QUOTES);
$boxpreg_match'/DATE\((.*?) (.*?)\)/is'$box$y );
# $box= preg_replace( $cad_buscar, $cad_remplazo, $box );
$rucfirstspanish_daymonthdate($y[2], $db[$y[1]]) ) ); # traducimos a castellano la palabra 
return $r;
}
?>
#325
PHP / Re: Ayuda con preg_replace() !!
4 Febrero 2011, 17:58 PM
Cita de: ~ Yoya ~ en 14 Enero 2011, 21:15 PM
no puedes usar preg_replace, simplemente devolverá M y no se ejecuta la función date...

Código (php) [Seleccionar]
<?php
echo preg_replace('/^DATE\(([^\s]+)\s([^\)]+)\)$/',"date($2);"'DATE(FECHA M)');
?>

Salida:
M

Lo mejor seria ocupar preg_match y funciona...
Código (php) [Seleccionar]
<?php

$string 
'DATE(FECHA M)';
preg_match('/^DATE\(([^\s]+)\s([^\)]+)\)$/'$string$result);
echo 
date($result[2], $db[$result[1]]);
?>


Saludos.

Retomando esto...

Se podria automatizar el proceso ??... Digo, porque en tu ejemplo en la primer linea esta el $string que contiene el "comando" ( DATE(FECHA M)), en la segunda linea el preg_match que es el que realiza la obtencion de los valores que esta dentro de DATE(). Finalmente en la tercer linea ejecuta la funcion date() con los valores que se guardaron en una variable en array.

Y lo que quisiera es tener una automacion, ya que no siempre sera date podra invocarse otra funcion y el codigo seria mas largo, ta que tendria que hacer algo como if (strstr( $comando, "DATE(" ) ) (comprobar el dato) para asumir si hare date() u otra funcion.

Anteriormente estabamos probando (sin exito porque usabamos preg_replace) con este codigo:

Código (php) [Seleccionar]
<?php
$box
get_script_clearjump($m[$i]);
$cad_buscar= array( 
'/DATE\((.*?) (.*?)\)/is'
);

$cad_remplazo= array( 
date("'${2}'"$db['${1}'])
);
    
$boxhtmlentities($boxENT_QUOTES);
$boxpreg_replace$cad_buscar$cad_remplazo$box );
# $box= preg_match( $cad_buscar, $cad_remplazo, $box );
?>


Como vez tengo dos arreglos, el de la busqueda ($cad_buscar) y el del resultado ($cad_remplazo), se podria manejar igual con preg_match() ? o existe alguna opcion ?

Saludos !
#326
Cita de: opportunity en  4 Febrero 2011, 08:58 AM
No iban a ser cuentas unicas por usuario?


Te la puedes crear tu mismo... Solo que se les proporciono una para que no hagan el proceso de registro (ahorrarles tiempo).




Animo !... Aun todo el dia de hoy se estara tomando en cuenta la prueba, tienen hasta el ultimo dia que se da para entregar los documentos finales (sus resultados).

Saludos !
#327
Cita de: SnakingMax en  4 Febrero 2011, 06:58 AM
El target está caído.

Saludos

No... Si esta en linea: http://turundus.net/ checalo bien !

Saludos !
-- editado ---

test
123456789
#328
Cita de: Servia en  3 Febrero 2011, 21:50 PMfunction creaquery ($campo){
  if($campo!=''){
  $querido=NOMBREDEL CAMPO .'=' . $campo; // formar el jugador=$jugador
  }

}

No te entiendo muy bien y ademas si lo estas programando tu, dejame decirte que es pesimo la forma como lo estas pensando... En fin, si quieres comprobar si una cadena esta vacia no es necesario hagas esto de !=''.

Basta con:

Código (php) [Seleccionar]
<?php
$dato
$_POST["campo"];

if( !
$campo ) echo 'Campo vacio';
else echo 
'Campo contiene informacion';
?>


Saludos !
#329
PHP / Re: Es apache, yo o mi proveedor ?
3 Febrero 2011, 00:06 AM
Solucionado !... solo puse el path completo.....
#330
Animo !...

Se ha actualizado el hilo, lean las novedades para que se apuren en apuntarse !