1.
¿Cómo puedo manipular los manuales comprimidos
mediante bz2 en Windows?
Si no cuenta con una herramienta de archivación que pueda
manejar archivos bz2,
descargue la herramienta de
línea de comandos de RedHat (por favor refiérase a
la inforamción presentada más adelante).
Si no desea usar una herramienta de línea de comandos,
puede probar herramientas gratuitas como Stuffit Expander, UltimateZip, 7-Zip, o Quick Zip. Si dispone de
herramientas como WinRAR o
Power Archiver, puede
descomprimir fácilmente archivos bz2 con ellas. Si usa
Total Commander (anteriormente Windows Commander), un
módulo adicional para ese programa se encuentra
disponible de forma gratuita desde el sitio de Total Commander.
La herramienta bzip2 de línea de comandos por Redhat:
Los usuarios de Win2k Sp2 deben obtener la versión
más reciente, 1.0.2, todos los demás usuarios de
Windows deben obtener la versión 1.00. Después de
la descarga, renombre el ejecutable a bzip2.exe. Para mayor
conveniencia, colóquelo en un directorio que sea parte de
sus rutas predeterminadas, p.ej. C:\Windows, en donde C
representa la unidad en donde se encuentra su instalación
de windows.
Nota: lang representa su lenguaje, y x el formato deseado, p.ej:
pdf. Para descomprimir el archivo php_manual_lang.x.bz2 siga
las siguientes instrucciones:
abra una ventana con el intérprete de
comandos
cambie de directorio hacia la carpeta en donde
almacenó el archivo php_manual_lang.x.bz2 descargado
invoque bzip2 -d php_manual_lang.x.bz2, extrayendo de este
modo php_manual_lang.x en la misma carpeta
En caso de que haya descargado el archivo
php_manual_lang.tar.bz2 con varios archivos html en su interior,
el procedimiento es el mismo. La única diferencia es que
recibe un archivo php_manual_lang.tar. Se conoce que el formato
tar es tratado por la mayoría de archivadores en Windows,
como por ejemplo WinZip.
2.
¿Qué significa un signo & al lado de un
argumento en la declaración de una función, como
p.ej. asort()?
Quiere decir que el argumento es pasado por referencia
y es probable que la función modifique el argumento de
acuerdo con la documentación. Sólo puede pasar
variables de este modo y no necesita pasarlas con el signo &
en la llamada de la función (tal cosa es considerada
obsoleta).
3.
¿Cómo manejo el parámetro
register_globals?
Para información sobre las implicaciones de seguridad de
register_globals, lea el capítulo de
seguridad sobre el Uso de
register_globals.
Es recomendable usar superglobales,
en lugar de depender en la activación de
register_globals.
Si se encuentra en un servidor compartido con
register_globals desactivado y necesita usar
aplicaciones antiguas, que requieren que esta opción
esté activada, o se encuentra en algún servidor de
hospedaje en donde esta característica está
habilitada, pero quisiera eliminar los riesgos de seguridad,
puede que necesite emular el valor opuesto en PHP. Siempre es
buena idea preguntar primero si es posible cambiar la
opción de alguna forma en la configuración de PHP,
pero si no es posible, entonces puede usar estos segmentos de
compatibilidad.
Ejemplo 77-1. Emulación de Register Globals
Esto emula el comportamiento de register_globals On.
<?php // Emular register_globals on if (!ini_get('register_globals')) { $superglobales = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET); if (isset($_SESSION)) { array_unshift($superglobales, $_SESSION); } foreach ($superglobales as $superglobal) { extract($superglobal, EXTR_SKIP); } } ?>
|
Esto emula register_globals Off.
<?php // Emular register_globals off if (ini_get('register_globals')) { $superglobales = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET); if (isset($_SESSION)) { array_unshift($superglobales, $_SESSION); } foreach ($superglobales as $superglobal) { foreach ($superglobal as $global => $valor) { unset($GLOBALS[$global]); } } } ?>
|
|