不管是显示还是下载,就是比较它们的速度。我不会,请叫大家。第一种写法:
header(url地址);
exit();第二种写法:
echo @file_get_contents(url地址);
exit();headerfile_get_contents

解决方案 »

  1.   

    个人认为应该是header更快,看看我的思路:header()  访问-输出
    file_get_contents() 访问-返回数据-输出
      

  2.   

    本帖最后由 xuzuning 于 2013-02-19 17:23:37 编辑
      

  3.   


    header() 访问-跳转-输出显示
    file_get_contents() 访问-返回时间-输出显示组长让我测试一下,然后通过数据告诉他,但我迷茫啊......
      

  4.   


    我个人认为,header() 访问-跳转-输出显示中的跳转可以放到这里考虑吗?因为说的是跳转其实就是访问,我认为应该是这样
      

  5.   


    我们的这样的,URL对应的文件在A服务器上,网站在B服务器上。
      

  6.   

    在服务器上用file_get_contents获取目标页后发送给用户
    相当于客户端使用代理访问目标页至于谁快谁慢,需要实地测试
      

  7.   

    外在因素太多,首先性质就是不一样一个站内一个站外,header访问考验两次客户端到服务器端的响应时间,file_get_contents 考验客户端到服务器 服务器到源文件服务器两个响应时间,这种东西没法具体判断,只能做分析
      

  8.   

    最终是这么测试的。循环500访问同一个地址。ftpstorefile.php里面就是我写的文件下载方法。<?php
    $time1 =  time() ;
    $url = 'http://192.168.84.72:9500/ftpstorefile.php?fileid=73574';
    for($i=0; $i<500; $i++)
    $img_file_str = file_get_contents($url);
    $time2 =  time() ;var_dump($time2 - $time1);
    ?>最终得出来的结果是:header跳转需要20秒左右。file_get_contents大概8秒左右。可能是因为文件服务器和网站服务器是局域网,所以file_get_contents的速度会快些。
      

  9.   

    你file_get_contents得到的结果没有输出,所以影响了结果的时间,你应该输出,因为不输出无法得到header类似的结果,这样是不公平的
      

  10.   

    header跳转 是在服务器端直接转向的吗 还是响应到客户端,客户端进行跳转的
      

  11.   

    根据我的理解header是 服务器响应客户端时候返回的HTTP报头,告诉客户端跳转到这个地址
    也就是客户端访问了两次服务器端。
    file_get_contents是服务器端读取文件内容返回,客户端只访问了一次服务器 
      

  12.   

    如果文件是在另一台服务器上的话,就是客户端访问了一次服务器,web服务器访问了一次文件服务器,同样是两次访问,但是我想服务器的速度应该比客户端快吧,包括网速