雖然程序員無時無刻都在造輪子,但造輪子也有效率之分,用好輪子才能造出好“??”
guzzlehttp/guzzlecomposer require guzzlehttp/guzzle你可以用guzzlehttp完全取代curl,file_get_content,fopen等函數。這個擴展包使用起來極為順手。我們在代碼量上看下對比。
php_curl?php //初始化 $curl = curl_init(); //設置抓取的url curl_setopt($curl, CURLOPT_URL, http://www.baidu.com //設置頭文件的信息作為數據流輸出 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); //顯示獲得的數據 print_r($data);guzzlehttp
use GuzzleHttp/Client;$client = new GuzzleHttp/Client();$response = $client- request( POST , http://www.baidu.com , [ form_params = [ username = coder , password = 12345 print_r($response);jenssegers/datecomposer require jenssegers/date
使用這個擴展包,讓php程序員對date相關的需求實現更簡潔、簡單了。請看下方對比
php_datedate( Ym , strtotime( -1 day )); //獲取前一天的日期 date( Ym , strtotime( +1 day )); //獲取后一天的日期jenssegers_date
(new Date( -1 day ))- format ( Ym // 獲取前一天的日期 (new Date( +1 day ))- format ( Ym //獲取后一天的日期
顯而易見,新的方法對date的處理呈現更加直觀。當然這是簡單的應用,復雜的日期計算中,它會更顯優勢。
chumper/zippercomposer require chumper/zipper?php $resource = zip_open($filename); while($zip = zip_read($resource)) { if(zip_entry_open($resource, $zip)) { $file_content = zip_entry_name($zip); $file_name = substr($file_content, strrpos($file_content, / ) +1); if(!is_dir($file_name) $file_name) { $save_path = $dir . / . $file_name; if(file_exists($save_path)) { echo 文件夾內已存在文件 . $file_name . pre / }else { echo $file_name . pre / $file_size = zip_entry_filesize($zip); $file = zip_entry_read($zip, $file_size); file_put_contents($save_path, $file); zip_entry_close($zip); zip_close($resource);chumper/zipper
Zipper::make( test.zip )- folder( test )- extractTo( foo
顯而易見,我想我不用去解釋什么了。
anchu/ftpcomposer require anchu/ftp?php$host = 10.0.0.42 $user = uftp $pwd = uftp // 進行ftp連接,根據port是否設置,傳遞的參數會不同if(empty($port)){ $f_conn = ftp_connect($host);}else{ $f_conn = ftp_connect($host, $port);if(!$f_conn){ echo connect fail/n exit(1);echo connect success/n // 進行ftp登錄,使用給定的ftp登錄用戶名和密碼進行login$f_login = ftp_login($f_conn,$user,$pwd);if(!$f_login){ echo login fail/n exit(1);echo login success/n // 獲取當前所在的ftp目錄$in_dir = ftp_pwd($f_conn);if(!$in_dir){ echo get dir info fail/n exit(1);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)){ if(!ftp_mkdir($f_conn, $dir_name)){ echo mkdir fail/n exit(1); }else{ echo mkdir $dir_name success/n // 切換目錄if(!ftp_chdir($f_conn, $dir_name)){ echo chdir fail/n exit(1);}else{ echo chdir $dir_name success/n // 進行文件上傳$result = ftp_put($f_conn, bbb.mp3 , /root/liang/ftp/bbb.mp3 , FTP_BINARY);if(!$result){ echo upload file fail/n exit(1);}else{ echo upload file success/n exit(0);}anchu/ftp
Config::set( ftp.connections.key , array( host = , username = , password = , passive = false, secure = false,FTP::uploadFile($fileFrom,$fileTo,$mode)
相關推薦:
redis的PHP擴展包安裝方法
php 安裝xdebug擴展,phpxdebug擴展
php的擴展和嵌入--c擴展開發helloworld
以上就是php擴展包:可以代替php原生函數的擴展包的簡單介紹的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答