Lessn: script para acortar URLs
Lessn es un script en PHP5 y MySQL que permite realizar un acortador de URLs al estilo micurl o parecidos.
Lessn
Vía / Script & Style
Lessn es un script en PHP5 y MySQL que permite realizar un acortador de URLs al estilo micurl o parecidos.
Lessn
Vía / Script & Style
Zmanda Recovery Manager es una aplicación que nos permite realizar copias de seguridad de MySQL de forma sencilla.
Mediante ZRM podrás:
Si estamos interesados en trabajar con la API de Yahoo! y así poder acceder a YAP, YQL o Yahoo! Social.
Su uso es muy sencillo:
$session = YahooSession::requireSession(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, OAUTH_APP_ID);
$user = $session->getSessionedUser();
var_dump($user->getProfile());
var_dump($user->getContacts());
$contact_fields = array();
$contact_fields[] = array('type' => 'email', 'value' => 'me@domain.com');
$contact_fields[] = array('type' => 'name', 'value' => array('givenName'=> 'John', 'familyName' => 'Doe'));
$contact = array('fields' => $contact_fields);
var_dump($user->addContact($contact));
Una cosa interesante que tiene es que permite almacenar la sesión en fichero, cookies o memcached
Cuando usamos Ajax en nuestras aplicaciones solemos usar un script especÃfico que devuelva los datos preparados para que el cliente los interprete y los muestre.
En algunas ocasiones no suele ser de nuestro agrado que usuarios accedan directamente a las URLs empleadas para Ajax.
Para evitar esta situación se puede usar un script sencillo. Se tomará en cuenta el valor de la variable de entorno HTTP_REFERER, la cual nos devuelve desde qué página se accede a nuestro script.
$ref = getenv('HTTP_REFERER');
Si el contenido de esta variable es false entonces es que se ha accedido directamente desde el navegador, si no, es que se accede desde una página, también habrá que comprobar que la página es la que nosotros queremos.
<?php
$ref = getenv('HTTP_REFERER');
if (!$ref || $ref != '[nuestra url]') {
?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"xhtml1-transitional.dtd">
<html>
<head>
<title>Sentido Web - Redireccionamiento Ajax</title>
</head>
<body>
<h1>Sentido Web - Redireccionamiento Ajax</h1>
<p><?php echo "Hola, son las ".date("H:i:s"); ?></p>
</body>
</html>
<?php
} else {
echo "Hola, son las ".date("H:i:s");
}
?>
En este caso mostraremos una página cuando no haya referer o no sea el que nosotros esperamos. También se podrÃa hacer para que el referer estuviera en el servidor, pero eso lo dejo para que lo haga el que lo necesita.
Una funcionalidad parecida se podrÃa usar por temas de accesibilidad, dependiendo de un parámetro que indique si se trata de una llamada Ajax o no, se devuelva la información para el script del cliente o se muestre la información en una página.
<a href="url-ajax.php" onclick="ajax('url-ajax.php?ajax=1')">Enlace</a>
En el caso de haber problemas de accesibilidad, el enlace accede a la página con la información. En caso contrario, ejecuta la funciona ajax(), indicándole que se trata de una llamada Ajax para que nos devuelva la información formateada, ya sea en XML o JSON o como queramos.
Un buen y sencillo ejemplo de cómo crear miniaturas de imágenes (thumbnails) con sombra y borde redondeado usando Imagick. No olvidar que siempre hay que tener en cuenta que la manipulación de imágenes es algo costoso en rendimiento, y más si usamos Imagick en vez de gd, sÃ, permite más funcionalidades pero es más pesado.
El resultado serÃa el siguiente:
<?php
// Parsear la imagen
$im = new Imagick( 'imagen.png' );
// Redimensionar la imagen
$im->thumbnailImage( 200, null );
// Esquinas redondeadas
$im->roundCorners( 5, 5 );
// Clonamos el objeto actual
$shadow = $im->clone();
// Cambiamos el color de la imagen a negro (color de la sombra)
$shadow->setImageBackgroundColor( new ImagickPixel( 'black' ) );
// Creamos la sombra
$shadow->shadowImage( 80, 3, 5, 5 );
// Superponemos la original sobre la sombra
$shadow->compositeImage( $im, Imagick::COMPOSITE_OVER, 0, 0 );
// Mostramos la imagen
header( "Content-Type: image/png" );
echo $shadow;
?>
ExtSQL es una serie de modificaciones y parches realizados sobre MySQL y PostgresSQL que permiten realizar monitorizaciones e informes sobre el estado de la base de datos, del servidor, la actividad de los usuarios. Las consultas se realizan mediante queries SQL, las cuales quieren que se añadan al estándar SQL. Actualmente, la mayor parte del trabajo se ha realizado en MySQL, ya que están a la espera de la respuesta de la comunidad de PostgreSQL.
Por ejemplo, para saber el número de selects e inserts realizados por todos los usuarios desde que el servidor arrancó, sería así:
SHOW STATISTICS Com_select, Com_insert, Questions FROM user;
Dando el siguiente resultado:
+----------+-------------+------------+------------+ | user | Com_select | Com_insert | Questions | +----------+-------------+------------+------------+ | bandala | 8302675 | 95973 | 23153940 | | sandymao | 1702812 | 6205 | 3829023 | | ponnetli | 24909 | 4784 | 95646 |
Vía / VivaLinux
Gracias David por el aviso
Interesante librería que nos permite extraer textos de ficheros PDF, ignora todo aquello que no esté como texto en una capa y soporta ASCIIHexDecode, ASCII85Decode, FlateDecode:
include('class.pdf2text.php');
$a = new PDF2Text();
$a->setFilename('test.pdf');
$a->decodePDF();
echo $a->output();
Comments are closed.
Voy a parecer la mosca cojonera del blog, pero aún asÃ:
Se ha estado hablando mucho de los acortadores de URLs. No son buenos.
-aportan un nuevo punto de fallo
-ocultan la dirección final (no sé donde me estoy dirigiendo, podrÃa ser un sitio con fama de contener virus y otro software dañino)
en caso de que se den de baja ( http://tr.im ) lo intentó hace poco y armó una buena en la blogosfera obligándoles a rectificar
-resulta innecesario su uso en la mayorÃa de ocasiones y, como se indica en varios sitios, lo correcto es una de las siguientes dos opciones:
1) que cada sitio se gestione sus propias URLs cortas de forma que si el sitio se da de baja también se pierden las URLs cortas, pero al menos ya depende de un punto de fallo (la página en la que se publican).
2) que los sitios más importantes empiecen a ofrecer el servicio de URLs cortas como permalinks a los artÃculos. Si el script publicado aquà tiene esa finalidad, perfecto, ese serÃa el camino a seguir.
Estoy de acuerdo con alsanan, y añado otro argumento: el rendimiento. Una redirección extra significa más tiempo de espera y mayor carga para las conexiones y servidores. De hecho, la existencia de los acortadores sólo tiene sentido por cosas como Twitter –lo cual me parece una estupidez porque bien podÃa Twitter permitir poner enlaces sin ser necesario poner la URL en el texto del mensaje–, y de hecho yo ya he visto ejemplos donde se utilizan acortadores para ocultar el verdadero destino del enlace (publicitario).
No obstante, si se van a usar acortadores de URL, mejor que sean scripts conocidos y libres como el que presenta el post.
Un saludo.