一点小知识

    技术2022-06-24  75

    周末,夜晚,听着柔和的轻音乐,我将几个最近用到的php的知识点稍微梳理了一下。

     

    csdn的编辑器不是很好用,就不排版了,直接贴上:)

     

    PHP获取当前日期和时间格式化方法:

    使用函式 date() 实现 

    <?php echo $showtime=date("Y-m-d H:i:s");?> 

    显示的格式: 年-月-日 小时:分钟:妙 

    相关时间参数: 

    a - "am" 或是 "pm" 

    A - "AM" 或是 "PM" 

    d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31" 

    D - 星期几,三个英文字母; 如: "Fri" 

    F - 月份,英文全名; 如: "January" 

    h - 12 小时制的小时; 如: "01" 至 "12" 

    H - 24 小时制的小时; 如: "00" 至 "23" 

    g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12" 

    G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23" 

    i - 分钟; 如: "00" 至 "59" 

    j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31" 

    l - 星期几,英文全名; 如: "Friday" 

    m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12" 

    n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12" 

    M - 月份,三个英文字母; 如: "Jan" 

    s - 秒; 如: "00" 至 "59" 

    S - 字尾加英文序数,二个英文字母; 如: "th","nd" 

    t - 指定月份的天数; 如: "28" 至 "31" 

    U - 总秒数 

    w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六) 

    Y - 年,四位数字; 如: "1999" 

    y - 年,二位数字; 如: "99" 

    z - 一年中的第几天; 如: "0" 至 "365"

     

     

     

     

     

     

    php中双引号,单引号的区别:

    在''中插入/t /n之类的字符时,echo的时候只会将其输出为字符串,不会对其转义;而在""中插入上述字符时可以将其转义。

     

     

    php调用远程url的几种方法

    示例代码1: 用file_get_contents 以get方式获取内容

       $url='http://www.demo.com/interface';

       $return_val = file_get_contents($url);

       //print_r($http_response_header);

       echo($return_val);

     

    示例代码2: 用fopen打开url, 以get方式获取内容

       $fp = fopen($url, 'r');

       printarr(stream_get_meta_data($fp));

       printhr();

       while(!feof($fp)) {

         $result .= fgets($fp, 1024);

       }

       echo "url body: $result";

       printhr();

       fclose($fp);

     

    示例代码3:用file_get_contents函数,以post方式获取url

       $data = array ('foo' => 'bar');

       $data = http_build_query($data);

       $opts = array (

         'http' => array (

    'method' => 'POST',

    'header'=> "Content-type: application/x-www-form-urlencoded/r/n" .

    "Content-Length: " . strlen($data) . "/r/n",

    'content' => $data

    ),

       );

       $context = stream_context_create($opts);

       $html = file_get_contents('http://localhost/e/admin/test.html', false, $context);

       echo $html;  

     

    示例代码4:用fsockopen函数打开url,以get方式获取完整的数据,包括header和body

       function get_url ($url,$cookie=false) {

      $url = parse_url($url);

      $query = $url[path]."?".$url[query];

      ec("Query:".$query);

      $fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30);

      if (!$fp) {

      return false;

      } else {

      $request = "GET $query HTTP/1.1/r/n";

      $request .= "Host: $url[host]/r/n";

      $request .= "Connection: Close/r/n";

      if($cookie) $request.="Cookie:   $cookie/n";

      $request.="/r/n";

      fwrite($fp,$request);

      while(!@feof($fp)) {

    $result .= @fgets($fp, 1024);

      }

      fclose($fp);

      return $result;

      }

       }

       //获取url的html部分,去掉header

       function GetUrlHTML($url,$cookie=false) {

           $rowdata = get_url($url,$cookie);

      if($rowdata) {

            $body= stristr($rowdata,"/r/n/r/n");

            $body=substr($body,4,strlen($body));

            return $body;

           }

           return false;

       }

     

    示例代码5:用fsockopen函数打开url,以POST方式获取完整的数据,包括header和body

    function HTTP_Post($URL,$data,$cookie, $referrer="") {

    // parsing the given URL

    $URL_Info=parse_url($URL);

    // Building referrer

    if($referrer=="") // if not given use this script as referrer

    $referrer="111";

    // making string from $data

    foreach($data as $key=>$value)

    $values[]="$key=".urlencode($value);

    $data_string=implode("&",$values);

    // Find out which port is needed - if not given use standard (=80)

    if(!isset($URL_Info["port"]))

    $URL_Info["port"]=80;

    // building POST-request:

    $request.="POST ".$URL_Info["path"]." HTTP/1.1/n";

    $request.="Host: ".$URL_Info["host"]."/n";

    $request.="Referer: $referer/n";

    $request.="Content-type: application/x-www-form-urlencoded/n";

    $request.="Content-length: ".strlen($data_string)."/n";

    $request.="Connection: close/n";

    $request.="Cookie:   $cookie/n";

    $request.="/n";

    $request.=$data_string."/n";

    $fp = fsockopen($URL_Info["host"],$URL_Info["port"]);

    fputs($fp, $request);

    while(!feof($fp)) {

      $result .= fgets($fp, 1024);

    }

    fclose($fp);

    return $result;

    }

    printhr();

     

    示例代码6:使用curl库,使用curl库之前,你可能需要查看一下php.ini,查看是否已经打开了curl扩展

    关于curl库:

    curl官方网站 http://curl.haxx.se/

    curl 是使用URL语法的传送文件工具,支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传,kerberos、基于HTT格式的上传、代理、cookie、用户+口令证明、文件传送恢复、http代理通道和大量其他有用的技巧

    function printarr(array $arr)

    {

        echo "

    Row field count: ".count($arr)."

    ";

        foreach($arr as $key=>$value)

        {    

                echo "$key=$value    

    ";

        }

    }


    最新回复(0)