gafeman viciao2k3 logo viciao2k3
 
¿que estoy haciendo?   follow me
hasta que el sol no floje un poco, yo no me muevo de la cueva !
 
Suscribete →  
374  fans y una planta carnivora
 
Todos los articulos de la categoria PHP
Actualizado hace 2 dias
Noticias del dia
5

experimentos locos a la hora de iniciar variables

Tag: PHP    Por: gafeman @ 6 Julio, 2007    Lecturas: 583   

¿alguna vez has hecho algo parecido a esto?

PHP:
  1. $op1 = 'checked';
  2. $op2 = 'checked';
  3. $op3 = 'checked';
  4. $op4 = 'checked';
  5. $op5 = 'checked';

hay otra forma de hacer lo mismo:

PHP:
  1. for($i=1;$i<=5;$i++){
  2. eval("\$op$i = 'checked';");
  3. }

0

diferentes maneras de sustitucion en strings

Tag: PHP    Por: gafeman @ 6 Julio, 2007    Lecturas: 457   

Cadena de Ejemplo:

PHP:
  1. $cadena = 'uno dos tres cuatro';

Metodo 1:

PHP:
  1. $cadena = str_replace(array('uno','dos','tres'),'',$cadena);

Metodo 2: (mi favorito)

PHP:
  1. $cadena = eregi_replace('uno|dos|tres','',$cadena);

Los dos ejemplos anteriores sustituyen uno, dos, tres por nada y asignan el resultado a la variable $cadena

Pueden parecer iguales, pero el segundo metodo a mi modo de ver es mejor, ya que no tiene sensibilidad por minusculas y mayusculas.
y lo mejor de todo es que te permite el uso de expresiones regulares

2

diferentes maneras de leer un fichero en php

Tag: PHP    Por: gafeman @ 6 Julio, 2007    Lecturas: 932   

Lo que me gusta de la programacion, es que las cosas se pueden hacer de muchas maneras para obtener un mismo resultado.

La manera clásica:

PHP:
  1. $nombre_archivo = '/usr/local/algo.txt';
  2. $gestor = fopen($nombre_archivo, 'r');
  3. $contenido = fread($gestor, filesize($nombre_archivo));
  4. fclose($gestor);

Pero, ¿Sabias que tambien lo puedes hacer de esta manera?

PHP:
  1. $contenido = implode('',file('/usr/local/algo.txt'));

Los dos ejemplos asignan a la variable $contenido el contenido del fichero /usr/local/algo.txt

1

¿tamaño maximo de las cookies?

Tag: PHP    Por: gafeman @ 5 Julio, 2007    Lecturas: 812   

esta es una de las dudas que tenia, desde que termine el FP y que no me respondieron los profesores

he hecho algunas pruebas en el servidor donde estoy alojado con la version del php 4.4.4 y el resultado ha sido de 4093 caracteres

7

Clase para la conexion a bases de datos MySQL

Tag: PHP    Por: gafeman @ 27 Junio, 2007    Lecturas: 2152   

Diario de cambios:
Version: 0.3
Ultima edicion: 6-julio-2007

  • arreglado un problema en la funcion enmarcar, siempre muestra el mensaje $str
  • he añadido los constructores para que sea compatible con PHP 5

Hoy he terminado de desarrollar dos classes en PHP

  1. para conectar con una base de datos MySQL
  2. para hacer llamadas a la base de datos (querys, updates, deletes, inserts, etc.)

Caracteristicas importantes:

  1. al hacer selects, si estas devuelven valores, se tiene que hacer mysql_free_result($mysql_result) para liberar recursos, esta clase lo hace automaticamente
  2. cuando haces una query esta devuelve una tabla de objetos
    puedes acceder a los valores mediante $query1->v[0]->nombre o recorrerlos todos con un foreach
    con lo que ya no tienes que dudar si era un mysql_fetch_row, mysql_fetch_ass­oc u otro...
  3. modo de depuracion, si estas en modo de depuracion si se producen errores, se mostraran las querys tal y como se han ejecutado a la base de datos
  4. muy facil de recordar y programar, ya que se tiene que escribir muy poco
  5. Cierra la conexion datos automaticamente al final de la aplicacion, utilizando un __destructor() compatible con PHP4 y 5

Ejemplo practico:

PHP:
  1. //incluimos la clase
  2. require 'class_mysql.php';
  3.  
  4. //creamos el objeto bd para poder conectar con la base de datos
  5. //Nota: para el modo debug se tiene que escribir: $bd = new bd(1);
  6. $bd = new bd();
  7.  
  8. //para hacer una query
  9. $query1 = new query('select id, nombre, apellidos from trabajadores',$bd);
  10.  
  11. //podemos comprobar si la query ha obtenido valores (no hace falta para mostrar datos)
  12. if($query1->n){
  13.  
  14. //recorremos las filas y mostramos los resultados
  15. foreach ($query1->v as $fila)
  16. echo $fila->d,' - ',$fila->nombre,' ',$fila->apellidos,'<br />';
  17. }else{
  18. //si no hay valores se muestra un mensaje
  19. echo 'no se encontraron resultados';
  20. }

Otras caracteristicas:

  • para evitar sql-injections, debes filtrar los datos de esta manera:
    PHP:
    1. $query1 = new query("select * from usuarios where nombre='".$bd->f($_POST['nombre'])."' and password='".$bd->f($_POST['password'])."'",$bd);

  • saber numero de filas afectadas, al hacer por ejemplo un update:
    PHP:
    1. $query1 = new query("update trabajadores set salario='1000' where departamento='12'",$bd);
    2. echo $query1->a,' registros actualizados';

Pasos:

  1. Descargar el fichero:
    class_mysql.txt
  2. Remplazar el nombre del fichero a class_mysql.php
  3. Subirlo al ftp

Recuerda: (antes de usar la clase tienes que editar las variables)

  • var $usuari='root'; //nombre de usuario de la base de datos
  • var $clau=''; //contraseña del usuario
  • var $servidor='localhost'; //nombre del servidor, normalmente localhost
  • var $nomBD=''; //nombre de la base de datos

Si te ha gustado, crees que se puede mejorar o si encuentras fallos, deja un comentario

background by eboy