Interesante librería que hace uso de Google Translator para traducir un texto en un idioma a otro. Aunque el API de Google está solo en Java o Javascript, el autor de la librería ha creado un wrapper para que esté disponible desde PHP.
require_once('googleTranslate.class.php');
/* Initialize the class translate class */
$gt = new GoogleTranslateWrapper();
$sampleText = "Bonjour de cette partie du monde";
/* translate(string, to_language, from_language) */
echo $gt->translate($sampleText , "en", "fr");
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.
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
Según la Ley del MÃnimo Esfuerzo, no hagas lo que ya han hecho otros, y en este caso, si estás interesado en manipulación de imágenes mediante PHP, te puede interesar esta lista de librerÃas o scripts para la manipulación de imagenes mediante PHP.
Algo que normalmente es interesante hacer y que nos da muchos problemas es leer una página web desde un script PHP y que la página tenga autenticación.
La solución es sencilla, pero es necesario el uso de CURL:
Existen bastantes ocasiones en los que el envÃo de información mediante XML es necesario, por ejemplo web services. Normalmente los datos que necesitamos enviar están almacenados en la base de datos, si necesitamos enviar esos datos en formato XML, normalmente solemos recuperar los datos en formato normal y luego transformarlo a XML mediante nuestro lenguaje de programación (por ejemplo PHP).
En este caso, mediante MySQL y los procedimientos almacenados, podemos crear una consulta que devuelva cada registro en formato XML, aunque habrá que incluirlo entre una etiqueta padre y añadirlo la cabecera XML (<?xml version …).
Las funciones que nos ofrece el autor son tres: xml_escape para remplazar caracteres no permitidos en un XML, xml_attr para crear un atributo XML y xml_tag para crear una etiqueta XML. XML output from MySql