El post que buscas se encuentra eliminado, pero este también te puede interesar

10 Scripts en PHP super utiles

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

29 comentarios - 10 Scripts en PHP super utiles

@joajag_ -1
Justo termino de editar mi web y estaba viendo codigos feos como estos ! igual agrego a fav!
@Touth
Pregunta: ¿Cómo insertas las cajas de scripts en el post?
@Touth
Ya lo descubrí [code]
@lexshinobi
Buena info thanks, te dejo +10 points.
@RodriZ
gracias por el aporte
@gastondla35
no se me agrego el &quot;0&quot; xD
+10

salu2
@millonario90 +1
te puedo hacer una pregunta bien, pero BIEN ignorante? Este tipo de scripts son para php de programacion web o para programacion en general? o directamente son lo mismo? Gracias.
@Metal00
genialllllllll +10 para usted
@EcR0007
Mas 10 .. Gracias
@indaface
esteban22x dijo:
joajag_ dijo:Justo termino de editar mi web y estaba viendo codigos feos como estos ! igual agrego a fav!

gracias ? creo

jajajajajjajajaja el comentario del chabon!!! jajaja y la respuesta jajajajaj
@matman83
por ahora a favoritos nomás, graciela
@Lukkest
+5! Muy bueno, a favs
@millonario90
millonario90 dijo:te puedo hacer una pregunta bien, pero BIEN ignorante? Este tipo de scripts son para php de programacion web o para programacion en general? o directamente son lo mismo? Gracias.
@millonario90
esteban22x dijo:
millonario90 dijo:
millonario90 dijo:te puedo hacer una pregunta bien, pero BIEN ignorante? Este tipo de scripts son para php de programacion web o para programacion en general? o directamente son lo mismo? Gracias.

perdon por no responder xD , el lenguaje php hace conjunto con otros lenguajes para conformar la programacion web, como php, javascript, sql, asp , etc .. , pero la programacion general es un grupo de lenguajes que abarca cualquier tipo de programacion, no es lo mismo pero esta dentro del grupo


gracias por responder, entonces con php no se puede programar fuera de la web?
@millonario90
esteban22x dijo:
millonario90 dijo:
esteban22x dijo:
millonario90 dijo:
millonario90 dijo:te puedo hacer una pregunta bien, pero BIEN ignorante? Este tipo de scripts son para php de programacion web o para programacion en general? o directamente son lo mismo? Gracias.

perdon por no responder xD , el lenguaje php hace conjunto con otros lenguajes para conformar la programacion web, como php, javascript, sql, asp , etc .. , pero la programacion general es un grupo de lenguajes que abarca cualquier tipo de programacion, no es lo mismo pero esta dentro del grupo


gracias por responder, entonces con php no se puede programar fuera de la web?

si , si se puede pero se trabajaria como un lenguaje en consola de comandos o terminal


ah! joya, gracias!!!!
@maurirp
Muy bueno el post, pero....

El script de caché está mal, justo en la línea donde generas el nombre del script, generas un nombre con la fecha, por ende, si hay varios scripts diferentes los otros van a mostrar el contenido del que te genere el archivo hasta que nuevamente se vuelva a generar.
Deberías cambiar la línea

$cachefile = 'cached-files/'.date('M-d-Y').'.php';

por

$cachefile = 'cached-files/'.$_SERVER['SCRIPT_NAME'];

Saludos