lanota dijo:Post editado y mejorado para la version 5 de Taringa. Los usuarios con la version 5 se preguntaran, ¿pero que tiene de especial? , la simplicidad hace juego en la v5



Tener el script correcto en el momento adecuado puede ser un salvavidas para muchos desarrolladores. Hoy he compilado 10 scripts que espero puedan ser utiles en su evolucion como desarrolladores web.

Simple Sistema de Almacenamiento de Caché

Cuando tu proyecto web no esta basado en un CMS o en un framework, puede ser una buena idea implementar un sistema de almacenamiento de caché en tus paginas. El codigo es muy simple pero sirve para webs pequeñas.


<?php
    
// Define la ruta y nombre del archivo que se almacenara el cache
    
$cachefile 'cached-files/'.date('M-d-Y').'.php';
    
// define el tiempo que queremos esperar el archivo en segundos.Yo puse el mio en 5 horas.
    
$cachetime 18000;
    
// Revisa si el cache sigue fresco (activo). En el caso de que si lo incluye y sale
    
if (file_exists($cachefile) && time() - $cachetime filemtime($cachefile)) {
    include(
$cachefile);
        exit;
    }
    
// Si no hay archivo o es demasiado viejo. Renderiza la pagina y muestra el HTML
    
ob_start();
?>
    <html>
        todo tu html aca
    </html>
<?php
    
// Listo!. Guardamos el cache en un archivo
    
$fp fopen($cachefile'w');
    
fwrite($fpob_get_contents());
    
fclose($fp);
    
// finalmente se lo enviamos al navegador
    
ob_end_flush();
?>


Calcula Distancias en PHP

Aqui hay una funcion muy util que calcula distancias de un punto A a un punto B usando latitudes y longitudes. La funcion puede regresar distancias en millas, kilometros o millas nauticas



<?
function distance($lat1$lon1$lat2$lon2$unit) { 

  
$theta $lon1 $lon2;
  
$dist sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
  
$dist acos($dist);
  
$dist rad2deg($dist);
  
$miles $dist 60 1.1515;
  
$unit strtoupper($unit);

  if (
$unit == "K") {
    return (
$miles 1.609344);
  } else if (
$unit == "N") {
      return (
$miles 0.8684);
    } else {
        return 
$miles;
      }
}
?>


Forma de uso

 <? echo distance(32.9697, -96.8032229.46786, -98.53506"k")." kilometros"?>

Fuente


Convierte segundos a tiempo (años,meses,dias,horas...)

Util funcion que convertira segundos facilmente en años,meses,dias,horas y etc.


<?php


function Sec2Time($time){
  if(
is_numeric($time)){
    
$value = array(
      
"years" => 0"days" => 0"hours" => 0,
      
"minutes" => 0"seconds" => 0,
    );
    if(
$time >= 31556926){
      
$value["years"] = floor($time/31556926);
      
$time = ($time%31556926);
    }
    if(
$time >= 86400){
      
$value["days"] = floor($time/86400);
      
$time = ($time%86400);
    }
    if(
$time >= 3600){
      
$value["hours"] = floor($time/3600);
      
$time = ($time%3600);
    }
    if(
$time >= 60){
      
$value["minutes"] = floor($time/60);
      
$time = ($time%60);
    }
    
$value["seconds"] = floor($time);
    return (array) 
$value;
  }else{
    return (bool) 
FALSE;
  }
}

?>


Fuente


Forzar un archivo a descargar

Muchos formatos como el mp3, se reproducen directamente a traves del navegador, pero si prefieres que sean descargados directamente, el siguiente script te facilitara mucho el trabajo


<?
function downloadFile($file){
        
$file_name $file;
        
$mime 'application/force-download';
    
header('Pragma: public');     // required
    
header('Expires: 0');        // no cache
    
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    
header('Cache-Control: private',false);
    
header('Content-Type: '.$mime);
    
header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
    
header('Content-Transfer-Encoding: binary');
    
header('Connection: close');
    
readfile($file_name);        // push it out
    
exit();
}
?>


Fuente


Obtener el clima actual con el API de google

Quieres saber el clima de hoy? Este script te lo hara saber, en tan solo 3 lineas de codigo, lo unico que tienes que hacer es cambiar DIRECCION por la direccion deseada


<?
$xml 
simplexml_load_file('http://www.google.com/ig/api?weather=DIRECCION');
  
$information $xml->xpath("/xml_api_reply/weather/current_conditions/condition");
  echo 
$information[0]->attributes();
?>


Fuente



whois basico con PHP

Whois es un servicio muy util para saber informacion basica acerca de un dominio: nombre del propietario,fecha de creacion, etc. Usando php y el comando whois de unix es muy facil hacer un script basico de whois en PHP. Por favor note que el comando whois debe estar instalado en el servidor antes de usarlo


<?
$domains 
= array('home.pl''w3c.org');

function 
creation_date($domain) {
    
$lines explode("n", `whois $domain`);
    foreach(
$lines as $line) {
        if(
strpos(strtolower($line), 'created') !== false) {
            return 
$line;
        }
    }

    return 
false;
}

foreach(
$domains as $d) {
    echo 
creation_date($d) . "n";
}

?>

Fuente


Obtener Latitud y Longitud de Una Direccion


Con la popularidad del API de google maps,los desarrolladores a menudo necesitaran saber sobre la longitud y latitud de determinado lugar. Esta util funcion tomara una direccion como parametro y devolvera en un array ambos datos: Longitud y latitud.



<?
function getLatLong($address){
    if (!
is_string($address))die("Todas las direcciones se validaran como srtings");
    
$_url sprintf('http://maps.google.com/maps?output=js&q=%s',rawurlencode($address));
    
$_result false;
    if(
$_result file_get_contents($_url)) {
        if(
strpos($_result,'errortips') > || strpos($_result,'Did you mean:') !== false) return false;
        
preg_match('!center:s*{lat:s*(-?d+.d+),lng:s*(-?d+.d+)}!U'$_result$_match);
        
$_coords['lat'] = $_match[1];
        
$_coords['long'] = $_match[2];
    }
    return 
$_coords;
}

?>


Fuente


Obtener el dominio del FavIcon usando PHP y Google



En estos dias muchos websites o WebApps estan robando favicons de otras webs. Mostrar un favicon en tu sitio es muy facil con php y ayuda de Google



<?
function get_favicon($url){
  
$url str_replace("http://",'',$url);
  return 
"http://www.google.com/s2/favicons?domain=".$url;
}
?>

Fuente



Acortando URL's usando bit.ly


Esta es una util funcion en php que te ayudara a acortar URL's con la ayuda del API de bit.ly , con tu apikey y tu nombre de usuario simplemente tendras acceso a este servicio


<?
function bitly($url) {
    
$content file_get_contents("http://api.bit.ly/v3/shorten?login=TUUSER&apiKey=TUAPIKEY&longUrl=".$url."&format=xml");
    
$element = new SimpleXmlElement($content);
    
$bitly $element->data->url;
    if(
$bitly){
        return 
$bitly;
    } else {
        return 
'0';
    }
}
?>


Forma de Uso:

<? echo bitly("http://www.taringa.net"); ?>

Fuente