Установить дату создания при загрузке PHP

У меня есть функция PHP, позволяющая пользователю загружать файлы. (В коде есть несколько пользовательских функций, maybe_redirect, validate_document, headers_no_cacheи т. д., но вы поняли имена и то, что они делают точно это не относится к проблеме.)

Когда это выполняется, в качестве даты создания результирующего файла устанавливаются текущие дата и время. Есть ли способ для PHP, чтобы установить этот атрибут для результирующего файла?

Вот функция:

function fetch_file( $file, $force_download = false ) {
$file = maybe_redirect( $file );
if ( $DLfile = validate_document( $file ) ) {
global $pconfig;
$DLfile = htmlspecialchars( $DLfile );
$type = mime_content_type( $DLfile );
$chunksize = ( (int) $pconfig['misc']['download_chunk_size_mb'] ) * (1024 * 1024);
$size = intval( sprintf( "%u", filesize($DLfile) ) );
set_time_limit(300);

headers_no_cache();
header( 'Content-Type: ' . $type );
header( 'Content-Length: ' . $size );

if ( $force_download || $size > $chunksize ) {
header( 'Content-Disposition: attachment; filename="' . basename( $DLfile ) . '"' );
} else {
header( 'Content-Disposition: filename="' . basename( $DLfile ) . '"' );
}

if( $size > $chunksize ) {
// https://stackoverflow.com/a/21936954
header( 'Content-Type: application/octet-stream' );
header( 'Content-Transfer-Encoding: binary' );
$handle = fopen( $DLfile, 'rb' );
while ( ! feof($handle) ) {
echo @fread($handle, $chunksize);
ob_flush();
flush();
}
fclose($handle);
} else {
readfile( $DLfile );
}
exit;
} else {
http404();
}
}

Есть два возможных варианта использования: получить даты из фактического файла на сервере или получить их из базы данных.

2

Решение

Задача ещё не решена.

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

Других решений пока нет …

По вопросам рекламы [email protected]