Apunte etiquetado PHP

PHP 5.2.13 anuncia su lanzamiento

PHP 5.2.13El equipo de desarrollo de PHP se complace en anunciar la disponibilidad inmediata de PHP 5.2.13. Este lanzamiento se centra en mejorar la estabilidad de la rama 5.2.x PHP con más de 40 correcciones de errores, algunos de los cuales están relacionados con la seguridad.

Todos los usuarios de PHP 5.2, se recomienda que actualice a esta nueva versión.

Además se encuentra disponible el registro de todos los cambios y mejoras realizado.

Vía: php.net

Posición en Alexa mediante PHP

El ranking de Alexa es uno de los más utilizado a la hora de vender publicidad. Dispone de un API que permite obtener el ranking de una web, por lo que podemos hacer una llamada y obtener los datos para poder mostrarlos en nuestra web.

class AlexaRank {
  public function getRequestUri($domain) {
    return 'http://data.alexa.com/data?cli=10&dat=s&url=' . $domain;
  }
 
  public function parse( $httpResponse ) {
    preg_match( '#<popularity url="(.*?)" text="([0-9]+){1,}">#si', $httpResponse, $p );
    $res = ( $p[2] ) ? number_format( intval($p[2]) ):0;
    return str_replace(',', '', $res);
  }
}

Vía: Php Class to Retrieve Alexa Rank

Visualizador de PDFs mediante shortcode

Si quieres aprovechar el visualizador de Google Docs, y cargar tus propios PDF, alojados en tu servidor, sin tener que subirlos a Google Docs, puedes hacerlo creando un shortcode que use esta funcionalidad.

Para ello solo tienes que hacer lo siguiente:

  • Añade este código al archivo functions.php de tu tema activo:
          function pdflink($attr, $content) {
              return '<a class="pdf" href="http://docs.google.com/viewer?url=' . $attr['href'] . '">'.$content.'</a>';
          }
          add_shortcode('pdf', 'pdflink');
  • Usa el shortcode recién creado para cargar tus pdf de este modo:
    [pdf href="http://tusitio.com/documentos/midocumento.pdf"]Enlace directo al PDF[/pdf]

Filtrar etiquetas HTML

Para filtrar las etiquetas html, se puede emplear la función str_replace.

Cuando el usuario introduzca < o >, estas se convierten a sus respectivos html: &lt;  y  &gt;.

Ejemplo:

<?php
  function filtro( $texto ){
     $html = array("<", ">");
     $filtrado = array("&lt;", "&gt;");
     $final = str_replace($html, $filtrado, $texto);
     return $final;
  }
?>

Alternativa: Funciones de cadena en PHP: strip_tags

WordPress: Cómo eliminar el “privado” y “protegido” del título de la entrada

Cada vez que se define una entrada específica sea como privada o protegida por contraseña, WordPress agrega automáticamente “privado” o “protegida” al título de la entrada. Para eliminarlo, solo debe agregar el siguiente código al archivo functions.php:

function the_title_trim($title) {
	$title = attribute_escape($title);
	$findthese = array(
		'#Protected:#',
		'#Private:#'
	);
	$replacewith = array(
		'', // What to replace "Protected:" with
		'' // What to replace "Private:" with
	);
	$title = preg_replace($findthese, $replacewith, $title);
	return $title;
}
add_filter('the_title', 'the_title_trim');

Fuente: wprecipes

Funciones de cadena en PHP

Estás son algunas funciones de string que son poco comunes para los que comienzan en PHP.
Leer más »

CodeIgniter: mod_rewrite

Uno de los principales inconvenientes de CodeIgniter es, en parte, visual en la dirección URL. Solemos tener nuestros programas con http://localhost/index.php/controlador/funcion y seguramente quedaría mucho mejor algo tipo: http://localhost/controlador/funcion, ¿verdad? Pues bien, para hacer esto necesitaremos usar Apache y el modulo mod_rewrite.
Leer más »

Remover directorios (RMDIR) recursivamente con PHP

function rmdir_recurse($path) {
	$path = rtrim($path, '/').'/';
	$handle = opendir($path);
	while(false !== ($file = readdir($handle))) {
		if($file != '.' and $file != '..' ) {
			$fullpath = $path.$file;
			if(is_dir($fullpath))
                          rmdir_recurse($fullpath); else unlink($fullpath);
		}
	}
	closedir($handle);
	rmdir($path);
}

Tutorial sobre Facebook Connect

Facebook Connect es una API de FB que nos permite usar nuestra cuenta de FB en otras web.

El tutorial nos mostrará los siguientes puntos:

  1. Crear una aplicación en Facebook
  2. Copiar en tu sitio el fichero xd_receiver.htm
  3. Descargar la API PHP de FB en tu web
  4. Modificar tu tabla de usuarios
  5. Crear una página para loguearse con Facebook Connect
  6. Enlazar a fbclogin.php desde tu login
  7. Otros puntos a seguir

Barattalo | Facebook Connect Tutorial

Redimensionar imágenes

Agregar el siguiente código al archivo functions.php de tú theme.

function replace_uploaded_image($image_data) {
    // if there is no large image : return
    if (!isset($image_data['sizes']['large'])) return $image_data;
 
    // paths to the uploaded image and the large image
    $upload_dir = wp_upload_dir();
    $uploaded_image_location = $upload_dir['basedir'] . '/' .$image_data['file'];
    $large_image_location = $upload_dir['path'] . '/'.$image_data['sizes']['large']['file'];
 
    // delete the uploaded image
    unlink($uploaded_image_location);
 
    // rename the large image
    rename($large_image_location,$uploaded_image_location);
 
    // update image metadata and return them
    $image_data['width'] = $image_data['sizes']['large']['width'];
    $image_data['height'] = $image_data['sizes']['large']['height'];
    unset($image_data['sizes']['large']);
 
    return $image_data;
}
add_filter('wp_generate_attachment_metadata','replace_uploaded_image');