PHP 获取远程文件的大小的3种方法
1、使用file_get_contents()
<?php
$file = file_get_contents($url);
echo strlen($file);
?>
2. 使用get_headers()
<?php
$header_array = get_headers($url, true);
$size = $header_array['Content-Length'];
echo $size;
?>
PS:
需要打开allow_url_fopen!
如未打开会显示
Warning: get_headers() [function.get-headers]: URL file-access is disabled in the server configuration
3.使用fsockopen()
<?php
function get_file_size($url) {
$url = parse_url($url); if (empty($url['host'])) {
return false;
} $url['port'] = empty($url['post']) ? 80 : $url['post'];
$url['path'] = empty($url['path']) ? '/' : $url['path']; $fp = fsockopen($url['host'], $url['port'], $error); if($fp) {
fputs($fp, "GET " . $url['path'] . " HTTP/1.1\r\n");
fputs($fp, "Host:" . $url['host']. "\r\n\r\n"); while (!feof($fp)) {
$str = fgets($fp);
if (trim($str) == '') {
break;
}elseif(preg_match('/Content-Length:(.*)/si', $str, $arr)) {
return trim($arr[1]);
}
}
fclose ( $fp);
return false;
}else {
return false;
}
} ?>
PHP 获取远程文件的大小的3种方法的更多相关文章
- Java读取文件夹大小的6种方法及代码
(一)单线程递归方式 package com.taobao.test; import java.io.File; public class TotalFileSizeSequential { publ ...
- PHP判断远程文件是否存在的几种方法
在做一个图片预览中图的东西,遇到一个问题,就是要判断远程文件是否存在(不是同一台服务器). 代码如下: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 ...
- PHP获取远程文件的大小,通过ob_get_contents实现
function remote_filesize($uri,$user='',$pw='') { ob_start(); $ch = curl_init($uri); curl_setopt($ch, ...
- VC++实现获取文件占用空间大小的两种方法(非文件大小)
// GetFileSpaceSize.cpp : Defines the entry point for the console application. // /***************** ...
- 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 ...
- XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)
XML序列化 #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...
- PHP获取文件后缀名的三种方法
如下: <? PHP获取文件后缀名的几种方法1: function get_file_type($filename){ $type = substr($filename, strrpos($fi ...
随机推荐
- APAC Practice
2016 round A A. Googol String small && large LL a[]; int dfs(LL pos, int id, bool f) { || po ...
- Fragment 与 Activity 通信
先说说背景知识: (From:http://blog.csdn.net/t12x3456/article/details/8119607) 尽管fragment的实现是独立于activity的,可以被 ...
- 什么是struts2?
一.我对struts2的理解. 1.struts2 是一个按MVC模式设计放入web层框架,其实它就是一个servlet.这个servlet命名为ActionServlet,或者是它的一个子类.它的工 ...
- ISO9001、ISO14001、OHSAS18000什么意思
ISO9001是ISO9000族标准所包括的一组质量管理体系核心标准之一.ISO9000族标准是国际标准化组织(ISO)在1994年提出的概念,是指“由ISO/TC176(国际标准化组织质量管理和质量 ...
- 简单的自绘CListBox,重载虚MeasureItem和DrawItem这两个虚函数
[cpp] view plain copy //例如CNewListBox继承自CListBox,重载虚MeasureItem和DrawItem这两个虚函数,代码如下: void CNewListBo ...
- [iOS]开发者证书和描述文件的作用
先说下证书吧. 然后是描述文件
- 转TransactionProxyFactoryBean代理事务
<?xml version="1.0" encoding="GBK"?> <!-- 指定Spring配置文件的DTD信息 --> < ...
- Zend Studio的配置和使用
或许你可以用Dreamweaver.Notepad++或者Editplus这样的东西完成你的系统,但所谓“工欲善其事,必先利其器”,偶认为一个给力的IDE对于新手还是很必要的,而Zend作为PHPer ...
- (3)TXT转为XML
<?xml version="1.0" encoding="utf-8"?> <bocb2e> <head /> <t ...
- JVM学习笔记(一)------基本结构
从Java平台的逻辑结构上来看,我们可以从下图来了解JVM: 从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别 对于JVM自身的物理结构,我们可以从下图鸟瞰一下: 对于J ...