Tratar datos binarios en PHP
Método sencillo para leer cabeceras binarias de imágenes GIF o JPEG u otros ficheros guardados en binario…
Método sencillo para leer cabeceras binarias de imágenes GIF o JPEG u otros ficheros guardados en binario…
Porque no todo el NOSQL es Cassandra, es importante tener a mano cualquier librería que podamos usar en el caso de trabajar con NOSQL. Rediska es una librería que permite trabajar con Redis, la cual tiene las siguientes características:
Uno de los problemas a los que nos enfrentamos al desarrollar en responsive es que en local es difícil acceder a nuestro localhost desde móviles y tablets. Aunque con unos sencillos pasos podremos acceder sin problemas.
Primero tendremos que modificar nuestro vhosts de Apache para que acepte peticiones desde la red, añadiendo lo siguiente:
<VirtualHost [IP de nuestro ordenador en la red]>
ServerAdmin [IP de nuestro ordenador en la red]
DocumentRoot "[path a nuestro WP]"
ServerName [IP de nuestro ordenador en la red]
LogLevel debug
ErrorLog "logs/wordpress-error.log"
CustomLog "logs/wordpress-access.log" combined
</VirtualHost>
A continuación tenemos que modificar el wp-config.php para decirle el WP_SITEURL y el WP_HOME que variará si se accede desde nuestro ordenador o desde un móvil o tablet.
// Hay que ver si la IP desde la que accedemos es del rango de nuestra red que normalmente suele ser 192.168.1.x
if(preg_match('#^192\.168\.1\.\d+#', $_SERVER['HTTP_HOST'])) {
define('WP_HOME', 'http://'.$_SERVER['HTTP_HOST'].'/');
define('WP_SITEURL', 'http://'.$_SERVER['HTTP_HOST'].'/');
}
Y ya por último nos creamos un plugin que sustituirá toda referencia a la URL de local por la correspondiente que se encuentre en el contenido de los posts y que activaremos cuando trabajemos en local, o bien lo metemos en el functions.php, pero esto sería guarrear el código:
if(preg_match('#^192\.168\.1\.\d+#', $_SERVER['REMOTE_ADDR'])) {
function replace_domain($buffer) {
// modify buffer here, and then return the updated code
return str_replace('http://localhost/', 'http://'.$_SERVER['HTTP_HOST'].'/', $buffer);
}
function buffer_start() { ob_start("replace_domain"); }
function buffer_end() { ob_end_flush(); }
add_action('wp', 'buffer_start');
add_action('wp_footer', 'buffer_end');
}
Tienes el plugin disponible en mi repositorio de GitHub
Interesante script que te ayudará si no quieres que la gente acceda directamente a tus ficheros para bajárselos. Para ello lo que hará será recoger un parámetro con el fichero que se quiere bajar, añadirle el path donde se encuentra y mediante la cabecera de la respuesta (header) devolver el fichero.
<?
$dir="/path/directorio/";
if (isset($_REQUEST["fichero"])) {
$fichero=$dir.$_REQUEST["fichero"];
header("Content-type: application/force-download");
header("Content-Transfer-Encoding: Binary");
header("Content-length: ".filesize($fichero));
header("Content-disposition: attachment; filename=\"".basename($fichero)."\"");
readfile("$fichero");
} else {
echo "Fichero seleccionado";
}
?>
Si avanzáis en el artÃculo, veréis un caso más práctico con la base de datos.
VÃa / Good PHP Tutorials