ajax完结事件监听及后台php数据交互实例,php自动识别文字编码并更动为对象编码的措施

纵然未来利用jquery能够正确地判断出当下选拔的是这种客户端,不过一时根据作用和须求,咱们兴许必要用php来推断当前程序运维的条件,jquery在那边就背着了,这里直接讲讲php是怎么落到实处的,希望对我们有着帮助。

本文实例叙述了php自动识别文字编码并转移为指标编码的办法。分享给大家供我们参谋。具体如下:

本文实例陈诉了vue.js过滤器+ajax落成事件监听及后台php数据交互。分享给咱们供大家参照他事他说加以考察,具体如下:

php获取文件名称和扩大名

大家首先来推断当前运作条件是pc(电脑端)依然sp(手提式有线电话机,ipad端)

在PHP管理页面的时候,我们对此字符集的调换都以采取了iconv只怕mb_convert等函数,但,那其实是有三个前提的。即大家事先得明白in和out是什么样的编码,我们技能进行精确的转变。

在vue.js开拓时,数据能够使用jquery和vue-resource来获取数据。在获取数据时,一定必要给三个数量起始值。

1.basename()-再次来到路线的文件名

class self_test { 

 const PC = 'pc'; 

 const SP = 'sp'; 

 private $_splist = array('iPhone','Android','iPod','iPad','Tizen');//设置经常使用的sp终端,暂时常用的sp端就这几种,如果有的话大家也可以增加 

 private $terminal; 

 public function __construct(){ 
  $this->setTerminal();//通过setTerminal()方法获取到$terminal变量的值 
 } 

 /* 
  * function setTerminal() 
  * 获取终端信息 
  * @return string 
  */ 

 private function setTerminal(){ 
  $isSp = false; 
  foreach($this->_splist as $spname){ 
   if (strstr($_SERVER['HTTP_USER_AGENT'], $spname)) { 
    $isSp = true; 
    break; 
   } 
  } 
  return $this->terminal = ($isSp) ? self::SP : self::PC; 
 } 

 /* 
  * function PC_SP() 
  * 输出终端信息 
  * @return string 
  */ 
 public function PC_SP(){ 
  return $this->terminal; 
 } 
} 

$str = new self_test(); 
echo $str->PC_SP();//输出目前客户使用的是PC还是SP 

尽管大多转变都以在gbk和utf-8之间转,但万一不掌握转变对象的编码如何是好呢?Google出来那样三个函数safeEncoding,能够不难的识别UTF8和GBK的编码。那个函数在任其自流水平上识别的很精确,但是在部分相比复杂的条件中就不是那么的好用了.
上面作者结合了GBK和UTF-8编码的分裂点,使用正则表明式来决断UTF-8编码并应用mb_convert_encoding函数来拓展调换.
在国内,基本上相比较盛行的编码正是GBK和UTF-8,
所以那么些函数是对准那四个编码实行机动转变的.

index.html:

请看下边php代码:

2.确切剖断当前的运作意况并出口客户端环境

/**
* @ string 需要转换的文字
* @ encoding 目标编码
**/
function detect_encoding($string,$encoding = 'gbk'){
 $is_utf8 = preg_match('%^(?:[\x09\x0A\x0D\x20-\x7E]| [\xC2-\xDF][\x80-\xBF]| \xE0[\xA0-\xBF][\x80-\xBF] | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  | \xED[\x80-\x9F][\x80-\xBF] | \xF0[\x90-\xBF][\x80-\xBF]{2} | [\xF1-\xF3][\x80-\xBF]{3} | \xF4[\x80-\x8F][\x80-\xBF]{2} )*$%xs', $string);
 if($is_utf8 && $encoding == 'utf8'){
  return $string;
 }elseif($is_utf8){
  return mb_convert_encoding($string, $encoding, "UTF-8");
 }else{
  return mb_convert_encoding($string, $encoding, 'gbk,gb2312,big5');
 }
} 
<!doctype html>
<html lang="zh-CN">
<head>
 <meta charset="UTF-8">
 <title>
 vuejs 过滤器、ajax数据、嵌套循环、if判断、事件监听
 </title>
 <style type="text/css">
  [v-cloak] { display: none }
 </style>
</head>
<body>
 <div id="app">
  <button v-on:click="getData">ajax获取数据</button>
  <table>
   <tr>
    <td >id</td>
    <td >姓名</td>
    <td >手机号</td>
    <td >城市</td>
    <td >性别</td>
    <td >通过审核</td>
    <td >我的学生</td>
    <td >操作</td>
   </tr>
   <tr v-for="(item,index) in list ">
    <td>{{item.id}}</td>
    <td>{{item.name}}</td>
    <td>{{item.tel}}</td>
     <td>{{item.sex | sexFormat}}</td>
    <td>{{item.province}}_{{item.city}}</td>
    <td v-if="item.status==1">是</td>
    <td v-else-if="item.status==0">否</td>
    <td >

     {{stu.name}},

    </td>
    <td>
     <button v-on:click="edit">修改</button>
     <button v-on:click="del(index)">删除</button>
    </td>
   </tr>
  </table>
 </div>
</body>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js" charset="utf-8"></script>
<script src="https://cdn.bootcss.com/vue/2.3.0/vue.min.js" charset="utf-8"></script>
<script type="text/javascript">
$(function() {
 Vue.filter('sexFormat',function (value){
  if(value == 1){
   return "男";
  }
  else return "女";
 });
 new Vue({
  el: '#app',
  methods: {
   getData: function(){
     var url="json.php";
     var _self=this;
     $.get(url,function(data){
      _self.list=eval("(" + data +")");
     })
   },
   del:function(index){
    this.list.splice(index,1);
   },
   edit: function () {
    alert('修改')
   },
  },
  data: {
   "list":[{
    "id":"139",
    "name":"王五",
    "tel":"13681829898",
    "status":"1",
    "province":"省",
    "city":"市",
    "sex":"1",
    "stu":[{
     "id":"200",
     "name":"学生1",
     "tel":"13681829898",
    },{
     "id":"201",
     "name":"学生2",
     "tel":"13681829898",
    }],
   },
   {
    "id":"138",
    "name":"麻子",
    "tel":"13681829898",
    "status":"0",
    "province":"省",
    "city":"市",
    "sex":"0",
    "stu":[{
     "id":"300",
     "name":"学生31",
     "tel":"13681829898",
    },{
     "id":"301",
     "name":"学生32",
     "tel":"13681829898",
    }],
   },
   {
    "id":"137",
    "name":"丽丽",
    "tel":"15152882891",
    "status":"0",
    "province":"省",
    "city":"市",
    "sex":"1",
    "stu":[{
     "id":"400",
     "name":"学生41",
     "tel":"13681829898",
    },{
     "id":"401",
     "name":"学生42",
     "tel":"13681829898",
    }],
   },
   {
    "id":"136",
    "name":"娜娜",
    "tel":"15152882891",
    "status":"0",
    "province":"省",
    "city":"市",
    "sex":"0",
    "stu":[{
     "id":"500",
     "name":"学生51",
     "tel":"13681829898",
    },{
     "id":"501",
     "name":"学生52",
     "tel":"13681829898",
    }],
   }]
  }
 })
})
</script>
</html>
<?php

$path =
"/usr/www/html/index.php";

echo basename($path)."<br>";

//如果选择suffix则忽略扩展名

echo basename($path,".php");

?>
class self_test {  
 const PC = 'pc';  
 const SP = 'sp';  
 private $_splist = array('iPhone','Android','iPod','iPad','Tizen');//设置经常使用的sp终端,暂时常用的sp端就这几种,如果有的话大家也可以增加 
 private $environment;  
 public function __construct(){ 
  $this->setEnvironment();//通过setEnvironment()方法获取到$terminal变量的值 
 } 

 /* 
  * function environment() 
  * 输出终端信息 
  * @return string 
  */ 
 public function environment(){ 
  return $this->environment; 
 } 

 /* 
  * function setEnvironment() 
  * 获取终端信息 
  * @return string 
  */ 
 private function setEnvironment(){ 
  $isSp = self::PC;//如果是PC端,就不需要判断是安卓还是apple了,所以只输出pc就可以 
  foreach($this->_splist as $spname){ 
   if (strstr($_SERVER['HTTP_USER_AGENT'], $spname)) { 
    $isSp = $spname; 
    break; 
   } 
  } 
  return $this->environment = $isSp; 
 } 
} 
$str = new self_test(); 
echo $str->environment();//输出目前客户使用的终端 

企望本文所述对大家的php程序设计有着协助。

ajax完结事件监听及后台php数据交互实例,php自动识别文字编码并更动为对象编码的措施。json.php:

ajax完结事件监听及后台php数据交互实例,php自动识别文字编码并更动为对象编码的措施。运维结果:

如上代码都以和谐拨运输行成功之后贴出来分享的原委,所以大家能够在融洽的条件下调节和测量试验。

您恐怕感兴趣的小说:

  • 基于jquery的textarea发表框限制文字字数输入(加多普通话识别)
  • 比喻解说Java的RTTI运维时类型识别机制
  • java识别一篇作品中某单词出现个数的章程
  • Java基于直方图应用的一般图片识别实例
  • Java进级教程之运营时类型识别RTTI机制
  • java网络编制程序之识别示例
    获取主机互联网接口列表
  • java asp剖析种种寻觅引擎的机要字,自动识别url
    中珍视字的编码
  • 基于OpenCV的PHP图像人脸识别技能
  • View中如何进展手势识别onFling动作落实介绍
  • 识别率极高的java文字识别手艺
<?php
header("Content-type:text/html;charset=utf-8");
for($i=1;$i<6;$i++){
 $data[]=array(
  'id'=>$i,
  'name'=>'test'.$i,
  'tel'=>'1368585789'.$i,
  'status'=>1,
  'province'=>'上海市',
  'city'=>'上海市',
  'sex'=>1,
  'stu'=>array(array('id'=>$i,'name'=>'stu'.$i,'tel'=>'1568585789')),
 );
}
echo json_encode($data);exit;

index.php

以上正是本文的全部内容,希望对大家的上学抱有扶助,也意在大家多多协助脚本之家。

运转结果:

index

你或然感兴趣的篇章:

  • php
    feof用来辨别文件末尾字符的主意
  • PHP自动识别字符集并成功转码详解

www.5929.com 1

2.dirname()-再次回到当前剧本的文件路线!

瞩望本文所述对我们vue.js程序设计有着援助。

php代码:

您恐怕感兴趣的稿子:

  • AngularJS与后端php的数额交互格局
  • 浅析PHP与Python实行数量交互
  • 详解php与ethereum客户端交互
  • PHP
    MYSQL简易交互式站点开拓
  • php微信徒人平台相互与接口详解
  • 利用php做服务器和web前端的分界面进行相互
  • PHP与服务器文件系统的简约交互
  • PHP与以太坊交互详解
<?php

//——FILE__返回文件完整路径

$dir = dirname(__FILE__);

echo $dir;

?>

运作结果:

F:\web\zend\exercise

3.pathinfo() 重回叁个关周密组包罗有 path
的音信。

总结以下的数组单元:路线名称dirname,文件名称basename 和
扩张名称extension。

www.5929.com,请看上边轻易代码演示:

<?php

$path =
"/usr/www/html/index.php";

$pathinfo 
= pathinfo($path);

echo "目录名称:$pathinfo[dirname]<br>";

echo "文件名称:$pathinfo[basename]<br>";

echo "扩展名:$pathinfo[extension]";

?>

运维结果:

目录名称:/usr/www/html

文件名称:index.php

扩展名:php

4.realpath —
重回标准化的断然路线名

php代码如下:

<?php

$path =
"./exercise/php.txt";

$realpath 
= realpath($path);

echo $realpath;

?>

末段注意贰个小技艺:不相同路子的文本路线操作符大概,差别,windows下能够用”/”和”\”,

linux下只好用”/”,所以开荒的时候,建议都用”/”,如作者上面包车型地铁文件路线写法!

以上就是本文的全部内容,希望对大家的读书抱有协理,也期待我们多多帮助脚本之家。

您可能感兴趣的稿子:

  • PHP中得到文件扩展名的N种方法小结
  • PHP获取文件扩大名的4种办法
  • php退换目录及子目录下有所的公文后缀增添名的代码
  • php获得文件扩大名三法
  • php文件扩张名决断及取得文件扩张名的N种方法
  • php完成不经过增添名准确剖断文件类型的艺术【finfo_file方法与二进制流】
  • php从给定url获取文件扩充名的法子
  • PHP获取文件扩展名的点子实例计算
  • PHP达成的获取文件mimes类型工具类示例
  • php正确获取文件MIME类型的艺术
  • php完结获取文件mime类型的格局
  • PHP获取文件扩张名的常用方法小结【种种方法】

Leave a Comment.