Hola y bienvenido Rober,
Es posible obtener información de las estadísticas de tu sitio a través de php. Para cPanel, las estadísticas como bien has comentado se administran con webanalizaer y analog. Normalmente estas estadísticas son alojadas en el propio directorio del usuario (en un directorio privado) que suele ser:
~/tmp/webalizer
Es decir, /home/tuusuarioquijost/tmp/webanalizer.
Por lo tanto, sólo necesitas programar un script php que lea, procese y analice dichos datos para mostrarlos en el lugar y la forma que desees.
Para facilitarte la tarea, te proponemos el siguiente script rápido (aunque es básico y podrías mejorarlo aún mas) que muestra los archivos de webanalizer tanto si son .png o .html:
<?php$user = 'nombreusuario'; # usuario de cpanel quijost$pass = 'contraseña'; # contraseña de cpanel quijost$url = 'tudominio.com o tudominio.quijost.com'; # no incluir 'http://'# Obtener los archivos de webalizer, .html o .pngfunction getFile($file) { global $user, $pass, $url; return file_get_contents('http://' . $user . ':' . $pass . '@' . $url . ':2082/tmp/' . $user . '/webalizer/' . $file);}# Alterar y corregir los enlaces para .html y .pngfunction changeLinks($subject, $type) { return preg_replace("/($type=")(?!http)(.*?)"/is","$1$PHP_SELF?$2", $subject);}if(!empty($_SERVER['QUERY_STRING'])) { # Obtener el archivo si es .png o .html $page = getFile($_SERVER['QUERY_STRING']); #Si es png, alterar el encabezado if(strpos($_SERVER['QUERY_STRING'],'.png') !== false) header("Content-type: image/png"); # Cambiar el src de los .png else $page = changeLinks($page, 'src');}else { $page = getFile('index.html'); # Obtener el index $page = changeLinks($page, 'href'); # Cambiar enlaces $page = changeLinks($page, 'src'); # Cambiar el src de .png}# Mostrar los datosecho $page;
Hola de nuevo,
Navegando por ahí, encontré la solución...y parece que funciona. La solución es usar las librerías curl de PHP. Aquí pongo un código de ejemplo para leer una url (equivalente al function getFile($file)):
<?php$ch = curl_init();$timeout = 5; // set to zero for no timeoutcurl_setopt ($ch, CURLOPT_URL, 'http://example.com');curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);$file_contents = curl_exec($ch);curl_close($ch);// display fileecho $file_contents;?>
Os dejo el enlace ****** donde podéis obtener más informaición.
Saludos y gracias por todo.
Editado: no permitimos vincular a competencia de terceros. De todas formas el mejor enlace de curl de php es la propia documentación de php http://php.net/manual/es/book.curl.php