取代PHP原生函式的一些擴充套件包

2021-09-13 11:29:30 字數 3370 閱讀 2685

雖然程式設計師無時無刻都在造輪子,但造輪子也有效率之分,用好輪子才能造出好「?」

composer require guzzlehttp/guzzle
你可以用guzzlehttp完全取代curl,file_get_content,fopen等函式。這個擴充套件包使用起來極為順手。我們在**量上看下對比。

<?php 

//初始化

$curl = curl_init();

//設定抓取的url

curl_setopt($curl, curlopt_url, '');

//設定標頭檔案的資訊作為資料流輸出

curl_setopt($curl, curlopt_header, 1);

//設定獲取的資訊以檔案流的形式返回,而不是直接輸出。

curl_setopt($curl, curlopt_returntransfer, 1);

//設定post方式提交

curl_setopt($curl, curlopt_post, 1);

//設定post資料

$post_data = array(

"username" => "coder",

"password" => "12345"

);curl_setopt($curl, curlopt_postfields, $post_data);

//執行命令

$data = curl_exec($curl);

//關閉url請求

curl_close($curl);

//顯示獲得的資料

composer require jenssegers/date
使用這個擴充套件包,讓php程式設計師對date相關的需求實現更簡潔、簡單了。請看下方對比

date("ym", strtotime("-1 day"));  //獲取前一天的日期 

date("ym", strtotime("+1 day")); //獲取後一天的日期

(new date('-1 day'))->format ('ym');  // 獲取前一天的日期 

(new date('+1 day'))->format ('ym'); //獲取後一天的日期

顯而易見,新的方法對date的處理呈現更加直觀。當然這是簡單的應用,複雜的日期計算中,它會更顯優勢。

composer require chumper/zipper

使用這個包可以簡化php本身zip函式使用的複雜度

<?php 

$resource = zip_open($filename);

while($zip = zip_read($resource)) else }}

}zip_close($resource);

zipper::make('test.zip')->folder('test')->extractto('foo');
顯而易見,我想我不用去解釋什麼了。

composer require anchu/ftp

本包可以簡化php自身ftp上傳**的流程

<?php 

$host = '10.0.0.42';

$user = 'uftp';

$pwd = 'uftp';

// 進行ftp連線,根據port是否設定,傳遞的引數會不同

if(empty($port))else

if(!$f_conn)

echo "connect success\n";

// 進行ftp登入,使用給定的ftp登入使用者名稱和密碼進行login

$f_login = ftp_login($f_conn,$user,$pwd);

if(!$f_login)

echo "login success\n";

// 獲取當前所在的ftp目錄

$in_dir = ftp_pwd($f_conn);

if(!$in_dir)

echo "$in_dir\n";

// 獲取當前所在ftp目錄下包含的目錄與檔案

$exist_dir = ftp_nlist($f_conn, ftp_pwd($f_conn));

print_r($exist_dir);

// 要求是按照日期在ftp目錄下建立資料夾作為檔案上傳存放目錄

echo date("ymd")."\n";

$dir_name = date("ymd");

// 檢查ftp目錄下是否已存在當前日期的資料夾,如不存在則進行建立

if(!in_array("$in_dir/$dir_name", $exist_dir))else

}// 切換目錄

if(!ftp_chdir($f_conn, $dir_name))else

// 進行檔案上傳

$result = ftp_put($f_conn, 'bbb.***', '/root/liang/ftp/bbb.***', ftp_binary);

if(!$result)else

config::set('ftp.connections.key', array(

'host' => '',

'username' => '',

'password' => '',

'passive' => false,

'secure' => false,

));ftp::uploadfile($filefrom,$fileto,$mode)

感謝你看到這裡,希望本篇文章可以幫助到你。

向這些具有開源精神的工程師致敬

取代PHP原生函式的一些擴充套件包

雖然程式設計師無時無刻都在造輪子,但造輪子也有效率之分,用好輪子才能造出好 你可以用guzzlehttp完全取代curl,file get content,fopen等函式。這個擴充套件包使用起來極為順手。我們在 量上看下對比。初始化 curl curl init 設定抓取的url curl set...

原生JS取代一些JQuery方法的簡單實現

1.選取元素 jquery var els el native var els document.queryselectorall el shorthand var function el queryselectorall方法返回的是nodelist物件,需要轉換為陣列。mylist array.p...

php一些函式

1.show source 函式是php中的內建函式,用於返回突出顯示php語法的檔案。通過使用html標記突出顯示語法 2.strstr 函式 定義和用法 strstr 函式搜尋字串在另一字串中是否存在,如果是,返回該字串及剩餘部分,否則返回 false。注釋 該函式是二進位制安全的。注釋 該函式...