PHP


12
May 10

Función en php para pasar de Farenheit a Centígrados y viceversa

Estas son dos funciones muy simples para cambiar los valores de la temperatura de Farenheit a grados centígrados y viceversa.
De Farenheit a Centígrados.

function F_a_C( $temperatura ) {
       return( ( 5/9 )*( $temperatura-32 ) );
}

De Centígrados a Farenheit

function C_a_F( $temperatura ) {
       return( ( 9/5 )*$temperatura+32 );
}

7
May 10

Saber si un año es bisiesto en php.

Un año es bisiesto cuando se producen unas determinadas condiciones implantadas hace unos siglos para ajustar el desfase que existe entre un año de 365 días y el año real que tiene casi un cuarto de día más. Con el calendario Juliano, a lo largo de los siglos, este desfase provocó hasta 3 años entre aquellos lugares donde se usaba el Juliano con respecto al nuevo Gregoriano. Por ejemplo, el azar hizo que la muerte de Shakespeare y Miguel de Cervantes coincidiera en fechas, a pesar de que murieron con 3 años de diferencia ya que Inglaterra y España llevaban diferente calendario.

Después de este “rollo” pseudo-histórico paso a poner una sencilla función que nos permite saber si un año es o no bisiesto.

Las condiciones que debe cumplir un año para ser bisiesto es que sea divisible por 4 y no sea divisible por 100, a excepción de los divisibles por 400 que si son bisiestos.

function es_bisiesto( $a ) {
   return( ( ( $a % 4 == 0 ) && ( $a % 100 != 0 ) || ( $a % 400 == 0 ) ) );
}

7
May 10

Función para conocer si una imagen es válida en php.

Esta sencilla función nos permitirá saber, gracias a las librerías GD, si una imagen es válida o no independientemente de su extensión, principalmente para evitar que un usuario suba un fichero de otro tipo bajo una extensión de imagen.

<?php
function is_image( $imagen ) {
    if( !getimagesize( $imagen ) ) {
        return( FALSE );
    } else {
        return( TRUE );
    }
}
?>

Su uso es sencillo :)

if( is_image( 'imagen.png' ) ) {
   echo( 'Es una imagen válida' );
} else {
   echo( 'No es una imagen válida' );
}

27
Abr 10

Sencilla función para hacer copia de seguridad de MySQL

He encontrado en fluidbyte una sencilla función para hacer backup de una base de datos MySQL.

function backupDatabase($file){
   $tables = array();
   $result = mysql_query('SHOW TABLES');
     while($row = mysql_fetch_row($result)){ $tables[] = $row[0]; }
     //cycle through
     $return = "";
     foreach($tables as $table){
     $result = mysql_query('SELECT * FROM '.$table);
     $num_fields = mysql_num_fields($result);
     $return.= 'DROP TABLE '.$table.';';
     $row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
     $return.= "\n\n".$row2[1].";\n\n";
     for ($i = 0; $i < $num_fields; $i++){
       while($row = mysql_fetch_row($result)){
       $return.= 'INSERT INTO '.$table.' VALUES(';
         for($j=0; $j<$num_fields; $j++){
         $row[$j] = addslashes($row[$j]);
         $row[$j] = ereg_replace("\n","\\n",$row[$j]);
         if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
           if ($j<($num_fields-1)) { $return.= ','; }
         }
       $return.= ");\n";
       }
     }
     $return.="\n\n\n";
     }
   //save file
   $handle = fopen($file,'w+');
   fwrite($handle,$return);
   fclose($handle);
}

Su uso es bien sencillo:

backupDatabase('/path_to_file/backup' . date('m-d-y') . '.sql');

26
Abr 10

Como detectar la IP del usuario de la página con PHP

Nos es muy útil, en muchas ocasiones, almacenar la ip del visitante, por ejemplo cuando queremos controlar los mensajes de spam para bloquearles, almacenar la ip para un tracking de afiliados o para infinidad de cosas.
Con esta pequeña función podemos obtenerla saltando los proxies.

function user_ip() {
   if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
     $ip=$_SERVER['HTTP_CLIENT_IP'];
   } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
     $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
   } else {
     $ip=$_SERVER['REMOTE_ADDR'];
   }
   return( $ip );
}