PHP Web Stat es una aplicación web que puedes instalar en tu servidor para poder visualizar las estadísticas de tus páginas en tiempo real.
No necesita conexión a una base de datos, dispone de una consola de administración sencilla, tiene protección por contraseña, se instala fácilmente y está disponible en varios idiomas.
Y entre las funcionalidades que ofrece nos encontramos con informes sobre las visitas totales, diarias, del día de ayer, por meses, medias, impresiones, por sistema operativo, navegador, resolucion, URLs visitadas, motores de búsqueda o países. PHP Web Stat
Vía / SmashingApps
Interesante artÃculo sobre como cachear nuestras páginas cuando usan la base de datos para almacenar la información. Usar la BD para guardar los datos es bastante útil cuando se quiere modificar la página con facilidad o cuando se quieren usar plantillas.
El caso es que estas páginas no suelen modificarse con frecuencia, por lo que al acceder a ella, se accede a la BD para obtener los mismos datos, generar la página web y mostrarla, cosa que se ha hecho anteriormente. Por eso, este script propone guardar la página en un directorio y acceder a ella cuando el tiempo de creación y el actual no supera un cierto valor.
Para realizar este script, el auto usa las funciones de control de salida que ofrece PHP. Un script fácil de entender y que nos puede ser muy útil. PhP Caching
VÃa / Dzone
Sugar es un sistema de plantillas basado en Smarty que aporta un motor flexible y potente que permite realizar expresiones similares a las de PHP. Además es sencillo de entender y limpio.
La seguridad es algo importante para PHP-Sugar, por ejemplo, la salida se escapa a HTML por defecto, en vez de esperar una petición explicita para ello, evitando asà inyección de código HTML o Javascript por el usuario.
Entre las diferencias con Smarty nos encontramos con la felixibilidad, la facilida de uso, la prohibición de acceso a funciones PHP y la extensibilidad. PHP-Sugar
Google App Engine es un hosting gratuito de aplicaciones con 500MB de almacenamitno y bando de ancha para 5 millones de páginas vistas, pero centrado en Java. Aquellos que deseen ejecutar sus aplicaciones PHP en GAE deberán hacerlo mediante Quercus, una implementación Java de PHP.
El el post que referencio explican paso a paso qué hacer para poder ejecutar nuestras aplicaciones PHP en GAE. Run PHP on the Google App Engine
phpRemoteShell es una aplicación que permite ejecutar comandos de shell y código PHP en un host remoto sobre HTTP.
Además permite encriptarse y desencriptarse en la petición, PRS se puede alojar a sà mismo en en otro script PHP del servidor para poder restablecerse durante el tiempo de ejecución. Ademas permite modificar el crontab entre otras cosas. phpRemoteShell
VÃa / International PHP Magazine
Para mí, uno de los mayores fracasos de Twitter es su API, una limitación de su uso increíble para algo que le podría dar mucho juego a la aplicación. Ahora mismo no sé en cuánto está el límite, pero la posibilidad de realizar una aplicación basada en Twitter es una pesadilla.
Para aquellos que no quieran sufrir lo que hemos sufrido con TwitterPoster (los espacios en blanco es porque la gente actualiza su imagen y no podemos recuperar la de todos los usuarios por el límite en el API de Twitter), les recomiendo usar Twitter mediante CURL.
Os paso un script sencillito que he realizado:
<?php
// Primer hacemos login
$url ="https://twitter.com/sessions";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
// Por si tienen limitación por navegador
curl_setopt($ch, curlOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
// Poned una ruta para las cookies
curl_setopt ($ch, CURLOPT_COOKIEJAR, '/temp/');
curl_setopt ($ch, CURLOPT_COOKIEFILE, '/temp/');
curl_setopt ($ch, CURLOPT_POSTFIELDS, "username_or_email=[usuario]&password=[contraseña]");
// Para que funcione el https
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, curlOPT_SSL_VERIFYHOST, 2);
curl_exec ($ch);
// Cargamos el home, porque Twitter añade dos campos ocultos para poder publicar por web
$url ="http://twitter.com/home";
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec ($ch);
// Recuperamos los campos ocultos
preg_match('//', $result, $match);
$authenticity_token = $match[1];
preg_match('//', $result, $match);
$siv = $match[1];
// Insertamos el texto
$res = $url ="http://twitter.com/status/update";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'siv='.$siv.'&authenticity_token='.$auth.'&status=[texto]');
curl_exec ($ch);
curl_close ($ch);
unset($ch);
?>
¿Qué fallo tiene este script? pues que si cambian el HTML (campos de formulario, …) o las URLs deja de funcionar, pero al menos no tenemos limitaciones. Eso sí, es más costoso para sus servidores y para los nuestros, porque en vez de hacer una llamada, hacemos 3, y en nuestro caso, a parte parseamos una página para obtener dos campos ocultos.