PHP:
Tworzenie pliku tymczasowego
Jak to zrobić:
W PHP robienie plików tymczasowych jest proste. Użyj tmpfile()
do stworzenia i otwarcia pliku, a on sam się usunie po zamknięciu, albo tempnam()
do stworzenia pliku tymczasowego z unikalną nazwą.
<?php
// Użycie tmpfile()
$temp = tmpfile();
fwrite($temp, "Tu jest coś tymczasowego.\n");
rewind($temp); // Powrót na początek pliku
echo fread($temp, 1024); // Wypisanie zawartości pliku
fclose($temp); // Plik jest usunięty
// Użycie tempnam()
$tmpDir = sys_get_temp_dir(); // Pobieranie ścieżki do folderu tymczasowego
$tempName = tempnam($tmpDir, 'moj_prefiks_');
$file = fopen($tempName, "w");
fwrite($file, "Przechowuje to na później.\n");
fclose($file); // Pamietaj by ręcznie usunąć plik, gdy skończysz.
unlink($tempName); // Usuwanie pliku
?>
Głębsze spojrzenie:
Tworzenie plików tymczasowych w PHP ma swoje korzenie w dawnych sposobach zarządzania danymi. Historia uczy nas, że unikanie konfliktu nazw i zapisywania danych do bufora na dysku to fundamenty pracy z plikami tymczasowymi. Alternatywami dla tmpfile()
i tempnam()
są własne skrypty zarządzające plikami tymczasowymi, ale dbaj o unikalność nazw, bezpieczne wyczyszczenie i izolację danych. Co do implementacji, tmpfile()
automatycznie usuwa plik po zamknięciu strumienia, a tempnam()
wymaga od ciebie manulnego usunięcia pliku po zakończonej pracy. Wybór metody zależy od przypadku użycia i potrzeby kontroli nad plikiem.
Zobacz także:
- Dokumentacja PHP dla
tmpfile()
: https://www.php.net/manual/en/function.tmpfile.php - Dokumentacja PHP dla
tempnam()
: https://www.php.net/manual/en/function.tempnam.php - Dyskusja na temat zarządzania plikami tymczasowymi w PHP: https://stackoverflow.com/questions/1707801/making-a-temporary-dir-for-unpacking-a-zipfile-into
sys_get_temp_dir()
, by znaleźć domyślny folder tymczasowy: https://www.php.net/manual/en/function.sys-get-temp-dir.php