Inicio PHP JavaScript Manual PHP Links de interes Contacto
Scripts en PHP Programación PHP, lenguaje del lado del servidor.
Scripts PHP - Funciones Funciones  Scripts PHP - Ip´s Ip´s  Scripts PHP - Otros Otros  
Scripts en JavaScript Programación JavaScript, lenguaje del lado del cliente.
Scripts JS - Barra de estado Barra de estado  Scripts JS - Calculadoras Calculadoras  Scripts JS - Efectos Efectos  Scripts JS - Relojes/Calendarios Relojes/Calendarios  
  Manual PHP     Manual PHP  
function.dl -- http://www.mundoscript.com/php/function.dl.html dl

dl

(PHP 3, PHP 4 , PHP 5)

dl -- Carga una extensión PHP en tiempo de ejecución

Descripción

int dl ( string biblioteca)

Carga la extensión PHP dada por el parámetro biblioteca. El parámetro biblioteca es únicamente el nombre de archivo de la extensión a cargar, el cual también depende de su plataforma. Por ejemplo, la extensión sockets (si fue compilada como módulo, ¡que no es el comportamiento predeterminado!) podría llamarse sockets.so en plataformas Unix, mientras que se llama php_sockets.dll en la plataforma windows.

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo. Si la funcionalidad de carga de módulos no está disponible (ver Nota) o ha sido deshabilitada (ya sea mediante la desactivación de enable_dl o activando safe mode en php.ini) un E_ERROR es producido y se detiene la ejecución. Si dl() falla porque la biblioteca especificada no pudo ser cargada, se emite un mensaje E_WARNING en compañía del FALSE.

Use extension_loaded() para probar si una cierta extensión ya se encuentra disponible o no. Esto funciona tanto con extensiones integradas como con las cargadas dinámicamente (ya sea mediante php.ini o dl()).

Ejemplo 1. Ejemplos de dl()

<?php
// Ejemplo de carga de una extension en base al SO
if (!extension_loaded('sqlite')) {
    if (
strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
        
dl('php_sqlite.dll');
    } else {
        
dl('sqlite.so');
    }
}

// O, usando la constante PHP_SHLIB_SUFFIX que esta disponible a
// partir de PHP 4.3.0
if (!extension_loaded('sqlite')) {
    
$prefijo = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : '';
    
dl($prefijo . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>

El directorio desde donde es cargada la extensión depende de su plataforma:

Windows - Si no está definida explícitamente en php.ini, la extensión es cargada desde c:\php4\extensions\ por defecto.

Unix - Si no está definida explícitamente en php.ini, el directorio de extensiones predeterminado depende de

  • si PHP ha sido compilado con --enable-debug o no

  • si PHP ha sido compilado con soporte ZTS (Zend Thread Safety) (experimental) o no

  • el valor interno ZEND_MODULE_API_NO actual (número interno de API de módulo Zend, el cual es básicamente la fecha en la que ocurrié un cambio significativo en la API de módulo, p.ej. 20010901)

Tomando en cuenta lo anterior, el directorio recibe el valor predeterminado de <dir-instalacion>/lib/php/extensions/ <debug-o-no>-<zts-o-no>-ZEND_MODULE_API_NO, p.ej. /usr/local/php/lib/php/extensions/debug-non-zts-20010901 o /usr/local/php/lib/php/extensions/no-debug-zts-20010901.

Nota: La función dl() no es soportada en servidores Web multi-hilos. Use la sentencia extensions en su php.ini cuando trabaje sobre ese tipo de entornos. Sin embargo, ¡las versiones CGI y CLI no son afectadas!

Nota: dl() es sensible a mayúsculas y minúsculas en plataformas Unix.

Nota: Esta función no está habilitada en safe-mode (modo-seguro)

Vea también Directivas de Carga de Extensión y extension_loaded().

Web´s ORO

Comparativas

peliculas - musica - trucos
telefonos moviles
directorio de programacion
Web´s PLATA

logiciel gratuit
programas para bajar
ocio y entretenimiento
eliminar virus