一點小知識

來源:互聯網
上載者:User

周末,夜晚,聽著柔和的輕音樂,我將幾個最近用到的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    

";

    }

}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.