fsockopen 实例函数

我们经常会采集其它网站上的内容,以前有讲过用fopen,filecontent,curl等函数实例,今天我们就来fsockopen来实现这种读取远程 服务器上的图片方法吧。

<?php
function getFileSize($url){ 
 $url = parse_url($url);
 if($fp = @fsockopen($url['host'],empty($url['port'])?80:$url['port'],$error)){
  fputs($fp,"GET ".(empty($url['path'])?'/':$url['path'])." HTTP/1.1rn");
  fputs($fp,"Host:$url[host]rnrn");
  while(!feof($fp)){
   $tmp = fgets($fp);
   if(trim($tmp) == ''){
    break;
   }else if(preg_match('/Content-Length:(.*)/si',$tmp,$arr)){
    return trim($arr[1]);
   }
  }
  return null;
 }else{
  return null;
 }
}
?>

  调用方法很简单,代码如下:
<?php
echo getFileSize(yun_qi_img/banner.gif/)
?>

时间: 2024-09-22 20:34:24

fsockopen 实例函数的相关文章

asp.net C#文件读取文本实例函数

asp教程.net c#文件读取文本实例函数 下面的代码示例读取整个文件,并在检测到文件尾时发出通知. [c#] using system; using system.io; public class textfromfile {   private const string file_name = "myfile.txt";   public static void main(string[] args) {   if (!file.exists(file_name)) {   co

fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法_php技巧

一:近期黑客利用程序漏洞注入后使用 fsockopen 进行PHPDDOS 攻击,导致部分服务器不稳定,现在将危险函数 fsockopen 暂时禁用,部分程序功能可能有问题,以下列出已知问题及通用解决方法: 通用解决方法:找到程序里的 fsockopen 函数,替换为:pfsockopen,即可解决所有问题,两个函数的区别在于 pfsockopen 保持 keep-alive,使得黑客无法进行 连接数攻击. 已知使用 fsockopen 函数的程序文件路径(在fsockopen 前加 p, 即f

php二维数组用键名分组相加实例函数_php实例

本文介绍一篇关于php 二维数组以某一键名进行分组相加的实例程序,如果是从数据库里取数据的时候大可以SELECT SUM(t_value),t_id FROM t_table GROUP BY t_id,但是如果是在php程序中处理类似的问题就稍微麻烦点了,这里给个函数就是处理类似的问题 复制代码 代码如下: <?php /* 函数功能:对二维数组以某一键名进行分组相加,返回新的二维数组  * 参数说明:$arr-源数组:$new_arr-相加后得到的新数组:$target_key-要分组的键名

PHP实例函数:获取淘宝商品价格

  这几天在看正则表达式的时候突然觉得正则表达式非常有意思啊,做了很多有意思的东西.突发奇想的觉得可以用正则表达式获取淘宝宝贝页面中的价格,所以就做了这一个函数了,调用时只需要填写入淘宝的链接就可以返回当前宝贝页面中的价格了,这的是非常的方便了. function taoBaoJiaGe($url){ preg_match('/<strong id="J_StrPrice" >d+.d{2}/',file_get_contents($url),$jiaGe); //正则表示

filter_var实例函数

filter_var 还有很多其他过滤功能如下,具体请参见手册 FILTER_CALLBACK 调用用户自定义函数来过滤数据. FILTER_SANITIZE_STRING 去除标签,去除或编码特殊字符. FILTER_SANITIZE_STRIPPED "string" 过滤器的别名. FILTER_SANITIZE_ENCODED URL-encode 字符串,去除或编码特殊字符. FILTER_SANITIZE_SPECIAL_CHARS HTML 转义字符 '"<

php邮箱地址正则验证实例函数

 代码如下 复制代码 $email ='v1055494988@qq.com'; //echo preg_match('w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*',$email,$arr); if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {   echo "您的 e-mail 通过初步检查"; }  

php接口的使用实例函数

interface Ren1 {const XINGMING="张三";  function shuohua1();  function shuohua2();} interface Ren2 extends Ren1 {function shuohua3();  function shuohua4();} interface Ren3 {function shuohua5();} interface Ren4 {function shuohua6();} class Ren5 {fu

php 字符操作类实例函数

class String extends stdClass { private $_val =''; public function __construct( $str ='' ) { $this->_val = $str; } public function __toString() { return $this->_val; } public function encode( $coder ) { $coder ='encode_' . $coder; if( method_exists(

四款js获取地址栏参数实例函数

<script language="网页特效"> var url=window.location.search; if(url.indexof("?")!=-1)   {     var str   =   url.substr(1)     strs = str.split("&");     for(i=0;i<strs.length;i++)     {       document.write([strs[i].