PHP获取远程文件的大小,通过ob_get_contents实现
function remote_filesize($uri,$user='',$pw='')
{
ob_start();
$ch = curl_init($uri);
curl_setopt($ch, CURLOPT_HEADER, );
curl_setopt($ch, CURLOPT_NOBODY, );
if (!empty($user) && !empty($pw)) {
$headers = array('Authorization: Basic ' . base64_encode($user.':'.$pw));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
$okay = curl_exec($ch);
curl_close($ch);
$head = ob_get_contents();
ob_end_clean();
$regex = '/Content-Length:\s([0-9].+?)\s/';
$count = preg_match($regex, $head, $matches);
//qq($head);
return isset($matches[]) ? $matches[] : 'unknown';
} 注意: $head = ob_get_contents(); 得到的是文件的头部信息:
HTTP/1.1 OK
Server: Tengine
Content-Type: image/jpeg
Content-Length:
Connection: keep-alive
Date: Tue, Dec :: GMT
Last-Modified: Tue, Dec :: GMT
Expires: Thu, Jan :: GMT
Cache-Control: max-age=
Accept-Ranges: bytes
Via: cache37.l2cm9-[,-,H], cache11.l2cm9-[,], kunlun7.cn119[,-,H], kunlun6.cn119[,]
Age:
X-Cache: HIT TCP_MEM_HIT dirn::
X-Swift-SaveTime: Thu, Dec :: GMT
X-Swift-CacheTime:
Timing-Allow-Origin: *
EagleId: 1bdd224614512746510381352e
PHP获取远程文件的大小,通过ob_get_contents实现的更多相关文章
- PHP 获取远程文件的大小的3种方法
1.使用file_get_contents() <?php $file = file_get_contents($url); echo strlen($file); ?> 2. 使用get ...
- PHP学习笔记,curl,file_get_content,include和fopen四种方法获取远程文件速度测试.
这几天在做抓取.发现用PHP的file_get_contents函数来获取远程文件的过程中总是出现失败,并且效率很低下.所以就做了个测试的demo来测试下PHP中各种方法获取文件的速度. 程序里面使用 ...
- curl获取远程文件内容
curl获取远程文件内容 ** 获取远程文件内容 @param $url 文件http地址 * function fopen_url($url) { if (function_exists(& ...
- php获取远程文件内容的函数
一个简单的php获取远程文件内容的函数代码,兼容性强.直接调用就可以轻松获取远程文件的内容,使用这个函数也可获取图片.代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- scp命令获取远程文件
一.scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的,可能会稍微影响 ...
- http方式获取远程文件内容
public class HttpServer { /// <summary> /// 读取远程文件的内容 /// </summary> /// <param name= ...
- python 获取视频文件的大小,时长等
举例说明: import os import sys import xlwt from moviepy.editor import VideoFileClip file_dir = u"G: ...
- PHP获取远程文件的几种方式
1.fopen() 2.file_get_contents() 3.fsocket() 4.curl()
- php获取远程文件大小
获取本地文件大小filesize()就可以了,但是如何获取远程文件的大小呢? 这里介绍三个方法来获取远程文件的大小. 方法1:get_headers <?php get_headers($url ...
随机推荐
- RQM — 需求驱动的测试管理工具
嵌入式系统复杂程度越来越高,随之而来的测试要求和任务也越来越繁重,而测试更多的是对产品满足需求情况的测试,因此,在高强度.高频度的测试过程中,难免有需求遗漏.回归测试不充分.缺陷管理不合理.测试人员疏 ...
- PAT1016 × PAT1017
本次题解是综合1016和1017两道题来讲解,原因无他,因为这两道都是模拟题,综合字符串处理.排序等考点 接手一道模拟题,一定要快速且准确地了解模拟的过程,清晰题目涉及的关键信息.比如1016要计算电 ...
- 小a的排列(牛客)
题目 题意: 一个长度为n的排列.输入n个数 a[ i ],a[ i ] ∈ [1,n],要求找到长度最小的区间 [ l , r ],满足区间[ l , r ]内的数是连续的,且同时包含 数 x 和 ...
- k8s安装之kube-state-metrics.yaml
概述 已经有了cadvisor.heapster.metric-server,几乎容器运行的所有指标都能拿到,但是下面这种情况却无能为力: 我调度了多少个replicas?现在可用的有几个? 多少个P ...
- python中的exec和eval
exec 描述 exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码. 返回值 exec 返回值永远为 None. 需要说明的是在 ...
- 51nod 1720 祖玛
吉诺斯在手机上玩祖玛的游戏.在这个游戏中,刚开始有n个石头排成一排,第i个石头的颜色是ci.游戏的目标是尽可能快的把所有石头都消掉. 每一秒钟,吉诺斯可以选择一段连续的子段,并且这个子段是回文,然后把 ...
- CH6302 雨天的尾巴
6302 雨天的尾巴 0x60「图论」例题 背景 深绘里一直很讨厌雨天. 灼热的天气穿透了前半个夏天,后来一场大雨和随之而来的洪水,浇灭了一切. 虽然深绘里家乡的小村落对洪水有着顽固的抵抗力,但也倒了 ...
- cookies插件 , axios插件,element-ui 插件
vue-cookie插件 安装 >: cnpm install vue-cookies main.js配置 // 第一种方式 import cookies from 'vue-cookies' ...
- 【安卓周记】笔记复习记录:No.2
[安卓] 1. Activity横竖屏切换生命周期变化,分三种情况: 1. 没有配置android:configChanges:每次横竖屏切换都会重新走一遍生命周期 2. 配置android:conf ...
- learning java 访问文件和目录
import java.io.File; import java.io.IOException; public class FileTest { public static void main(Str ...
