用PHP5.5做了一个简单的http网站, 下载文件,代码很简单,如下所示意:
$length = filesize($file_name);
header('Content-Length: '. strval($length) );
header('Keep-Alive: 15');
header('Connection: Keep-Alive');
readfile($file_name);其中$file_name是一个本地文件名,带完整路径的。
在非SSL方式下,客户端访问后可以成功地下载该文件。
但是切换到https/SSL方式后。客户端能连接成功,也能收到数据,但是只会收到header部分,readfile的东西,一个都收不到,readfile()好像没有下传文件数据。
问搜索引擎,得到有人说SSL下要设置SSL上下文
http://www.lampnick.com/php/967。
但是仿照其中的方式设置了,没有什么效果,一样是只能收到header部分,eadfile的东西跟没发一样。
$context = stream_context_create( // SSL 上下文选项
[
'ssl' => [
'verify_peer' => false,
]
]);
//fopen($file_name, 'rb', null, $context);
readfile($file_name, null, $context);请教,是否哪里还有问题? 谢谢!
--
FROM 147.182.251.*