mwwdfl 发布的文章

2种方法

1直接做个超链接,地址为文件的地址

<a href="文件地址">下载</a>

2流输出

<?php
$file=fopen('文件地址',"r");
header("Content-Type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: ".filesize('文件地址'));
header("Content-Disposition: attachment; filename=文件名称");
echo fread($file,filesize('文件地址'));
fclose($file);
?>

推荐第二种

因为第一种方法只能下载浏览器不能解析的文件,比如rar啊,脚本文件之类。如果文件是图片或者txt文档,就会直接在浏览器中打开

而第二种方法是直接输出的文件流,不存在上述问题

你可以检查一下你传值过来的路径是否正确,还有,流输出后面不要再进行任何操作了

var u = navigator.userAgent, app = navigator.appVersion;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
alert('是否是Android:'+isAndroid);
alert('是否是iOS:'+isiOS);

        $all = 100;//总共多个数据
        $no_all = 40;//需要多少空数据
        $no_array = array();
        $num = 0;
        for($i=1;$i<=$no_all;$i++){
            $num++;
            $value = rand(1,$all);
            if(in_array($value,$no_array)){
                $i--;
            }else{
                $no_array[] = $value;
            }
        }
        echo "总共循环了" . $num . "次<br/>";
        var_dump($no_array);die;