php 文件操作实例

概述:
主要用到 fopen fwrite fclose 三个函数。
①. fopen()函数的用法为 fopen( “文件名”,”模式名”);
具体模式:如下图
这里写图片描述
②.fwrite()函数用法为fwrite(“文件名”, 字符串),即将 $字符串 写入 指定文件。

代码实例:

①. 整体文件操作框架:

<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");

$txt = "Bill Gates\n";
fwrite($myfile, $txt);
$txt = "Steve Jobs\n";
fwrite($myfile, $txt);

fclose($myfile);
?>

②以下 为本人 操作json文件,并写入json数据实例(高配玩家选读):

<?php 
error_reporting(E_ALL || ~E_NOTICE);//报错屏蔽设置
date_default_timezone_set('PRC');//设置默认时区

$file1 = "spark_sql_data.json";
$file2 = "spark_sql_tanzhen.json";
$fp1 = fopen($file1,"a+");



/* 本例用到的数据: 
data={"id":"0029c591","mmac":"5e:cf:7f:29:c5:91","rate":"1","wssid":"datasky1","wmac":"00:0c:43:76:20:59","time":"Tue Feb 21 08:13:31 2017", "lat":"30.747988","lon":"103.973152","addr":"四川省成都市郫县犀浦镇两河新街;围城南路与兴业南街路口东","data":[{"mac":"a4:56:02:61:7f:57","rssi":"-91 ","range":"91.5"},{"mac":"8c:a6:df:62:2d:3d","rssi":"-93","range":"108.5"},{"mac":"a4:56:02:71:be:b3","rssi":"-96","range":"140.1"},{"mac":" cc:34:29:97:4d:0d","rssi":"-95","range":"128.6"},{"mac":"44:33:4c:aa:71:82","rssi":"-94","range":"118.1"},{"mac":"b0:48:7a:5a:10:f8","rssi": "-86","range":"59.7"},{"mac":"a8:57:4e:9d:ca:d8","rssi":"-96","range":"140.1"},{"mac":"5e:cf:7f:93:3d:0e","rssi":"-56","range":"4.6"},{"mac ":"5e:cf:7f:93:3d:0f","rssi":"-58","range":"5.5"},{"mac":"5e:cf:7f:93:3d:10","rssi":"-63","range":"8.4"},{"mac":"5e:cf:7f:93:3d:0b","rssi":" -68","range":"12.9"},{"mac":"5e:cf:7f:93:3d:0c","rssi":"-53","range":"3.5"},{"mac":"5e:cf:7f:93:3d:0d","rssi":"-69","range":"14.0"},{"mac":" e4:f3:f5:24:2c:d8","rssi":"-89","range":"77.1"},{"mac":"14:cf:92:8a:8f:f0","rssi":"-96","range":"140.1"}]}POST /dsky HTTP/1.0*/ 





// 参数定义
 $flow_range = 10;
 $customer_range = 3;
 $insert_interval = 60;//插入相同用户的时间间隔






//获取来自探针通过 post传值方式 传过来的数据
$data=$_POST['data']; 


//解析数据
$obj=json_decode($data,TRUE); 
$id = $obj['id']; 
$mmac = $obj['mmac']; 
$rate = $obj['rate']; 
$wssid = $obj['wssid']; 
$wmac = $obj['wmac']; 
//$time = $obj['time']; 
$time = time(); 
$lat = $obj['lat']; 
$lon = $obj['lon']; 
$addr = $obj['addr']; 
$detail_data = $obj['data']; 



//--得到 Json_list 数组长度 
$num=count($obj['data']); 


$i=0;//循环变量 
$j=0;//在店人数统计
$k=0;//人流量统计

//--遍历数组,将对应信息输出 
for ($i;$i<$num;$i++) {  
 $mac=$detail_data [$i]["mac"];  
 $rssi=$detail_data [$i]["rssi"]; 
 $range=pow(10,(float)((int)abs($rssi)-59)/(10*2.0));
 $ts=$detail_data [$i]["ts"];
 $tmc=$detail_data [$i]["tmc"]; 
 $tc=$detail_data [$i]["tc"];  
 $ds=$detail_data [$i]["ds"]; 
 $essid1=$detail_data [$i]["essid1"]; 
 $essid2=$detail_data [$i]["essid2"]; 
 $essid3=$detail_data [$i]["essid3"];
 $essid4=$detail_data [$i]["essid4"];
 $essid5=$detail_data [$i]["essid5"]; 
 $essid6=$detail_data [$i]["essid6"]; 

 if((int)$range<= $flow_range&&(int)$range>=$customer_range){
     $k++;//客流量统计
 }



 //若检测到信号距离小于设定值,则认定为在店有效数据,即插入数据库
 if((float)$range<= $customer_range){
     $j++;//在店人数统计


     $detail_info["tanzhen_id"] = $id ;
     $detail_info["time"] = $time ;
     $detail_info["mac"] = $mac ;
     $detail_info["rssi"] = $rssi ;
     $detail_info["range"] = number_format($range,2) ;
     $detail_info["ts"] = $ts ;
     $detail_info["tmc"] = $tmc ;
     $detail_info["tc"] = $tc ;
     $detail_info["ds"] = $ds ;
     $detail_info["essid1"] = $essid1 ;
     $detail_info["essid2"] = $essid2 ;
     $detail_info["essid3"] = $essid3 ;
     $detail_info["essid4"] = $essid4 ;
     $detail_info["essid5"] = $essid5 ;
     $detail_info["essid6"] = $essid6 ;


     $detail_infor_json = json_encode($detail_info,TRUE);
     $detail_infor_json=$detail_infor_json."\n";
     print($detail_infor_json);
     fwrite($fp1,$detail_infor_json);



 }


 }   


     $fp2 = fopen($file2,"a+");

     $tanzhen_info["id"] = $id ;
     $tanzhen_info["mmac"] = $mmac ;
     $tanzhen_info["rate"] = $rate ;
     $tanzhen_info["wssid"] = $wssid ;
     $tanzhen_info["time"] = $time ;
     $tanzhen_info["lat"] = $lat ;
     $tanzhen_info["lon"] = $lon ;
     $tanzhen_info["addr"] = $addr ;
     $tanzhen_info["flow_num"] = $k ;
     $tanzhen_info["customer_num"] = $j ;

     $tanzhen_infor_json = json_encode($tanzhen_info,TRUE);
     $tanzhen_infor_json=$tanzhen_infor_json."\n";
     print($tanzhen_infor_json);
     fwrite($fp2,$tanzhen_infor_json);
 /*
 $sql ="INSERT INTO tanzhen (id,mmac,rate,wssid,wmac,TIME,lat,lon,addr,flow_num,customer_num) VALUES ('$id ','$mmac','$rate','$wssid ','$wmac','$time','$lat','$lon','$addr',$k,$j)"; //SQL语句


$result = mysql_query($sql,$conn); //查询
*/

 fclose($file1);
 fclose($file2);
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值