@ganjo888

Почему так рано удаляется временный файл?

Вот так все нормально и я могу получить содержимое временного файла
public function generate(string $template, array $data): string
    {
        $temp = tmpfile();
        fwrite($temp, $template);
        $templatePath = stream_get_meta_data($temp)['uri'];
        file_get_contents($templatePath);
    }

А если вот так получаю (InvalidArgumentException: File "/tmp/phpmbcjD5" does not exist.
)
public function generate(string $template, array $data): string
    {
        $templatePath = $this->getTemplatePath($template);
        var_dump( $templatePath);
    }
public function getTemplatePath($template)
{
       $temp = tmpfile();
        fwrite($temp, $template);
       return stream_get_meta_data($temp)['uri'];
}
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 2
@alexalexes
public function  getTemplatePath(где аргумент $template?)
Ответ написан
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
потому что по завершении блока все внутренние переменные удаляются, ты должен был сохранить $temp в свойстве класса.
класс SplTempFileObject в помощь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы