V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lslqtz  ›  全部回复第 125 页 / 共 242 页
回复总数  4835
1 ... 121  122  123  124  125  126  127  128  129  130 ... 242  
前端压缩,配合第三方让客户端直接上传。
2017-01-13 18:48:09 +08:00
回复了 JingJIngHack 创建的主题 Linux 有人在阿里云 ESC 上安装过 Arch Linux 吗?
ESC -> ECS 。
表示 CentOS 大法好,
2017-01-13 18:47:36 +08:00
回复了 youyi 创建的主题 程序员 强迫症患者做程序员是一种什么体验?
自己写的代码好就行,别管别人的代码。
2017-01-13 18:46:59 +08:00
回复了 woostundy 创建的主题 Python Python requests SSL: CERTIFICATE_VERIFY_FAILED 错误
@linbiaye win 下的 curl 表示各种网站都报错 xD 。
2017-01-13 18:46:33 +08:00
回复了 woostundy 创建的主题 Python Python requests SSL: CERTIFICATE_VERIFY_FAILED 错误
如果不是自签的证书,就手动指定全部根证书位置吧。
2017-01-13 13:14:50 +08:00
回复了 xuexixuexi2 创建的主题 程序员 请教一个 nginx 做下载服务器统计下载信息的问题。
@aru 是的,很费资源。
但我还是去实现了他 xD 。
2017-01-12 23:32:37 +08:00
回复了 xuexixuexi2 创建的主题 程序员 请教一个 nginx 做下载服务器统计下载信息的问题。
然后又想了想,改成 while (1) {}里面加 if 会好一点。。
如果在里面的 if 判断到连接被结束了,就断开连接。
Reply 32
lslqtz 1 分钟前
Reply 31
lslqtz 刚刚
@aru 我试着写了写,不能计算到准确的下载耗时。
不过之前是帮楼主解决下载之前卡住的问题。
现在把代码改成了这样,问题在于如果 readfile 换成 sleep 就可以准确的统计到:
<?php
set_time_limit(0);
ignore_user_abort(1);
ob_end_flush();
flush();
$time=time();
@header('Connection:Close');
@header('Content-Length:299711208');
@header('Content-Type:application/octet-stream');
@header('Content-Disposition:attachment;filename=WindowsXP_SP2.exe');
@readfile('1.exe');
while (1) {
if (connection_status() != 0 || connection_aborted()) {
file_put_contents('1.txt',time()-$time);
die();
}
}
?>
2017-01-12 23:30:06 +08:00
回复了 xuexixuexi2 创建的主题 程序员 请教一个 nginx 做下载服务器统计下载信息的问题。
Reply 31
lslqtz 刚刚
@aru 我试着写了写,不能计算到准确的下载耗时。
不过之前是帮楼主解决下载之前卡住的问题。
现在把代码改成了这样,问题在于如果 readfile 换成 sleep 就可以准确的统计到:
<?php
set_time_limit(0);
ignore_user_abort(1);
ob_end_flush();
flush();
$time=time();
@header('Connection:Close');
@header('Content-Length:299711208');
@header('Content-Type:application/octet-stream');
@header('Content-Disposition:attachment;filename=WindowsXP_SP2.exe');
@readfile('1.exe');
while (connection_status() != 0 || connection_aborted()) {
file_put_contents('1.txt',time()-$time);
die();
}
?>
突然感觉代码写错了...
2017-01-12 23:27:02 +08:00
回复了 xuexixuexi2 创建的主题 程序员 请教一个 nginx 做下载服务器统计下载信息的问题。
@aru 我试着写了写,不能计算到准确的下载耗时。
不过之前是帮楼主解决下载之前卡住的问题。
现在把代码改成了这样,问题在于如果 readfile 换成 sleep 就可以准确的统计到:
<?php
set_time_limit(0);
ignore_user_abort(1);
ob_end_flush();
flush();
$time=time();
@header('Connection:Close');
@header('Content-Length:299711208');
@header('Content-Type:application/octet-stream');
@header('Content-Disposition:attachment;filename=WindowsXP_SP2.exe');
@readfile('1.exe');
while (!connection_aborted()) {
file_put_contents('1.txt',time()-$time);
die();
}
?>
2017-01-12 09:05:58 +08:00
回复了 xuexixuexi2 创建的主题 程序员 请教一个 nginx 做下载服务器统计下载信息的问题。
@aru 楼主的描述是计费后才开始下载,说明这时已经执行完毕并输出缓冲。
而我这个是立即执行的,有缓冲也应该是远程文件下完后才输出。
2017-01-12 04:57:48 +08:00
回复了 xuexixuexi2 创建的主题 程序员 请教一个 nginx 做下载服务器统计下载信息的问题。
@xuexixuexi2 php/nginx 问题?不清楚,手头是 win 下的,理论可行没错。
2017-01-12 04:19:18 +08:00
回复了 kuretru 创建的主题 DNS 大家都在用哪家的公共 DNS 服务器
备 4-8
2017-01-12 04:18:56 +08:00
回复了 kuretru 创建的主题 DNS 大家都在用哪家的公共 DNS 服务器
几家的都差不多, 119 更稳定, 114 有时会挂。
2017-01-12 04:12:22 +08:00
回复了 xuexixuexi2 创建的主题 程序员 请教一个 nginx 做下载服务器统计下载信息的问题。
我这边测试是正常的,视频在这里: http://xinchen123.oss-cn-shanghai.aliyuncs.com/o_1b67igqepga1t4g0ahkfsua.mp4

set_time_limit(0);
ob_end_flush();
flush();
@header('Content-Length:299711208');
@header('Content-Type:application/octet-stream');
@header('Content-Disposition:attachment;filename=WindowsXP_SP2.exe');
@readfile('http://speed.myzone.cn/WindowsXP_SP2.exe');
2017-01-12 01:52:26 +08:00
回复了 xuexixuexi2 创建的主题 程序员 请教一个 nginx 做下载服务器统计下载信息的问题。
顺便说一下,可以改用 readfile 而不用 fopen
2017-01-12 01:46:47 +08:00
回复了 xuexixuexi2 创建的主题 程序员 请教一个 nginx 做下载服务器统计下载信息的问题。
@aru 其实我也这么做过,不过大部分都是 php 在卡着而不是 nginx 。

fpassthru() 函数输出文件指针处的所有剩余数据。
该函数将给定的文件指针从当前的位置读取到 EOF ,并把结果写到输出缓冲区。
摘自: http://www.w3school.com.cn/php/func_filesystem_fpassthru.asp
所以在这之前先清除缓冲并禁止。
#设置执行时间不限时 。
set_time_limit(0);
#发送内部缓冲区的内容到浏览器,删除缓冲区的内容,不关闭缓冲区。
ob_flush();
#发送内部缓冲区的内容到浏览器,删除缓冲区的内容,关闭缓冲区。
ob_end_flush();
#将 ob_flush 释放出来的内容,以及不在 PHP 缓冲区中的内容,全部输出至浏览器;刷新内部缓冲区的内容,并输出。
flush();
所以实际上前面加几句:
set_time_limit(0);
ob_end_flush();
flush();
感觉就好了。。
1 ... 121  122  123  124  125  126  127  128  129  130 ... 242  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1029 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 19:57 · PVG 03:57 · LAX 11:57 · JFK 14:57
Developed with CodeLauncher
♥ Do have faith in what you're doing.