php扩展包:可以代替php原生函数的扩展包的简单介绍

php扩展包:可以代替php原生函数的扩展包的简单介绍

内容导读

收集整理的这篇技术教程文章主要介绍了php扩展包:可以代替php原生函数的扩展包的简单介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4082字,纯文字阅读大概需要6分钟

内容图文

本篇文章给大家带来的内容是关于php扩展包:可以代替php原生函数的扩展包的简单介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

虽然程序员无时无刻都在造轮子,但造轮子也有效率之分,用好轮子才能造出好“??”

guzzlehttp/guzzle

composer 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 GuzzleHttpClient;$client = new GuzzleHttpClient();$response = $client->request('POST', 'http://www.baidu.com', [

'form_params' => [



'username' => 'coder',



'password' => '12345'

]]);print_r($response);

jenssegers/date

composer require jenssegers/date

使用这个扩展包,让php程序员对date相关的需求实现更简洁、简单了。请看下方对比

php_date

date("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/zipper

composer require chumper/zipper
使用这个包可以简化php本身zip函数使用的复杂度

php_zip

<?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/ftp

composer require anchu/ftp
本包可以简化php自身ftp上传代码的流程

php_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 failn";

exit(1);}echo "connect successn"; // 进行ftp登录,使用给定的ftp登录用户名和密码进行login$f_login = ftp_login($f_conn,$user,$pwd);if(!$f_login){

echo "login failn";

exit(1);}echo "login successn"; // 获取当前所在的ftp目录$in_dir = ftp_pwd($f_conn);if(!$in_dir){

echo "get dir info failn";

exit(1);}echo "$in_dirn"; // 获取当前所在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 failn";



exit(1);

}else{



echo "mkdir $dir_name successn";

}}// 切换目录if(!ftp_chdir($f_conn, $dir_name)){

echo "chdir failn";

exit(1);}else{

echo "chdir $dir_name successn";}// 进行文件上传$result = ftp_put($f_conn, 'bbb.mp3', '/root/liang/ftp/bbb.mp3', FTP_BINARY);if(!$result){

echo "upload file failn";

exit(1);}else{

echo "upload file successn";

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原生函数的扩展包的简单介绍的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php扩展包:可以代替php原生函数的扩展包的简单介绍全部内容,希望文章能够帮你解决php扩展包:可以代替php原生函数的扩展包的简单介绍所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com