Posted on 24-08-2008
Filed Under (Desarrollo, PHP) by Programlocura

Buenas,

Hoy vamos a ver en un tutorial MUY rapido, como insertar frases aleatorias en nuestro sitio (Weblog, fotolog, webpage, etc) levantandolas desde un archivo de texto plano (*.txt).

PHP:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Frases | Aleatorios |</title>
  6. </head>
  7. <?php
  8.     $arch = "frases.txt";
  9.     $file = fopen($arch, "r");
  10.    
  11.     $linea = array();
  12.     $i = 0;
  13.    
  14.     while(!feof($file)) {
  15.         $linea[$i] = fgets($file);
  16.         $i++;
  17.     }
  18.    
  19.    
  20.     $l_num = count($linea) - 1;
  21.    
  22.     $azar = round(rand(0, $l_num));
  23. ?>
  24. <body>
  25. La frase aleatoria del dia es: <h2><?php echo $linea[$azar]; ?></h2>
  26. </body>
  27. </html>

Explicación del Código:
1. Creamos una variable con la ruta al archivo de texto (frases.txt) que deberá estar guardado en alguna parte del servidor.

PHP:
  1. $arch = "frases.txt";

2. Con la función fopen creamos un handler al archivo de texto previamente creado/abierto. Lo llamaremos $file. Llamamos el archivo, como verán, en modo "solo lectura" ("r") ya que no vamos a escribir en el, siempre deberá estar creado para poder acceder a su contenido.

PHP:
  1. $file = fopen($arch, "r");

3. Creamos un array llamado $linea que conservará linea por linea del texto a parsear, e inicializamos una variable $i a 0, para guardar la posición del array.

PHP:
  1. $linea = array();
  2.     $i = 0;

4. Esto es lo más importante del ejemplo. Con la función "feof", preguntamos si el archivo termino de leer ( como utilizamos el signo de exclamación el bucle significa: "mientras no termine de leer"), pero aqui la usamos opuesta. A esta función le pasamos como parametro el puntero al archivo.
Acto seguido guardaremos cada linea que haya en el archivo en una posición del array $linea, con la función fgets que lee un texto hasta el final de linea (Salto de linea).
Sumamos uno a la variable $i para continuar guardando datos en el array.

PHP:
  1. while(!feof($file)) {
  2.         $linea[$i] = fgets($file);
  3.         $i++;
  4.     }

5. Creamos una variable $l_num y hacemos un conteo de la cantidad de elementos que tiene el array, a la cual debermos extraer 1, ya que sino nos daria error (por salirnos de los limites del array).

PHP:
  1. $l_num = count($linea) - 1;

6. Aqui hacemos la magia :P. Creamos una variable $azar que nos devolverá un numero redondeado (round) de 0 (Primera posición del array) hasta $l_num (Ultima posición del array).

PHP:
  1. $azar = round(rand(0, $l_num));

7. Por ultimo mostramos la frase al azar del dia, de la siguiente manera:

PHP:
  1. echo $linea[$azar];

Les dejo un enlace al resultado de este ejercicio (A pedido de mis alumnos :P)

(3) Comments    Read More   
Posted on 19-08-2008
Filed Under (Diseño, Personal, Varios) by Programlocura

Hoy vengo con una recomendación para todos los lectores que gustan del arte digital tanto 2D como 3D y la información en general.

ZonaCG

ZonaCG es un weblog que trata (principalmente) sobre arte digital en 3D y 2D.
Tiene un diseño ameno y lindo para leer fácilmente, la información está presentada en la HOME y es como estar leyendo un periódico, todo está presente y fácil de acceder.

Tiene una temática excelente y que no debe faltar en los marcadores de ningún animador/diseñador o porqué no, un programador.

Sorprende con contenidos variados pero con temáticas parecidas, todo lo relacionado a el arte digital, pudiéndonos mostrar desde adelantos de cine (información sobre trailers), información sobre artistas destacados o utilidades y recursos para el que desempeña tareas de ese tipo.

Nota general: 4 Estrellas
Comentarios: Recomendado!

(3) Comments    Read More   
Posted on 16-08-2008
Filed Under (Personal, Varios) by Programlocura

Señoras y señores tengan todos ustedes muy pero muy buenas,

Este post es más que nada para hablar como voy a proceder de aquí en más con el blog ya que se está moviendo poco (Aunque muchísimo más que cuando lo inicié xD) aunque tengo que agradecer a mis referidos, y a otros Blogs que me estan ayudando :). Tenemos PageRank 1 :D ... Que feliz que soy =P.

Me voy a marcar una ToDo List para los próximos meses/entradas:

  1. Vamos a tener un concurso con grandes premios
  2. Rediseño del Blog [Diseño, Maquetado y programado enteramente por mi :)]
  3. Más Tutoriales de VB, JS, PHP, entre otros.
  4. Más tutoriales de Diseño Gráfico, Web, etc. (Por fin :) )
  5. Más paginas con recursos para construir tu propia web.

Entre otras cosas estoy dispuesto a buscar ayuda asi que si alguien se ofrece y le divierte postear sobre temas del tipo que toca el blog, seria para mi un honor que me tuviesen en cuenta :D.

Por cierto, liberé los comentarios (De eso trata este POST principalmente) para que cualquiera pueda comentar (Excepto los malditos spammers ò_ó ).

Sin más que decir me despido, esten antentos que en cuanto me organize mejor empezamos con los concursos.

Saludos!

(0) Comments    Read More   
Posted on 13-08-2008
Filed Under (Desarrollo, JavaScript) by Programlocura

Muy pero muy buenas, hoy les traigo un MUY BÁSICO (Incluso alguna se va a reír de mi >_<) ejemplo de validación en Javascript, es como para ir comenzando a familiarizarse con el lenguaje y algunos de sus usos más comunes.

JavaScript:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Titulo Aqui</title>
  5. <script language="javascript">
  6.     function comprobar() {
  7.         error = "";
  8.        
  9.         var doc_1 = document.getElementById("txtNombre").value;
  10.         var doc_2 = document.getElementById("txtApellido").value;
  11.         var doc_3 = document.getElementById("txtComentario").value;
  12.         var doc_4 = document.getElementById("txtTel").value;
  13.         var doc_5 = document.getElementById("txtMail").value;
  14.        
  15.         if (doc_1 == "") {
  16.             error += "- Complete Nombre\n";
  17.         }
  18.        
  19.         if (doc_2 == "") {
  20.             error += "- Complete Apellido\n";
  21.         }
  22.         if (doc_3 == "") {
  23.             error += "- Complete Comentario\n";
  24.         }
  25.        
  26.         if (doc_4 == "") {
  27.             error += "- Complete Telefono\n";
  28.         }else{
  29.             if (isNaN(doc_4)) {
  30.                 error += "- El Telefono es un dato numerico\n";
  31.             }
  32.         }
  33.        
  34.         if (doc_5 == "") {
  35.             error += "- Complete Email\n";
  36.         }else{
  37.             if (doc_5.indexOf("@") == -1){
  38.                 error += "- La direccion es invalida\n";
  39.             }
  40.         }
  41.  
  42.         if(error != "") {
  43.             alert(error);
  44.         }else{
  45.             alert("Formulario enviado con Exito");
  46.         }
  47.     }
  48. </script>
  49. </head>
  50. <body>
  51. <form name="form1" id="formulario" method="post">
  52. <table border="0" width="600">
  53.     <tr>
  54.         <td>Nombre:</td>
  55.         <td><input type="text" id="txtNombre"/></td>
  56.     </tr>
  57.     <tr>
  58.         <td>Apellido:</td>
  59.         <td><input type="text" id="txtApellido"/></td>
  60.     </tr>
  61.     <tr>
  62.         <td>Comentario:</td>
  63.         <td><textarea id="txtComentario"></textarea></td>
  64.     </tr>
  65.     <tr>
  66.         <td>Tel:</td>
  67.         <td><input type="text" id="txtTel"/></td>
  68.     </tr>
  69.     <tr>
  70.         <td>Mail:</td>
  71.         <td><input type="text" id="txtMail"/></td>
  72.     </tr>
  73.     <tr>
  74.         <td><input type="button" onclick="comprobar()" value="Enviar" id="txtEnviar"/></td>
  75.         <td><input type="reset" value="Borrar" id="txtBorrar"/></td>
  76.     </tr>
  77. </table>
  78. </form>
  79. </body>
  80. </html>

Es parte del curso que estoy dando sobre PHP (En el Circulo Informático), es una muy pequeña parte. En próximas entradas pondré algo sobre:

  • Alerts
  • Prompt
  • Confirm
  • Manejo de controles
  • DOM y acceso a objetos HTML

Todo muy básico y simple de modo que sea entendible (Son solo 6 u 8 horas que hay que dedicarle al tema).

P.D: Recomiendo también, esta pagina: Funciones de Strings con JS. Ahi podrán encontrar una amplia lista sobre funciones para utilizar con cualquier String, encontrarán las usadas en el ejemplo para entenderlo mejor.
Espero sea util.

Si te gustó este POST comprame un café, o invitamelo vos. Tirame unos pesos xD

(0) Comments    Read More   
Posted on 10-08-2008
Filed Under (Curiosidades, Personal, Varios) by Programlocura
(0) Comments    Read More