Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从手机打开PHP下载脚本时显示错误_Php_Codeigniter - Fatal编程技术网

从手机打开PHP下载脚本时显示错误

从手机打开PHP下载脚本时显示错误,php,codeigniter,Php,Codeigniter,我正在开发一个小网站,用户可以下载mp3文件。用PHP和Codeigniter编写的下载脚本是 public function index($id) { $item = $this->music_m->get($id); if(count($item)){ $path = $item->upload_path; if (file_exists($path)) {

我正在开发一个小网站,用户可以下载mp3文件。用PHP和Codeigniter编写的下载脚本是

public function index($id)
    {

        $item = $this->music_m->get($id);
        if(count($item)){
            $path = $item->upload_path;

            if (file_exists($path)) {
                $item->noOfDownloads = $item->noOfDownloads + 1;
                $this->music_m->save($item, $id);
                header('Content-Description: File Transfer');
                header('Content-Type: application/octet-stream');
                header('Content-Disposition: attachment; filename='.basename($path));
                header('Content-Transfer-Encoding: binary');
                header('Expires: 0');
                header('Cache-Control: must-revalidate');
                header('Pragma: public');
                header('Content-Length: ' . filesize($path));
                ob_clean();
                flush();
                readfile($path);        
                exit;
            }else{
                echo "File doesnot exist";
                exit;
            }
        }else{
            echo "Requested music item doesn't exist in database";
            exit;
        }
    }
下载链接的URL的格式为63为项目id。 现在,当我点击桌面上的链接时,它将毫无错误地下载文件。但当我从智能手机(android)上点击相同的链接时,会出现以下错误

ob_clean(): failed to delete buffer, no buffer to delete.

从手机上下载,但无法打开文件。有人知道我哪里做错了吗?

1。)据我所知,你从来没有打开过输出缓冲区。请参阅关于不存在缓冲区的警告是否正确。关于你不能打开文件:这到底是什么意思?会发生什么?下载文件的内容是什么?最有可能的是,下载的文件内容中有一条警告,使其无效。检查一下@阿卡斯卡:但在桌面上,它工作得很好,我可以下载文件并打开它。但是在我的安卓系统中,它给了我一个错误那么,这意味着什么呢?也许您使用的桌面应用程序是宽容的或其他什么。问题是:你检查过文件内容了吗?或者你认为在这里提问更容易一些,这样有人可以施展魔法来解决你的问题吗?