php下载远程大文件(获取远程文件大小)的实例

废话不多说,直接上代码

<?php // 暂不支持断点续传 // $url = 'http://www.mytest.com/debian.iso'; 不知道为何获取本地文件大小为0 $url = 'http://192.168.8.93/download/vm-672/18/0.vmdk'; $file = basename($url); $header = get_headers($url, 1); $size = $header['Content-Length']; $fp = fopen($url, 'rb'); if ($fp === false) exit('文件不存在或打开失败'); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.$file.'"'); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . $size); ob_clean(); ob_end_flush(); set_time_limit(0); $chunkSize = 1024 * 1024; while (!feof($fp)) { $buffer = fread($fp, $chunkSize); echo $buffer; ob_flush(); flush(); } fclose($fp); exit;

以上这篇php下载远程大文件(获取远程文件大小)的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

时间: 2024-10-28 09:40:46

php下载远程大文件(获取远程文件大小)的实例的相关文章

图片-无法从本地拷贝大文件到远程服务器上

问题描述 无法从本地拷贝大文件到远程服务器上 从本地拷贝一些小文件到服务器上是没有问题的,但是大文件比如超过1G的文件,就会报错,不知道是什么原因.. 解决方案 服务端是不是对文件大小有限制,或者你该用ftp试试 解决方案二: 尝试过ftp上传,也是不能上传大文件,检查了服务器没有对文件大小限制呀 解决方案三: FTP上传有时间限制的,可以手动调一下时间 解决方案四: 用FTP 或者在服务器上安装个百度云盘,把东西上传上去,在远程服务器上下载

java 多线程-为什么使用Java多线程下载文件时下载后的文件和服务器端文件大小一模一样但是无法打开

问题描述 为什么使用Java多线程下载文件时下载后的文件和服务器端文件大小一模一样但是无法打开 为什么使用Java多线程下载文件时下载后的文件和服务器端文件大小一模一样但是无法打开?? package com.miuitust.mutilethread; import java.io.File; import java.io.InputStream; import java.io.RandomAccessFile; import java.net.HttpURLConnection; impor

PHP 读取大文件并显示的简单实例(推荐)_php实例

使用PHP读取日志文件,当文件比较大的时候,会报内存不足,因此应该部分读取,读取指定的行数的数据 PHP代码: <?php class Test{ //日志路径 const LOG_PATH="E:\phpServer\Apache\logs\error.log"; const NGINX_LOG_PATH="E:\phpServer\\nginx\logs\error.log"; //显示的行数 const PAGES=50; public static f

Java TCP文件服务器,下载到的文件和原文件大小不一致

问题描述 本人编程新手,要求用java写一个tcp文件服务器,客户端向服务器端发送请求,下载服务器端的文件.我出现的问题是:客户端从服务器端下载到的文件大小不一致,而且下载到的文件也带不开,真诚请教解决办法.//客户端代码import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.BufferedOu

RESPONSE IO流的方式下载,大文件如何处理,求教!

问题描述 代码如下:publicvoiddownFILE(Stringdest,OutputStreamos){FileInputStreamfis=null;try{fis=newFileInputStream(dest);byte[]buffer=newbyte[4096];intn;while((n=fis.read(buffer,0,buffer.length))!=-1){os.write(buffer,0,n);}}catch(Exceptione){}finally{try{fis

php fseek函数读取大文件两种方法_php实例

php读取大文件,使用fseek函数是最为普遍的方式,它不需要将文件的内容全部读入内存,而是直接通过指针来操作,所以效率是相当高效的.在使用fseek来对文件进行操作时,也有多种不同的方法,效率可能也是略有差别的,下面是常用的两种方法. 方法一: 首先通过fseek找到文件的最后一位EOF,然后找最后一行的起始位置,取这一行的数据,再找次一行的起始位置,再取这一行的位置,依次类推,直到找到了$num行.实现代码如下: 整个代码执行完成耗时 0.0095 (s) function tail($fp

下载较大文件时迅雷软件偶尔会闪退?

  您可以尝试以下步骤解决当前问题: 1.删除VER1文件夹;(文件夹地址:C:Program Files → Common Files → Thunder Network → TP → Ver1文件). 2.卸载换盘重装; 3.更换下载磁盘文件路径

java实现大文件分割与合并的实例代码_java

复制代码 代码如下: package com.test;  import java.io.BufferedReader;  import java.io.BufferedWriter;  import java.io.FileNotFoundException;  import java.io.FileReader;  import java.io.FileWriter;  import java.io.IOException;  import java.util.Collections;  i

php获取远程图片并下载保存到本地的方法分析_php技巧

本文实例讲述了php获取远程图片并下载保存到本地的方法.分享给大家供大家参考,具体如下: 远程图片指的是远端服务器上的数据我们可以通过php的许多函数来读取下载了,这里整理了两个可以自动下载远程图片并下载保存到本地的例子. 例1,可以自动识别图片类型然后进行对应的保存 /* *功能:php完美实现下载远程图片保存到本地 *参数:文件url,保存文件目录,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */ function getImage($url,$save_d