一般来说,这与客户端设置有关,比如说想让realplayer自动打开rm文件,那么点击就会自动打开,你不装realplayer,点击时肯定是下载文件。你还可以使用rstp协议来不允许下载rm文件。

解决方案 »

  1.   

    与你的客户端设置有关。你还可以使用rstp协议来只允许播放rm文件而不允许下载rm文件。如果不设置realplayer与rm文件的关联,或不自动打开,就可以下载了。
      

  2.   

    我并不能控制客户端的设置,我想问的是怎样设计一个脚本来实现RM文件的下载,用ASP可以让一个asp文件作为一个普通文件来下载,而不是作为脚本来运行,我想用php也是可以实现rm文件的直接下载的,有那位大侠知道指点一下
      

  3.   

    你的ASP文件能让RM文件只下载不播放吗?做不到吧,
    同事,PHP也一样,因为这些与客户端的设置有关,
    如果你不想考虑客户端的话,就打成包吧,
      

  4.   

    如果是JSP的话可以在servlet中加上
    response.setHeader("Content-disposition","attachment; filename=" +"Example.rm" );
    这样会把该文件作为附件下载,而不是打开该文件,但PHP我是初学者
      

  5.   

    难道没有人知道用PHP该怎么做吗?
    我想也可以通过header()函数来实现,但我还没有成功
    有谁知道吗?
      

  6.   

    可以的,我做过其它文件下载的,只要你知道文件的mime类型就行了,通过header来做,我的email:[email protected]给我发邮件,因为我忘了具体代码了(代码很短 :)),你只要知道realplay的mime类型就行了,98下可以看到的,2000下我没看到,希望你知道告诉我一声 :)
      

  7.   

    <?
    //下載文件的方法
    header("content-type: application/file"); 
    header("content-disposition: attachment; filename=$filename");
    readfile("$dir/$filename");//這裡$filename用get方法傳過來
    ?>
      

  8.   

    function Download($filepath,$filename) {
    global $HTTP_USER_AGENT;
    //SetCookie("Download",yep, time()+36000000, "/", "www.domain.com", 0); 
    $size = filesize($filepath.$fullname);
    //header("Content-Type: application/octet-stream"); 
    header("Content-Type: application/force-download"); 
    header("Content-Length: $size"); 
    // IE5.5 just downloads index.php if we don't do this
    if(preg_match("/MSIE 5.5/", $HTTP_USER_AGENT)) { 
    header("Content-Disposition: filename=$filename"); 
    } else { 
    header("Content-Disposition: attachment; filename=$filename"); 

    header("Content-Transfer-Encoding: binary"); 
    $fh = fopen($filepath.$filename, "r"); 
    fpassthru($fh); 
    }