问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问为什么有的视频下不了?只是一个PHP文件

发布网友 发布时间:2022-04-06 02:48

我来回答

5个回答

懂视网 时间:2022-04-06 07:09

下载php文件失败是因为readfile读取文件的时候会把文件放入缓存,导致内存溢出,其解决办法就是实现分段下载,并限制下载速度即可。

推荐:《PHP视频教程》

解决PHP下载大文件失败,并限制下载速度

1.问题:

PHP在使用readfile函数定义下载文件时候,文件不可以过大,否则会下载失败,文件损坏且不报错;

2.原因:

这个是因为readfile读取文件的时候会把文件放入缓存,导致内存溢出;

3.解决:分段下载,并限制下载速度;

<?php
//设置文件最长执行时间
set_time_limit(0);
if (isset($_GET['filename']) && !empty($_GET['filename'])) {
 $file_name = $_GET['filename'];
 $file = __DIR__ . '/assets/' . $file_name;
} else {
 echo 'what are your searching for?';
 exit();
}
if (file_exists($file) && is_file($file)) {
 $filesize = filesize($file);
 header('Content-Description: File Transfer');
 header('Content-Type: application/octet-stream');
 header('Content-Transfer-Encoding: binary');
 header('Accept-Ranges: bytes');
 header('Expires: 0');
 header('Cache-Control: must-revalidate');
 header('Pragma: public');
 header('Content-Length: ' . $filesize);
 header('Content-Disposition: attachment; filename=' . $file_name);
 // 打开文件
 $fp = fopen($file, 'rb');
 // 设置指针位置
 fseek($fp, 0);
 // 开启缓冲区
 ob_start();
 // 分段读取文件
 while (!feof($fp)) {
 $chunk_size = 1024 * 1024 * 2; // 2MB
 echo fread($fp, $chunk_size);
 ob_flush(); // 刷新PHP缓冲区到Web服务器
 flush(); // 刷新Web服务器缓冲区到浏览器
 sleep(1); // 每1秒 下载 2 MB
 }
 // 关闭缓冲区
 ob_end_clean();
 fclose($fp);
} else {
 echo 'file not exists or has been removed!';
}
exit();

热心网友 时间:2022-04-06 04:17

我也发现了
有的种子文件
用迅雷之类的下来就这样了
先用ie下载
然后再用迅雷加载种子
另外还有一种情况
比如昨天加的下载
但是没有开始
第二天就成这样了
重新到网页上下就好了

热心网友 时间:2022-04-06 05:35

可能是下载方法问题,建议不要使用右键另存为,改用左键点击下载试试。

热心网友 时间:2022-04-06 07:10

先用浏览器自带的下载把压缩文件下下来,再打开压缩文件就可以看到种子了,然后再用迅雷下就好了,我也碰到过这种情况希望能对你有所帮助。

热心网友 时间:2022-04-06 09:01

你下载的网页文件,当然不能用下载工具加载着个文件。你应该再点击下一层页面,应该会有下载地址的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 php木马上传打开直接下载php文件是什么原因 下载文件下不了?出现这样的文件名后缀attachment.php 为什么出现.php这样的后缀?? 怎么文件下载文件老是显示文件格式错误,过短时间又行了?php文件~~~急急急~~~~ lnmp的php版本如何降级 LNMP 把PHPMYADMIN文件夹删掉了怎么办? lnmp怎么重装php? php如何强制删除文件 LNMP如何修改php-cgi进程数 如何卸载lnmp php环境,怎样删除 如何解决lnmp一键环境包中php-fpm进程导致cpu占用率过高 怎么在centos服务器卸载php环境 怎么样删除 linux上的php 你好,这这个PHP文件怎么删除,我怎么删都删不掉,感谢 linux 删除某文件下的所有php文件的命令 问一个Linux的问题(Ubuntu 卸载php) linux下PHP删除文件 怎么彻底删除linux下编译安装的apache和php php过滤某个字符前面的数字 onethink后台编辑器怎么修改上传图片大小? php图片下载后提示文件有错误 php安装失败,说什么解压失败什么的 为什么下载的迅雷下载的BT种子是php文件,打不开.! PHP失败,怎么办 为什么从360云盘里打包下载的是PHP格式的 html中链接一个php文件 比如说action 总是连接失败 打开的时候总是下载 为什么php文件拖到浏览器老提示下载 为何用浏览器还是打开不了php文件? IE浏览器上打开PHP文件为什么总是变成下载PHP文件 php设计一个界面,输入年,月,日,输出是星期几,并给出程序运行时间 php有木有 直接显示星期几(中文)的函数 我写的这两种都感觉好别扭 求php 中长日期型转短日期型的方法,并且希望输出“星期几” 随便写一个日期,就可以显示出这天是星期几的php程序 php 随便让客户给出某个日期,然后根据日期输出星期几 谁能点拨一下,没有思路啊 能给程序更好 php 怎样输出18年5月份 每个星期一的日期 php给定日期输出该日期所在周星期五的日期 华为手机升级emui11后照相对焦亮的屏幕周围是黑的怎么回事? 鸿蒙退回emui11失败 mate 40Pro用华为手机助手退回emui11提示网络错误 p20升级emui11