Weblog de Javier Arias

Cómo obtener la carpeta temporal del sistema en PHP

Posted by javi en 19 \19\UTC febrero 19UTC 2009

Para obtener el path de la carpeta temporal del sistema se puede mirar a dónde apunta la variable de entorno TEMP (o TMP):

< ?
echo $_ENV&#91;'TEMP'&#93;;
// o echo $_ENV&#91;'TMP'&#93;;
?>

Es una buena opción que funciona en la inmensa mayoría de sistemas; pero la «inmensa mayoría de sistemas» no son «todos los sistemas», debido a que no todos los sistemas tienen una variable TEMP. La solución que he ingeniado, que creo que es más compatible, consiste en utilizar la función tempnam, que sirve para crear un fichero con nombre único (útil para crear ficheros temporales). Sus dos parámetros son el directorio donde crear el fichero y la cadena inicial del nombre; si el directorio indicado no existe, PHP crea el fichero en la carpeta temporal del sistema. El truco está en decirle que cree un fichero en un directorio inexistente, como por ejemplo null, y luego sacar el path del fichero que nos devuelve usando la función dirname. En resumen, queda algo así:

< ?
function getTempFolder() {
	$tmp = tempnam ( null, '' );
	return dirname ( $tmp );
}

echo getTempFolder();
?>

La ejecución del código anterior me ha dado estos resultados:

En Linux: /var/tmp
En Windows: C:\Documents and Settings\Usuario\Configuración local\Temp

4 comentarios to “Cómo obtener la carpeta temporal del sistema en PHP”

  1. Juanra said

    Ya tío, pero no lo he encontrado en mejor calidad :S

  2. […] more from the original source: Cómo obtener la carpeta temporal del sistema en PHP Related ArticlesBookmarksTags PHP PHP is a computer scripting language. Originally […]

  3. Juanra said

    Gracias tío.
    Ahora lo bajo y lo escucho.
    he oido hablar sobre este grupo, pero nunca lo he escuchado.
    Si me mola y me das permiso hago una entrada al blog con el enlace de descarga k me as pasado
    Saludos

  4. JavieL said

    sys_get_temp_dir()

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: