就是如果写入文件的内容很大,我想知道所花的时间,如何得到所花的时间?

解决方案 »

  1.   

    在执行函数的前后都获取下时间,然后计算差值
    $stime=microtime(true);//获取程序开始执行的时间
    fwrite($fp,$str);
    $etime=microtime(true);//获取程序执行结束的时间
    $total=$etime-$stime;   //计算差值
    echo $total;
      

  2.   

    手册上面就有例子的
    <?php
    /**
     * Simple function to replicate PHP 5 behaviour
     */
    function microtime_float()
    {
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$usec + (float)$sec);
    }$time_start = microtime_float();// Sleep for a while
    usleep(100);$time_end = microtime_float();
    $time = $time_end - $time_start;echo "Did nothing in $time seconds\n";
    ?> 
      

  3.   

    2楼正解,注意microtime参数为true时才是float值
      

  4.   

    谢谢各位
    <?php 
    function microtime_float()
    {
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$usec + (float)$sec);
    }if(!file_exists("test2.txt")){ 
        $fp=fopen( "test2.txt", "a"); 
            fputs($fp, "test\n "); 
        fclose($fp); 
    }$fp = fopen("test2.txt","a");
    $time_start = microtime_float();
    echo "开始时间=<fonr color=red>".$time_start."</font>"."<br />";if(fputs($fp,'写入的内容')){
    $time_end = microtime_float(); 
    echo "结束时间=<fonr color=red>".$time_end."</font><br />";
    }
    echo "所花时间:".$tttt=$time_end-$time_start;
    ?>
    上面是我写的测试fwrite程序运行所花的时间,出现下面的测试结果:
    开始时间=1291622624.9101
    结束时间=1291622624.9104
    所花时间:0.00030088424682617 开始时间=1291622650.3466
    结束时间=1291622650.3469
    所花时间:0.00030994415283203 开始时间=1291622360.817
    结束时间=1291622360.8171
    所花时间:9.7990036010742E-5 我有2个问题,就是随着我写入程序的内容增多,所花的时间就会越长,那到达这一步的时候$time_end = microtime_float(); 是不是不管内容再长都已经写入进去了?还是不管内容写完与否都先执行下一步?
    第二个问题是9.7990036010742E-5 这个数字怎么算出来的?
      

  5.   

    1.先说下,php脚本是按顺序执行的!除非你用了分进程.所有你的脚本里一定是上面都执行完之后在执行后面的$time_end.2.9.7990036010742E-5是科学表达式,自个去查手册