使用网易云IM做APP可以实现私聊、群聊、谈天室等通讯能力功效,网易云IM文档看起来对照庞大,许多新手不知道若何入手,今天跟版网总结一下,分享给人人学习使用。精简版阿里大鱼短信接口短信**S发送接口PHP实例
1.封装的类如下:
<?php
/**
* Created by PhpStorm.
* User: www.genban.org
*/
namespace Org\Util;
class YunxinServer{
private $AppKey; //开发者平台分配的AppKey
private $AppSecret; //开发者平台分配的AppSecret,可刷新
private $Nonce; //随机数(最大长度128个字符)
private $CurTime; //当前UTC时间戳,从1970年1月1日0点0 分0 秒最先到现在的秒数(String)
private $CheckSum; //SHA1(AppSecret + Nonce + CurTime),三个参数拼接的字符串,举行SHA1哈希盘算,转化成16进制字符(String,小写)
const HEX_DIGITS = "0123456789abcdef";
/**
* 参数初始化
* @param $AppKey
* @param $AppSecret
* @param $RequestType [选择php请求方式,fsockopen或curl,若为curl方式,请检查php设置是否开启]
*/
public function __construct($AppKey,$AppSecret,$RequestType='curl'){
$this->AppKey = $AppKey;
$this->AppSecret = $AppSecret;
$this->RequestType = $RequestType;
}
/**
* API checksum校验天生
* @param void
* @return $CheckSum(工具私有属性)
*/
public function checkSumBuilder(){
//此部门天生随机字符串
$hex_digits = self::HEX_DIGITS;
$this->Nonce;
for($i=0;$i<128;$i++){ //随机字符串最大128个字符,也可以小于该数
$this->Nonce.= $hex_digits[rand(0,15)];
}
$this->CurTime = (string)(time()); //当前时间戳,以秒为单元
$join_string = $this->AppSecret.$this->Nonce.$this->CurTime;
$this->CheckSum = sha1($join_string);
//print_r($this->CheckSum);
}
/**
* 将json字符串转化成php数组
* @param $json_str
* @return $json_arr
*/
public function json_to_array($json_str){
// version 1.6 code ...
// if(is_null(json_decode($json_str))){
// $json_str = $json_str;
// }else{
// $json_str = json_decode($json_str);
// }
// $json_arr=array();
// //print_r($json_str);
// foreach($json_str as $k=>$w){
// if(is_object($w)){
// $json_arr[$k]= $this->json_to_array($w); //判断类型是不是object
// }else if(is_array($w)){
// $json_arr[$k]= $this->json_to_array($w);
// }else{
// $json_arr[$k]= $w;
// }
// }
// return $json_arr;
if(is_array($json_str) || is_object($json_str)){
$json_str = $json_str;
}else if(is_null(json_decode($json_str))){
$json_str = $json_str;
}else{
$json_str = strval($json_str);
$json_str = json_decode($json_str,true);
}
$json_arr=array();
foreach($json_str as $k=>$w){
if(is_object($w)){
$json_arr[$k]= $this->json_to_array($w); //判断类型是不是object
}else if(is_array($w)){
$json_arr[$k]= $this->json_to_array($w);
}else{
$json_arr[$k]= $w;
}
}
return $json_arr;
}
/**
* 使用CURL方式发送post请求
* @param $url [请求地址]
* @param $data [array花样数据]
* @return $请求返回效果(array)
*/
public function postDataCurl($url,$data){
$this->checkSumBuilder(); //发送请求前需先天生checkSum
$timeout = 5000;
$http_header = array(
'AppKey:'.$this->AppKey,
'Nonce:'.$this->Nonce,
'CurTime:'.$this->CurTime,
'CheckSum:'.$this->CheckSum,
'Content-Type:application/x-www-form-urlencoded;charset=utf-8'
);
//print_r($http_header);
// $postdata = '';
$postdataArray = array();
foreach ($data as $key=>$value){
array_push($postdataArray, $key.'='.urlencode($value));
// $postdata.= ($key.'='.urlencode($value).'&');
}
$postdata = join('&', $postdataArray);
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_HEADER, false );
curl_setopt ($ch, CURLOPT_HTTPHEADER,$http_header);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER,false); //处置http证书问题
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
if (false === $result) {
$result = curl_errno($ch);
}
curl_close($ch);
return $this->json_to_array($result) ;
}
/**
* 使用FSOCKOPEN方式发送post请求
* @param $url [请求地址]
* @param $data [array花样数据]
* @return $请求返回效果(array)
*/
public function postDataFsockopen($url,$data){
$this->checkSumBuilder(); //发送请求前需先天生checkSum
// $postdata = '';
$postdataArray = array();
foreach ($data as $key=>$value){
array_push($postdataArray, $key.'='.urlencode($value));
// $postdata.= ($key.'='.urlencode($value).'&');
}
$postdata = join('&', $postdataArray);
// building POST-request:
$URL_Info=parse_url($url);
if(!isset($URL_Info["port"])){
$URL_Info["port"]=80;
}
$request = '';
$request.="POST ".$URL_Info["path"]." HTTP/1.1\r\n";
$request.="Host:".$URL_Info["host"]."\r\n";
$request.="Content-type: application/x-www-form-urlencoded;charset=utf-8\r\n";
$request.="Content-length: ".strlen($postdata)."\r\n";
$request.="Connection: close\r\n";
$request.="AppKey: ".$this->AppKey."\r\n";
$request.="Nonce: ".$this->Nonce."\r\n";
$request.="CurTime: ".$this->CurTime."\r\n";
$request.="CheckSum: ".$this->CheckSum."\r\n";
$request.="\r\n";
$request.=$postdata."\r\n";
// print_r($request);
$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
fputs($fp, $request);
$result = '';
while(!feof($fp)) {
$result .= fgets($fp, 128);
}
fclose($fp);
$str_s = strpos($result,'{');
$str_e = strrpos($result,'}');
$str = substr($result, $str_s,$str_e-$str_s+1);
return $this->json_to_array($str);
}
/**
* 使用CURL方式发送post请求(JSON类型)
* @param $url [请求地址]
* @param $data [array花样数据]
* @return $请求返回效果(array)
*/
public function postJsonDataCurl($url,$data){
$this->checkSumBuilder(); //发送请求前需先天生checkSum
$timeout = 5000;
$http_header = array(
'AppKey:'.$this->AppKey,
'Nonce:'.$this->Nonce,
'CurTime:'.$this->CurTime,
'CheckSum:'.$this->CheckSum,
'Content-Type:application/json;charset=utf-8'
);
//print_r($http_header);
$postdata = json_encode($data);
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_HEADER, false );
curl_setopt ($ch, CURLOPT_HTTPHEADER,$http_header);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER,false); //处置http证书问题
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
if (false === $result) {
$result = curl_errno($ch);
}
curl_close($ch);
return $this->json_to_array($result) ;
}
/**
* 使用FSOCKOPEN方式发送post请求(json)
* @param $url [请求地址]
* @param $data [array花样数据]
* @return $请求返回效果(array)
*/
public function postJsonDataFsockopen($url, $data){
$this->checkSumBuilder(); //发送请求前需先天生checkSum
$postdata = json_encode($data);
// building POST-request:
$URL_Info=parse_url($url);
if(!isset($URL_Info["port"])){
$URL_Info["port"]=80;
}
$request = '';
$request.="POST ".$URL_Info["path"]." HTTP/1.1\r\n";
$request.="Host:".$URL_Info["host"]."\r\n";
$request.="Content-type: application/json;charset=utf-8\r\n";
$request.="Content-length: ".strlen($postdata)."\r\n";
$request.="Connection: close\r\n";
$request.="AppKey: ".$this->AppKey."\r\n";
$request.="Nonce: ".$this->Nonce."\r\n";
$request.="CurTime: ".$this->CurTime."\r\n";
$request.="CheckSum: ".$this->CheckSum."\r\n";
$request.="\r\n";
$request.=$postdata."\r\n";
print_r($request);
$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
fputs($fp, $request);
$result = '';
while(!feof($fp)) {
$result .= fgets($fp, 128);
}
fclose($fp);
$str_s = strpos($result,'{');
$str_e = strrpos($result,'}');
$str = substr($result, $str_s,$str_e-$str_s+1);
return $this->json_to_array($str);
}
/**
* 确立云信ID
* 1.第三方帐号导入到云信平台;
* 2.注重accid,name长度以及思量治理秘钥token
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @param $name [云信ID昵称,最大长度64字节,用来PUSH推送时显示的昵称]
* @param $props [json属性,第三方可选填,最大长度1024字节]
* @param $icon [云信ID头像URL,第三方可选填,最大长度1024]
* @param $token [云信ID可以指定登录token值,最大长度128字节,并更新,若是未指定,会自动天生token,并在确立乐成后返回]
* @return $result [返回array数组工具]
*/
public function createUserIds($accid,$name='',$props='{}',$icon='',$token=''){
$url = 'https://api.netease.im/nimserver/user/create.action';
$data= array(
'accid' => $accid,
'name' => $name,
'props' => $props,
'icon' => $icon,
'token' => $token
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 更新云信ID
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @param $name [云信ID昵称,最大长度64字节,用来PUSH推送时显示的昵称]
* @param $props [json属性,第三方可选填,最大长度1024字节]
* @param $token [云信ID可以指定登录token值,最大长度128字节,并更新,若是未指定,会自动天生token,并在确立乐成后返回]
* @return $result [返回array数组工具]
*/
public function updateUserId($accid,$name='',$props='{}',$token=''){
$url = 'https://api.netease.im/nimserver/user/update.action';
$data= array(
'accid' => $accid,
'name' => $name,
'props' => $props,
'token' => $token
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 更新并获取新token
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @return $result [返回array数组工具]
*/
public function updateUserToken($accid){
$url = 'https://api.netease.im/nimserver/user/refreshToken.action';
$data= array(
'accid' => $accid
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 封禁云信ID
* 第三方禁用某个云信ID的IM功效,封禁云信ID后,此ID将不能上岸云信imserver
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @return $result [返回array数组工具]
*/
public function blockUserId($accid){
$url = 'https://api.netease.im/nimserver/user/block.action';
$data= array(
'accid' => $accid
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 解禁云信ID
* 第三方禁用某个云信ID的IM功效,封禁云信ID后,此ID将不能上岸云信imserver
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @return $result [返回array数组工具]
*/
public function unblockUserId($accid){
$url = 'https://api.netease.im/nimserver/user/unblock.action';
$data= array(
'accid' => $accid
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 更新用户手刺
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @param $name [云信ID昵称,最大长度64字节,用来PUSH推送时显示的昵称]
* @param $icon [用户icon,最大长度256字节]
* @param $sign [用户署名,最大长度256字节]
* @param $email [用户email,最大长度64字节]
* @param $birth [用户生日,最大长度16字节]
* @param $mobile [用户mobile,最大长度32字节]
* @param $ex [用户手刺扩展字段,最大长度1024字节,用户可自行扩展,建议封装成JSON字符串]
* @param $gender [用户性别,0示意未知,1示意男,2女示意女,其它会报参数错误]
* @return $result [返回array数组工具]
*/
public function updateUinfo($accid,$name='',$icon='',$sign='',$email='',$birth='',$mobile='',$gender='0',$ex=''){
$url = 'https://api.netease.im/nimserver/user/updateUinfo.action';
$data= array(
'accid' => $accid,
'name' => $name,
'icon' => $icon,
'sign' => $sign,
'email' => $email,
'birth' => $birth,
'mobile' => $mobile,
'gender' => $gender,
'ex' => $ex
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 获取用户手刺,可批量
* @param $accids [用户帐号(例如:JSONArray对应的accid串,如:"zhangsan",若是剖析失足,会报414)(一次查询最多为200)]
* @return $result [返回array数组工具]
*/
public function getUinfoss($accids){
$url = 'https://api.netease.im/nimserver/user/getUinfos.action';
$data= array(
'accids' => json_encode($accids)
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 密友关系-加密友
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @param $faccid [云信ID昵称,最大长度64字节,用来PUSH推送时显示的昵称]
* @param $type [用户type,最大长度256字节]
* @param $msg [用户署名,最大长度256字节]
* @return $result [返回array数组工具]
*/
public function addFriend($accid,$faccid,$type='1',$msg=''){
$url = 'https://api.netease.im/nimserver/friend/add.action';
$data= array(
'accid' => $accid,
'faccid' => $faccid,
'type' => $type,
'msg' => $msg
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 密友关系-更新密友信息
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @param $faccid [要修改同伙的accid]
* @param $alias [给密友增添备注名]
* @return $result [返回array数组工具]
*/
public function updateFriend($accid,$faccid,$alias){
$url = 'https://api.netease.im/nimserver/friend/update.action';
$data= array(
'accid' => $accid,
'faccid' => $faccid,
'alias' => $alias
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 密友关系-获取密友关系
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @return $result [返回array数组工具]
*/
public function getFriend($accid){
$url = 'https://api.netease.im/nimserver/friend/get.action';
$data= array(
'accid' => $accid,
'createtime' => (string)(time()*1000)
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 密友关系-删除密友信息
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @param $faccid [要修改同伙的accid]
* @return $result [返回array数组工具]
*/
public function deleteFriend($accid,$faccid){
$url = 'https://api.netease.im/nimserver/friend/delete.action';
$data= array(
'accid' => $accid,
'faccid' => $faccid
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 密友关系-设置黑名单
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @param $targetAcc [被加黑或加静音的帐号]
* @param $relationType [本次操作的关系类型,1:黑名单操作,2:静音列表操作]
* @param $value [操作值,0:作废黑名单或静音;1:加入黑名单或静音]
* @return $result [返回array数组工具]
*/
public function specializeFriend($accid,$targetAcc,$relationType='1',$value='1'){
$url = 'https://api.netease.im/nimserver/user/setSpecialRelation.action';
$data= array(
'accid' => $accid,
'targetAcc' => $targetAcc,
'relationType' => $relationType,
'value' => $value
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 密友关系-查看黑名单列表
* @param $accid [云信ID,最大长度32字节,必须保证一个APP内唯一(只允许字母、数字、半角下划线_、@、半角点以及半角-组成,不区分巨细写,会统一小写处置)]
* @return $result [返回array数组工具]
*/
public function listBlackFriend($accid){
$url = 'https://api.netease.im/nimserver/user/listBlackAndMuteList.action';
$data= array(
'accid' => $accid
);
if($this->RequestType=='curl'){
$result = $this->postDataCurl($url,$data);
}else{
$result = $this->postDataFsockopen($url,$data);
}
return $result;
}
/**
* 新闻功效-发送通俗新闻
* @param $from [发送者accid,用户帐号,最大32字节,APP内唯一]
* @param $ope [0:点对点小我私人新闻,1:群新闻,其他返回414]
* @param $to [ope==0是示意accid,ope==1示意tid]
* @param $type [0 示意文本新闻,1 示意图片,2 示意语音,3 示意视频,4 示意地理位置信息,6 示意文件,100 自界说新闻类型]
* @param $body [请参考下方新闻示例说明中对应新闻的body字段。最大长度5000字节,为一个json字段。]
* @param $option [发新闻时特殊指定的行为选项,Json花样,可用于指定新闻的周游,存云端历史,发送方多端同步,推送,新闻抄送等特殊行为;option中字段不填时示意默认值]
* @param $pushcontent [推送内容,发送新闻(文本新闻除外,type=0), |
2.控制器代码
<?php
/**
* Created by PhpStorm.
* User: www.genban.org
*/
namespace Api\Controller;
use Think\Controller;
class YunxinController extends Controller{
private $model;
private $AppKey = ''; // key
private $AppSecret = ''; // secret
public function _initialize(){
// 实例云信的库
$this->model = new \Org\Util\YunxinServer($this->AppKey,$this->AppSecret,'curl');
}
/**
* 确立云信ID
*
*/
public function createUserId($userid)
{
$data = M('user')->field('id accid,username,nickname name,headimgurl icon')->where('is_del = 0 AND id='.$userid)->find();
$token = md5($data['accid'].'abc');
// 写入到云信服务器
$accid = 'abc'.$data['accid'];
$name = $data['name'];
$icon = $data['icon'];
$info = $this->model->createUserIds($accid,$name,'{}',$icon,$token);
return $info;
}
public function updateUinfos($accid,$name,$icon,$sign,$email,$birth,$mobile,$gender,$ex){
$info = $this->model->updateUinfo($accid,$name,$icon,$sign,$email,$birth,$mobile,$gender,$ex);
return $info;
}
// 获取指定用户的云信ID
public function getUinfos(){
$accid = I('request.id');
$accid = array($accid);
$info = $this->model->getUinfoss($accid);
print_r($info);
return $info;
}
// 确立谈天室
/**
* @param $accid 谈天室的ID
* @param $name 谈天室的名称
*/
public function chatroomCreate($accid,$name){
$info = $this->model->chatroomCreates($accid,$name);
return $info;
}
// 查询谈天室
public function chatroomget(){
$roomid = I('request.id');
$info = $this->model->chatroomgets($roomid);
print_r($info);
return $info;
}
/**
* 更新谈天室
* @param $roomid 谈天室ID
* @param $name 谈天室名称
* @return array
*/
public function chatroomUpdate($roomid,$name){
$info = $this->model->chatroomUpdates($roomid,$name);
return $info;
}
/**
* 修改谈天室开启或关闭谈天室
* @param $roomid 谈天室ID
* @param $operator 确立者ID
* @param string $status 修改照样关闭 false => 修改
*/
public function chatroomToggleClose($roomid,$operator){
$info = $this->model->chatroomToggleCloses($roomid,$operator);
return $info;
}
public function chatroomToggleStat($roomid,$operator){
$info = $this->model->chatroomToggleStats($roomid,$operator);
return $info;
}
/**
*设置谈天室内用户角色
* @param $roomid // 谈天室ID
* @param $operator // 操作者账号accid operator必须是确立者
* @param $target // **作者账号accid
* @param $opt
* 1: 设置为治理员,operator必须是确立者
2:设置通俗品级用户,operator必须是确立者或治理员
-1:设为黑名单用户,operator必须是确立者或治理员
-2:设为禁言用户,operator必须是确立者或治理员
* @param string $optvalue // true:设置;false:作废设置
*/
public function chatroomSetMemberRole($roomid,$operator,$target,$opt,$optvalue){
$info = $this->model->chatroomSetMemberRoles($roomid,$operator,$target,$opt,$optvalue);
return $info;
}
/**
* 云信新闻抄送接口
*/
public function receiveMsg()
{
$body = @file_get_contents('php://input');
$data = json_decode($body,true);
//file_put_contents('/data/server/work_justeasy_cn/debug.txt',$body);
if($data){
$d['eventType'] = $data['eventType'];
$d['attach'] = $data['attach'];
$d['ext'] = $data['ext'];
$d['fromAccount'] = $data['fromAccount'];
$d['fromAvator'] = $data['fromAvator'];
$d['fromClientType'] = $data['fromClientType'];
$d['fromExt'] = $data['fromExt'];
$d['fromNick'] = $data['fromNick'];
$d['msgTimestamp'] = $data['msgTimestamp'];
$d['msgType'] = $data['msgType'];
$d['msgidClient'] = $data['msgidClient'];
$d['resendFlag'] = $data['resendFlag'];
$d['roleInfoTimetag'] = $data['roleInfoTimetag'];
$d['roomId'] = $data['roomId'];
$d['antispam'] = $data['antispam'];
$info = M('receivemsg')->add($d);
if($info){
echo 200;
}
}else{
echo 500;
}
}
} |
linux 查看磁盘空间大小的命令和方法
1.Ubuntu 查看磁盘空间大小命令 df -h Df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息, 命令格式: df -hl 显示格式为: 文件系统 容
未经允许不得转载! 作者:网站源码,转载或复制请以超链接形式并注明出处x36交易网。
原文地址:https://www.x36.cn/post/3497.html发布于:2021-10-05




