PHP下载脚本将下载次数增加两倍

时间:2013-08-04 11:43:40

标签: php codeigniter download

我正在做一个项目,用户可以通过单击下载按钮下载文件。单击下载链接后,请求将重定向到实际下载代码所在的download.php文件。下载后,数据库中的下载次数增加1。 PHP代码(用codeigniter编写)如下

public function index($filename)
    {
        $item = array_shift($this->music_m->get_by(array('upload_path'=>$filename)));
        if(count($item)){
            if (file_exists("uploads/".$filename)) {
                $item->noOfDownloads = $item->noOfDownloads + 1;
                $this->music_m->save($item, $item->id);
                $data = file_get_contents("uploads/".$filename); // Read the file's contents
                $name = $filename;
                force_download($name, $data);
            }else{
                echo "404 File Not Found";
                exit;
            }
        }else{
            echo "404 File Not Found!";
        }
    }

但我的问题是,下载次数增加2或3甚至6(使用IDM)而不是1.在使用Firefox浏览器的Linux中,它运行正常。但是在Windows中,在谷歌浏览器中,它增加了2.当IDM下载文件时情况变得最糟糕,它将下载次数增加了6.我不知道错误在哪里。脚本本身是多次调用还是其他什么?

0 个答案:

没有答案