0

URL から取得したファイルを検索しようとしたときにエラーが発生しました。一致したコントローラーがブラウザーに値「ok」を返す場合、URL から取得した値と一致するディレクトリ内のファイルを検索したい。しかし、ブラウザに何も表示されません。

jqueryはURLをサーバーに送信します

var qr_download = function(e){
var img = $('#display').attr('src');
if(img == ''){
    alert('Generate a code first!');
    return;
}else{
    var fn = img.substr(img.lastIndexOf('/')+1,img.length-img.lastIndexOf('/'));

    $.ajax({
        url: 'download_file/' + fn,
        dataType: 'json',
        success: function(data){
            if(data.error)
                alert('Error: ' + data.error);
            if(data.success)
                alert('Success: ' + data.success);
        }
    });
    return false;
}

私のコントローラー

public function download_file($filename){
    $this->load->helper('download');
    $ext = substr(strrchr($filename,'.'),1);
    $list = array();

    if(in_array($ext,array('png','jpg','jpeg'))){
        $files = scandir('temp/');
        for($i=0;$i<count($files);$i++){
            if(is_file($files[$i]) && !in_array($files[$i],array('.','..'))){
                if($files[$i] == $filename){
                    //$content = file_get_contents(base_url().'temp/'.$files[$i]);
                    //force_download($files[$i],$content);
                    $this->result['success'] = 'ok';
                    exit();
                }
            }
        }//end for
    }else{
        $this->result['error'] = 'Not allowed file type';
    }

    echo json_encode($this->result);
}

解決するのを手伝ってください。ありがとう。

4

0 に答える 0