скачать — как узнать размер php ресурса

У меня есть общая функция php, которая принимает ресурс и загружает его в виде файла csv, ресурс — это файл или php: // memory. Как найти размер этого ресурса, чтобы я мог установить длину содержимого заголовка

  /** Download a file as csv and exit */
function downloadCsv($filName, $fil) {
header("Content-Type: application/csv");
header("Content-Disposition: attachement; filename=$filName");
// header("Content-Length: ".......
fpassthru($fil);
exit;
}

Я могу видеть, как получить размер файла из имени файла, используя размер файла ($ filename), но в этой функции я не знаю / не имею имени файла, ресурс justa

3

Решение

fstat () мог бы сделать работу:

$stat = fstat($fil);
header('Content-Length: '.$stat['size']);
0

Другие решения

Вы можете получить размер файла с помощью функции filesize ().

Пример:

header('Content-Length: '.filesize($fileName));
-2

Просто используйте php: // temp / OR php: // memory /

php: // Ссылка

/** Download a file as csv and exit */
function downloadCsv($filName, $fil) {
header("Content-Type: application/csv");
header("Content-Disposition: attachement; filename=$filName");

//here the code
$tmp_filename = 'php://temp/'.$filName;
$fp = fopen($tmp_filename,'r+');
fwrite($fp, $fil);
fclose($fp);

header("Content-Length: ".filesize($tmp_filename));  //use temp filename
readfile($fil);
exit;
}
-2
По вопросам рекламы [email protected]