Advertisement
vcgs

Descarga Gravatar de Comentaristas de Wordpress

Jan 27th, 2016
440
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.90 KB | None | 0 0
  1. <?php
  2. // ** Configuracion de MySQL ** //
  3. define('DB_NAME', '--NOMBRE-BASE-DATOS--');     // el nombre de la base de datos
  4. define('DB_USER', '--USUARIO-BASE-DATOS--');     // tu nombre de usuario de MySQL
  5. define('DB_PASSWORD', '--PASSWORD-BASE-DATOS--'); // ...y tu contraseña
  6. define('DB_HOST', '--HOST-BASE-DATOS--');     // hay un 99% de probabilidades de que no necesites
  7.  
  8. // Creamos un objeto de acceso a la base de datos
  9. $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
  10.  
  11. /* check connection */
  12. if (mysqli_connect_errno()) {
  13.     printf("Connect failed: %s\n", mysqli_connect_error());
  14.     exit();
  15. }
  16.  
  17. // Obtener la lista única de comentaristas del blog
  18. $query = "SELECT DISTINCT comment_author, comment_author_email FROM `wp_comments` where comment_approved = 1 AND comment_author_email != ''";
  19. $result = $mysqli->query($query);
  20. $img = 0;
  21. // Para cada comentarista
  22. while($row = $result->fetch_array())
  23. {
  24.     // Montar la URL de Gravatar
  25.     $email = $row['comment_author_email'];
  26.     $size = 500;
  27.     $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?s=" . $size.'&d=404';
  28.     echo $grav_url."--";
  29.     $ch = curl_init($grav_url);
  30.     curl_setopt($ch, CURLOPT_NOBODY, true);
  31.     $data = curl_exec($ch);
  32.     $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  33.     // Si tiene imagen (no devuelve 404)
  34.     if ($httpCode != 404) {
  35.         // Obtener la imagen y gardarla en un archivo local imgXX.jpg
  36.         //    en la misma carpeta que el script.
  37.         curl_close($ch);
  38.         $ch = curl_init($grav_url);
  39.         $fp = fopen('img'.$img.'.jpg', 'wb');
  40.         curl_setopt($ch, CURLOPT_FILE, $fp);
  41.         curl_setopt($ch, CURLOPT_HEADER, 0);
  42.         curl_exec($ch);
  43.         curl_close($ch);
  44.         fclose($fp);
  45.         $img++;
  46.         // Espera unas milésimas de segundo para no saturar el servidor
  47.         usleep(100000);
  48.     } else { curl_close($ch); }
  49. }
  50.  
  51. /* free result set */
  52. $result->close();
  53.  
  54. /* close connection */
  55. $mysqli->close();
  56.  
  57. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement