$directory, 'basename' => $name . ($extension !== '' ? ".{$extension}" : ''), 'filename' => $name, 'extension' => $extension, 'part' => $part, ]; } /** * Check a temporary file exists. * * @param string $dir The file parent directory. * @param string $name The file name. * @param string $extension The file extension to use. * @param string $part The file part number. * @return boolean If the file exists. */ function tempFileExists(string $dir, string $name, string $extension = '', string $part = ''): bool { $filename = constructTempFileName($dir, $name, $extension, $part); $exists = file_exists($filename); return $exists; } /** * Construct the temp file name based on the information * * @param string $dir The file parent directory. * @param string $name The file name. * @param string $extension The file extension to use. * @param string $part The file part number. * @return string The file path. */ function constructTempFileName(string $dir, string $name, string $extension = '', string $part = ''): string { $filename = $dir . DIRECTORY_SEPARATOR . $name . ($extension !== '' ? ".{$extension}" : '') . ($part !== "" ? ".part-{$part}" : ''); return $filename; }