在HTTP URL中指定所需的文件大小

我想有一个networking服务器,我可以下载文件,其大小由文件名决定。 就像是:

Browse to http://mydomain.com/100MB -> receive any 100MB file Browse to http://mydomain.com/200MB -> receive any 200MB file Browse to http://mydomain.com/254MB -> receive any 254MB file Browse to http://mydomain.com/10kb -> receive any 10kb file Browse to http://mydomain.com/1GB -> receive any 1GB file Browse to http://mydomain.com/3GB -> receive any 3GB file 

在URL中指定文件大小的确切方法并不重要,只要它具有合适的大小,接收文件的数据内容(随机数据,全零,无关紧要)也不重要。

我已经安装了apache服务器,但显然生成每个文件是不可能的(我快用完磁盘空间)。

有没有办法实现这种行为? 使用一个Apache模块或PHP或其他方式?

使用mod_rewrite来捕获参数:

 RewriteEngine on RewriteRule ^/?(.*)$ generate.php?size=$1 [L] 

然后只需要generate.phpparsing$_GET['size']并返回适当的字节数。

这就是我如何结束了自己想做的事情。

看来这在PHP中非常简单。 学习PHP之后,这是我创build的generate.php脚本:

 <?php $size = $_GET['size']; $partsize = 1024 * 16; $part = str_repeat(' ',$partsize); $partcount = intval(floor($size / $partsize)); $leftover = $size - ($partcount * $partsize); for ($i = 0; $i < $partcount; $i++) { echo($part); flush(); } if ($leftover > 0) { echo(str_repeat(' ',$leftover)); } ?> 

浏览到http://mydomain.com/generate.php?size=1000,然后返回一个只包含空格的1000字节的文件&#x3002;

接受的答案,使我在PHP的轨道上,build议使用重写规则,但我不需要它为我在做什么。