PHP erstellt eine zufällige tmp-Datei und erhält ihren vollständigen Pfad

Lesezeit: 1 Minute

Benutzer-Avatar
Farzher

Nachdem ich es getan habe:

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

Ich möchte einen vollständigen Pfad zu erhalten $temp Datei das tmpfile hat erschaffen.

Was muss ich tun, um diese Informationen zu erhalten?

Benutzer-Avatar
Bischof

tmpfile gibt einen streamfähigen Dateizeiger zurück.

Um den entsprechenden Pfad zu erhalten, Fragen Sie den Stream nach seinen Metadaten:

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

Der Vorteil der tmpfile sich nähern? PHP entfernt automatisch die $path Wenn $file geht aus dem Rahmen. Mit tempnammüssen Sie die erstellte Datei manuell entfernen.

Benutzer-Avatar
Alix Axel

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

Sehen dieses Beispiel.

  • Im Originalcode wird die Datei entfernt, wenn das Skript beendet/abstürzt. Dieser hinterlässt Müll. Die richtige Lösung finden Sie in der Antwort von @bishop.

    – AndreKR

    17. Juli 2016 um 9:10 Uhr


  • Der erste Parameter für Verzeichnis wird auf Windows-Plattformen nicht berücksichtigt. Welches immer C:\Windows\Temp\ verwendet.

    – Tim

    18. Januar 2018 um 14:40 Uhr

1282390cookie-checkPHP erstellt eine zufällige tmp-Datei und erhält ihren vollständigen Pfad

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy