php ajax返回 json数据实例

 更新时间:2016年11月25日 16:50  点击:1417
本教程是一款php ajax返回 json数据实例哦,就是利用ajax实时的接受json.php文件发送的数据请求,并且进行了处理。
 代码如下 复制代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>php教程 ajax返回 网页特效on数据实例</title>
<script type="text/网页特效" language="javascript">
var xmlhttp;
function createxmlhttprequest()
{
//var xmlhttp=null;
try
  {
  // firefox, opera 8.0+, safari
  xmlhttp=new xmlhttprequest();
  }
catch (e)
  {
  // internet explorer
  try
    {
    xmlhttp=new activexobject("msxml2.xmlhttp");
    }
  catch (e)
    {
    xmlhttp=new activexobject("microsoft.xmlhttp");
    }
  }
return xmlhttp;
}
function startrequest(id)
{
    createxmlhttprequest();
    try
    {  
     url="json.php?cid="+id;
        xmlhttp.onreadystatechange = handlestatechange;
        xmlhttp.open("post", url, true);
        xmlhttp.send(null);
    }
    catch(exception)
    {
        alert("xmlhttp fail");
    }
}
function handlestatechange()
{
    if(xmlhttp.readystate == 4)
    {
        if (xmlhttp.status == 200 || xmlhttp.status == 0)
        {
            var result = xmlhttp.responsetext;
            var json = eval("(" + result + ")");
            alert('name:'+json.name);
            alert('age:'+json.age);
   alert('id:'+json.id);
        }
    }
}
</script>
</head>

<body>
<div>
        <input type="button" value="ajaxtest" onclick="startrequest(5);" />
    </div>
</body>
</html>

json.php 文件

 代码如下 复制代码

<?php
/**************************************************************
 *
 * 使用特定function对数组中所有元素做处理
 * @param string &$array  要处理的字符串
 * @param string $function 要执行的函数
 * @return boolean $apply_to_keys_also  是否也应用到key上
 * @access public
 *
 *************************************************************/
function arrayrecursive(&$array, $function, $apply_to_keys_also = false)
{
    static $recursive_counter = 0;
    if (++$recursive_counter > 1000) {
        die('possible deep recursion attack');
    }
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            arrayrecursive($array[$key], $function, $apply_to_keys_also);
        } else {
            $array[$key] = $function($value);
        }

        if ($apply_to_keys_also && is_string($key)) {
            $new_key = $function($key);
            if ($new_key != $key) {
                $array[$new_key] = $array[$key];
                unset($array[$key]);
            }
        }
    }
    $recursive_counter--;
}

/**************************************************************
 *
 * 将数组转换为json字符串(兼容中文)
 * @param array $array  要转换的数组
 * @return string  转换得到的json字符串
 * @access public
 *
 *************************************************************/
function json($array) {
 arrayrecursive($array, 'urlencode', true);
 $json = json_encode($array);
 return urldecode($json);
}

$array = array
       (
          'name'=>'希亚',
          'age'=>20,
    'id'=>$_post['cid']
       );


 

echo json($array);
/*********
 {"name":"希亚","age":"20"}
?>

下面的实例是利用php 正则替换函数 ereg_replace来把指定的字符替换成我想需要的字符实例。

    

 代码如下 复制代码
$num = 'www.111cn.net';
     $string = "this string has four words. <br>";
     $string = ereg_replace ('four', $num, $string);
     echo $string;
 
     $num = '49';
     $string = "this string has four words";
     $string = ereg_replace ('four', $num, $string);
     echo $string;
 
 
   $string ="测试用文字";
   echo "**********$string**********<p>";
   $string = ereg_replace ("^", "<br>", $string);
   $string = ereg_replace ("$", "<br>", $string);
   echo "==========$string==========";
这是一款简单的php目录与文件操作的入门教程,我们主要是讲三个函数opendir、readdir和closedir的使用方法。
 代码如下 复制代码

$dir = "d:www.111cn.net";

//打开目录$dir,并将目录句柄赋给变量$dh
if($dh = opendir($dir))
{
    //通过while循环,使用函数readdir获取文件名
    while(($file_name = readdir($dh)) !== false)
    {
        echo "file name: ".$file_name;
        echo "<br/>";
        echo "<br/>";
    }
   
    //处理完成后,关闭目录句柄$dh
    closedir($dh);
}

/*
opendir定义和用法
opendir() 函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用。

若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 "@" 来隐藏 error 的输出。

语法
opendir(path,context)


readdir定义和用法
readdir() 函数返回由 opendir() 打开的目录句柄中的条目。

若成功,则该函数返回一个文件名,否则返回 false。

语法
readdir(dir_stream)

closedir() 函数关闭由 opendir() 函数打开的目录句柄。

语法
closedir(dir_stream)

php 读取文件内容与向文件写入数据这里主要是讲一行行写数据到文件,也一行行读出文件的内容。

*/

 代码如下 复制代码

$fp = fopen($_server['document_root']."/../data/info.dat",'r');

if(!$fp)
{
    echo "<b>error: 打开文件错误,请检查目录是否正确,或稍后再试!</b>";
    exit;
}

while(!feof($fp))
{
    $line = fgets($fp);
    echo $line;
    echo '<br/>';
}

fclose($fp);

//写文件

 代码如下 复制代码

$file = "data.txt";
$content = "内容标题 www.111cn.net 内容第二行";    //要写入的内容

if(!$fp = fopen($file,'a'))                           //打开文件$file时,使用追加模式,此时文件指针会在文件开始处
{
    echo "打开文件$file失败!";
    exit;
}

if(fwrite($fp,$content) === false)                    //将内容写入文件
{
    echo "写入文件失败!";
    exit;
}

echo "写入文件成功!";
fclose($fp);

 

 

创建目录就用mkdir有一点像dos里面的创建目录哦,方法很简单,关于删除目录,这里用了rmdir,但是只删除空目录,不能删除里面有文件或文件夹的目录,如果要删除不是空目录就要用递归来删除了/
 代码如下 复制代码

$dir_name = "www.111cn.net";

if(mkdir($dir_name))    //在当前目录下创建目录tmp_data
{
    echo "目录".$dir_name."创建成功!";
   
    //在目录tmp_data中创建一个文件tmp.txt,并向其中写入一些内容
    if($fp = fopen($dir_name."/www.111cn.net.txt",'a'))
    {
        if(fwrite($fp,"put some contenets into file."))
        {
            echo "<hr>";
            echo "在目录".$dir_name."下创建文件tmp.txt";
        }
    }
}
else
{
    echo "创建目录失败!";
    exit;
}
echo "<hr>";

if(rmdir($dir_name))    //尝试删除目录tmp_data
{
    echo "删除目录".$dir_name."成功!";
}
else
{
    echo "删除目录失败!";
    exit;
}

/*
总结:

*/

[!--infotagslink--]

相关文章

  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • php简单数据操作的实例

    最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • Antd-vue Table组件添加Click事件,实现点击某行数据教程

    这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
  • mybatis-plus 返回部分字段的解决方式

    这篇文章主要介绍了mybatis-plus 返回部分字段的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-02
  • 详解如何清理redis集群的所有数据

    这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
  • vue 获取到数据但却渲染不到页面上的解决方法

    这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • mybatis-plus 处理大数据插入太慢的解决

    这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
  • postgresql数据添加两个字段联合唯一的操作

    这篇文章主要介绍了postgresql数据添加两个字段联合唯一的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-04
  • Vue生命周期activated之返回上一页不重新请求数据操作

    这篇文章主要介绍了Vue生命周期activated之返回上一页不重新请求数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-26
  • SQLMAP结合Meterpreter实现注入渗透返回shell

    sqlmap 是一个自动SQL 射入工具。它是可胜任执行一个广泛的数据库管理系统后端指印, 检索遥远的DBMS 数据库等,下面我们来看一个学习例子。 自己搭建一个PHP+MYSQ...2016-11-25
  • c# socket网络编程接收发送数据示例代码

    这篇文章主要介绍了c# socket网络编程,server端接收,client端发送数据,大家参考使用吧...2020-06-25
  • vue 数据(data)赋值问题的解决方案

    这篇文章主要介绍了vue 数据(data)赋值问题的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-29
  • Python3 常用数据标准化方法详解

    这篇文章主要介绍了Python3 常用数据标准化方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-24
  • 解决vue watch数据的方法被调用了两次的问题

    这篇文章主要介绍了解决vue watch数据的方法被调用了两次的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-07
  • node.js从数据库获取数据

    这篇文章主要为大家详细介绍了node.js从数据库获取数据的具体代码,nodejs可以获取具体某张数据表信息,感兴趣的朋友可以参考一下...2016-05-09
  • 分享MYSQL插入数据时忽略重复数据的方法

    使用下以两种方法时必须把字段设为”主键(PRIMARY KEY”或”唯一约束(UNIQUE)”。1:使用REPLACE INTO (此种方法是利用替换的方法,有点似类于先删除再插入) 复制代码 代码如下:REPLACE INTO Syntax REPLACE [LOW_PRIO...2013-10-04
  • PostgreSQL 恢复误删数据的操作

    这篇文章主要介绍了PostgreSQL 恢复误删数据的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-18
  • C#实现窗体间传递数据实例

    这篇文章主要介绍了C#实现窗体间传递数据实例,需要的朋友可以参考下...2020-06-25