• PHP file_get_contents函数详解


    一. file_get_contents(path,include_path,context,start,max_length)

    参数 描述
    path 必需。规定要读取的文件。
    include_path 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 “1”。
    context 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 null,则忽略。
    start 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。
    max_length 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。   1,此函数可以用来打开一个网络地址 可以实现简单的网页抓取   2.此函数可以读取本地的文件   3.此函数可以模拟post请求   
    网页抓取
      一般用file_get_contents或者fopen, file , readfile等函数读取url的时候 会创建一个$http_response_header变量保存HTTP响应的报头,使用fopen等函数打开的数据流信息可以用stream_get_meta_data获取

    $html = file_get_contents('http://www.baidu.com');
    print_r($http_response_header);
    $fp = fopen('http://www.baidu.com', 'r');
    print_r(stream_get_meta_data($fp));
    fclose($fp);
    1
    2
    3
    4
    5
    模拟post请求

    test.php   
    ```php
    $url = 'http://192.168.31.63/2.php';
    $data = array(
    'item' => 'test data',
    );
    $content = http_build_query($data);
    $content_length = strlen($content);
    $options = array(
    'http' => array(
    'method' => 'POST',
    'header' =>
    "Content-type: application/x-www-form-urlencoded " .
    "Content-length: $content_length ",
    'content' => $content
    )
    );
    echo file_get_contents($url, false, stream_context_create($options));


    2.php

    <?php
    /**
    * @Author: anchen
    * @Date: 2017-03-23 13:51:46
    * @Last Modified by: anchen
    * @Last Modified time: 2017-03-23 13:53:46
    */
    file_put_contents('./1.txt', var_export($_POST, true));//把接收的数据储存起来
    下面写一个贴近一点的例子

    $data = [
    'author' => '白菜打下',
    'mail' => 'info@aiyooyoo.com',
    'text' => '博主很给力',
    ];
    $data = http_build_query($data);
    $opts = [
    'http' => [
    'method' => 'POST',
    'header' => "Content-type:application/x-www-form-urlencoded ".
    "Content-Length: ".strlen($data)." ".
    "Cookie: PHPSESSID=13ROTEGFGJDFDFDOGDFGD"." ".
    "User-Agent: Mozilla/5.0(Windows: U; Windows NT 6.1; zh-CH; rv: 1.9.2.13) Gecko/20101203 Firefox/3.6.13"." ".
    "Referer:http://aiyooyoo.com/index.php/archives/7/"." ",
    'content' => $data,
    ],
    ];
    $context = stream_context_create($opts);
    $html = @file_get_contents('http://aiyooyoo.com/index.php/archives/7/comment', false, $context);

    原文链接:https://blog.csdn.net/estaaa/article/details/82291292

     
  • 相关阅读:
    多重背包 HDU2191
    带限制求最小价值的完全背包 HDU1114
    均分背包 HDU1171
    经典01背包问题 HDU2602
    记忆化搜索 POJ1579
    最大递增子序列变形——二维带权值 O(n*n) HDU1069
    最大递增子序列变形——二维 O(n*logn) TOJ4701
    OCJP(1Z0-851) 模拟题分析(六)over
    OCJP(1Z0-851) 模拟题分析(八)over
    OCJP(1Z0-851) 模拟题分析(九)over
  • 原文地址:https://www.cnblogs.com/yangfei123/p/12536561.html
Copyright © 2020-2023  润新知