Задать вопрос
@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'];
}
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@alexalexes
public function  getTemplatePath(где аргумент $template?)
Ответ написан
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
потому что по завершении блока все внутренние переменные удаляются, ты должен был сохранить $temp в свойстве класса.
класс SplTempFileObject в помощь
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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