|
171
|
Programación / PHP / Usar imágen para mostar cosas de PHP
|
en: 13 Septiembre 2004, 04:23 am
|
Bueno, ustedes conocerán las Librerías GD. Son unas librerías (... xDD) para trabajar con imágenes. Por ejemplo, poner la IP del visitante en una imágen. NOTA: No todos los host's aceptan GD... Pregunten con el administrador. Si no tienen GD, no pueden usar esto.Les dejo un ejemplo que hice yo aqui, que muestra la fecha actual y la IP del visitante, con un fondo hecho en Photoshop Con ésta función que voy a poner, puedes elegir la fuente que quieras que tenga el texto que pondrás, la posición del texto, el ángulo (puedes ponerlo en distintos ángulos, p.e 90°) y el tamaño de fuente. Solo se pueden usar imágenes JPG y PNG. Bueno, no SOLO esas, pero son las mas usadas y las que mejor se ven. El Gif NO se puede usar a partir de la versión 1.6 del GD... Bueno, después de esta breve explicación, va el código: <?php header("Content-type: image/jpeg"); //El tipo de imágen $im = "http://www.tuweb.com/imagen.jpg"; //Url COMPLETA de la imágen $img = ImageCreateFromJpeg ($im); $color = ImageColorAllocate ($img, 0, 0, 0); /* Color negro... El color está en formato RGB, puedes ver esto en el Paint, o el Photoshop. El negro es el 0 0 0 y el blanco el 255 255 255 */ $texto = "Hola, eres ".$REMOTE_ADDR; ImageTTFText($img, 10, 0, 25, 95, $color, "/home/pagina/public_html/arial.ttf",$texto); /* Pequeña explicación de esta función: Estructura: array imagettftext ( resource imagen, int tamanyo, int angulo, int x, int y, int color, string archivo_fuente, string texto) -> Sacado de php.net <- La fuente debe estar en tu servidor, no es necesario que le usuario la tenga. Además, la fuente debe estar en su RUTA COMPLETA, como la que se indica arriba. Debes cambiar la posición del texto y todo eso. Recuerda que puedes ver en que posición poner el texto con Paint, abajo sale el lugar en el que está el mouse. Te saldrá, p.e., 12,42: Ponlos en ese orden. */ ImageJpeg ($img); //Se muestra la imágen ImageDestroy ($img); //Se libera la memoria y FIN :D ?>
Debo agregar que si la imágen es PNG, deben cambiar las siguientes funciónes: header("Content-type: image/jpeg"); -> header("Content-type: image/png"); ImageCreateFromJpeg -> ImageCreateFromPng Creo que eso es todo... Para mayor información, ver la documentación de PHP. Salu2!
|
|
|
178
|
Programación / PHP / Paginación de registros
|
en: 14 Agosto 2004, 08:43 am
|
Bueno, en esta parte pondré como paginar registros, totalmente configurable. Se puede poner el número de registros por página, y todo eso. Aqui va: pagina.php<?php include ("conexion.php");
######Configuración####### # $paginas = 7; # $tabla = "aquitutabla"; # # ##########################
$actual = (!isset ($pg))?1:$pg; $sql = mysql_query ("SELECT * FROM ".$tabla.""); $total = mysql_num_rows ($sql); if ($actual == 1) { $desde = "0"; } elseif ($actual != 1) { $desde = $actual * $paginas - $paginas; } $tp = ($total / $paginas); if (strstr($tp,'.')){ $tp = explode (".",$tp); $tp = ($tp[0]+1); } $resp = mysql_query ("SELECT * FROM ".$tabla." ORDER BY id LIMIT ".$desde.",".$paginas.""); while ($row = mysql_fetch_array ($resp)) { //Aqui parte la parte de modificación echo "Registro: ".$row["campo"]."<br>"; //Aqui termina xD } $pag = ($tp == 1) ? página : páginas; $reg = ($total == 1) ? registro : registros; ?> <br>Encontrados <b><?=$total?></b> <?=$reg?> en <b><?=$tp?></b> <?=$pag?><br> <?php $anterior = true; $siguiente = true; if (($actual == 1) AND ($actual == $tp)) { $anterior = false; $siguiente = false; } elseif ($actual == $tp) { $anterior = true; $siguiente = false; } elseif ($actual == 1) { $anterior = false; $siguiente = true; } if ($anterior) { echo "<a href=\"pagina.php?pg=".($actual-1)."\">< Página anterior</a> | "; } else { echo "|"; } for ($i = 1; $i <= $tp;$i++) { if ($i == $actual) { echo " <b>".$i."</b> | "; } else { echo "<a href=\"pagina.php?pg=".$i."\"> ".$i."</a> |"; } } if ($siguiente) { echo " <a href=\"pagina.php?pg=".($actual+1)."\"> Página siguiente ></a>"; } ?> Solo debes cambiar el nombre de la tabla, el número de consultas por página, y las cosas que quieres mostrar (dentro del while). Espero que sirva, Salu2! PD: Gracias a Azielito, con el arreglamos unos pequeños problemas que tenía
|
|
|
180
|
Programación / Ejercicios / Ejercicio 504
|
en: 11 Agosto 2004, 11:37 am
|
Pues, ya hice la calculadora ñ_ñ. Consiste en que, introduces dos números, y luego abajo te sale un Select, en el cual salen los operadores. Luego, se hacen las operaciones, y si en la división es decimal, se corta el número para que solo salgan dos decimales, asi no se hace el número tan largo . <?php if ($calcular) { $num1 = htmlentities ($num1); $num2 = htmlentities ($num2); if ($operador == "+") { $total = $num1 + $num2; } if ($operador == "*") { $total = $num1 * $num2; } if ($operador == "-") { $total = $num1 - $num2; } if ($operador == "/") { $total = ($num1 / $num2); if(strpos($total, ".") !== false){ $total = explode(".", $total); $entero = ($total[0]); $decimal = ($total[1]); $decimal = substr ($decimal,0,2); $total = $entero.".".$decimal; } } echo $num1." ".$operador." ".$num2." = ".$total; } else { ?> <form action="<?php echo $PHP_SELF ?>" method="post"> Introduce el número 1: <input type="text" name="num1"><br> Introduce el número 2: <input type="text" name="num2"><br> Introduce el operador: <select name="operador"> <option value="+">+ (Suma)</option> <option value="*">* (Multiplicación)</option> <option value="-">- (Resta)</option> <option value="/">/ (División)</option> </select><br> <br> <input type="submit" name="calcular" value="Calcular!"> </form> <?php } ?> Si quieres cambiar el número de decimales, solo se tiene que cambiar esto: $decimal = substr ($decimal,0,2); Por esto: $decimal = substr ($decimal,0,NÚMERO); Salu2!
|
|
|
|
|
|
|