web-dev-qa-db-fra.com

PHP créer un fichier tmp aléatoire et obtenir son chemin complet

Après je fais:

$temp = tmpfile();
fwrite($temp, "writing to tempfile");

J'aimerais avoir un chemin complet vers le $temp fichier créé par tmpfile.

Que dois-je faire pour obtenir ces informations?

32
Farzher
$path = tempnam(sys_get_temp_dir(), 'prefix');

Voir cet exemple .

30
Alix Axel

tmpfile renvoie un pointeur de fichier pouvant être diffusé.

Pour obtenir le chemin correspondant, demandez au flux ses métadonnées :

$file = tmpfile();
$path = stream_get_meta_data($file)['uri']; // eg: /tmp/phpFx0513a

Les avantages de l'approche tmpfile? PHP supprime automatiquement le $path quand $file sort du cadre. Avec tempnam, vous devez supprimer manuellement le fichier créé.

49
bishop