2018年1月

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;

header("Access-Control-Allow-Origin:*");
set_time_limit(0);//让程序一直执行下去
$url='https://eth.ethfans.org/api/page/miner?value=8a3bca36ce758dd03e105cb0bf9f7a3970b8d9a4';
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//执行并获取HTML文档内容========
$output = curl_exec($ch);
curl_close($ch);
//正则匹配
$start = '"workers":{"code":200,"data":[';
$end = ']}}';
$m = array();
preg_match_all('#'.preg_quote($start).'(.+?)'.preg_quote($end).'#s',$output,$m);
var_dump($m);