创建一个浏览器将保存为JSON的JSON文件

I know I can do the following to generate a JSON (or, in similar fashion, XML) page:

<?php
    header('Content-type: application/json');
    echo (file_get_contents('some.json', true));
?>

However, I need the user to be able to save the file in their browser (using File > Save or similar) and have the browser default to a .json (or .xml) extension, not a .txt or .php or whatever their browser defaults to.

Is this possible in php or in javascript? Perhaps there's a way to modify the url?

e.g. g.co/index.php becomes g.co/index.php/some.json OR g.co/some.json so the browser can use the appropriate file name or extension.

Would adding a content-disposition header work for you?

header('Content-Disposition: inline; filename="some.json"');