一点小知识

周末,夜晚,听着柔和的轻音乐,我将几个最近用到的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    

";

    }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值