algo rápido ...Recuperar camino de tmpfile()
¿Hay una manera de recuperar la ruta de un archivo creado por tmpfile()
?
¿O tengo que hacerlo yo mismo con tempnam()
?
algo rápido ...Recuperar camino de tmpfile()
¿Hay una manera de recuperar la ruta de un archivo creado por tmpfile()
?
¿O tengo que hacerlo yo mismo con tempnam()
?
Parece stream_get_meta_data() funciona también:
$tmpHandle = tmpfile();
$metaDatas = stream_get_meta_data($tmpHandle);
$tmpFilename = $metaDatas['uri'];
fclose($tmpHandle);
sys_get_temp_dir()
¿Se volverá el directorio actual de la configuración para almacenar archivos temporales.
En cuanto al nombre de archivo generado, usaría tempnam()
para usar una ruta de archivo, completa con el nombre, definido por usted/entrada del usuario.
Cheers, sólo quería un doble control. – Zac
Tenga en cuenta que 'tempnam()' no eliminará automáticamente el archivo una vez que finalice el script, tendrá que hacerlo usted mismo. – sp00n
"El archivo se elimina automáticamente cuando se cierra (por ejemplo, al llamar a fclose(), o cuando no hay referencias restantes al manejador de archivo devuelto por tmpfile()), o cuando termina el script". http://php.net/manual/en/function.tmpfile.php – Andrew
gusta esta
$path = array_search('uri', @array_flip(stream_get_meta_data($GLOBALS[mt_rand()]=tmpfile())));
file_put_contents($path, 'hello');
+1 Por responder realmente la pregunta. A partir de PHP 5.3, simplemente puede usar 'stream_get_meta_data ($ tmpHandle) ['uri']'. – flu
$ foo() ['bar'] no funciona en mi PHP 5.3.13, pero de lo contrario esta respuesta es la respuesta correcta a la pregunta anterior. – DarkSide
¡Genial! sys_get_temp_dir() no disponible en el viejo servidor php 5.1 :( – Pete