鹰击长空yuetao.org

欢迎光临
8月 6
PHP 代码复制内容到剪贴板
            
  1. /* 
  2.             
  3. * 获取2个坐标系之间的距离 
  4.             
  5. */  
  6.             
  7. function getDistanceBetweenPointsNew($latitude1$longitude1$latitude2$longitude2) {  
  8.             
  9.   $theta = $longitude1 - $longitude2;  
  10.             
  11.   $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));  
  12.             
  13.   $miles = acos($miles);  
  14.             
  15.   $miles = rad2deg($miles);  
  16.             
  17.   $miles = $miles * 60 * 1.1515;  
  18.             
  19.   $feet = $miles * 5280;  
  20.             
  21.   $yards = $feet / 3;  
  22.             
  23.   $kilometers = $miles * 1.609344;  
  24.             
  25.   $meters = $kilometers * 1000;  
  26.             
  27.   return compact('miles','feet','yards','kilometers','meters');   
  28.             
  29. }  

 

SQL 代码复制内容到剪贴板
            
  1. /*  
  2.             
  3. * 根据商家的经纬度坐标 和 当前用户的坐标 按照距离进行排序的sql  
  4.             
  5. *  
  6.             
  7. * 用户的经度:140    
  8.             
  9. * 用户的纬度:38  
  10.             
  11. */  
  12.             
  13. select * from (select abs( (lng-38) + (lat-140)) as juli,com,lng,lat from 商家表 where lng>0 and lat >0) as jl order by jl.juli asc  

 

 

 

8月 6

 使用 navigator.geolocation 拿到的坐标点经纬度时没法直接对接百度地图的,需要调用百度地图的坐标转换接口,生成百度对应的坐标,才能使用

JavaScript 代码复制内容到剪贴板
            
  1. function Location() {};  
  2.             
  3.    
  4.             
  5. Location.prototype.getLocation = function (callback) {  
  6.             
  7.     var options = {  
  8.             
  9.         enableHighAccuracy: true,  
  10.             
  11.         maximumAge: 1000  
  12.             
  13.     };  
  14.             
  15.     this.callback = Object.prototype.toString.call(callback) == "[object Function]" ?  
  16.             
  17.         callback :  
  18.             
  19.     function (address) {  
  20.             
  21.         alert(address.province + address.city);  
  22.             
  23.         console.log("getocation(callbackFunction) 可获得定位信息对象");  
  24.             
  25.     };  
  26.             
  27.     var self = this;  
  28.             
  29.     if (navigator.geolocation) {  
  30.             
  31.         //浏览器支持geolocation  
  32.             
  33.         navigator.geolocation.getCurrentPosition(function (position) {  
  34.             
  35.             //经度  
  36.             
  37.             var longitude = position.coords.longitude;  
  38.             
  39.             //纬度  
  40.             
  41.             var latitude = position.coords.latitude;  
  42.             
  43.             self.loadMapApi(longitude, latitude);  
  44.             
  45.         }, self.onError, options);  
  46.             
  47.     } else {  
  48.             
  49.         //浏览器不支持geolocation  
  50.             
  51.         console.log('浏览器不支持geolocation');  
  52.             
  53.     }  
  54.             
  55. };  
  56.             
  57.   
  58.             
  59. Location.prototype.loadMapApi = function (longitude, latitude) {  
  60.             
  61.     var self = this;  
  62.             
  63.     var point = new BMap.Point(longitude, latitude);  
  64.             
  65.     var gc = new BMap.Geocoder();  
  66.             
  67.     gc.getLocation(point, function (rs) {  
  68.             
  69.         var addComp = rs.addressComponents;  
  70.             
  71.         self.callback(longitude,latitude,addComp);  
  72.             
  73.     });  
  74.             
  75.       
  76.             
  77. };  
  78.             
  79.   
  80.             
  81. Location.prototype.onError = function (error) {  
  82.             
  83.     switch (error.code) {  
  84.             
  85.     case 1:  
  86.             
  87.         console.log("位置服务被拒绝");  
  88.             
  89.         break;  
  90.             
  91.     case 2:  
  92.             
  93.         console.log("暂时获取不到位置信息");  
  94.             
  95.         break;  
  96.             
  97.     case 3:  
  98.             
  99.         console.log("获取信息超时");  
  100.             
  101.         break;  
  102.             
  103.     case 4:  
  104.             
  105.         console.log("未知错误");  
  106.             
  107.         break;  
  108.             
  109.     }  
  110.             
  111. };  
  112.             
  113.   
  114.             
  115. //调用  
  116.             
  117. var local = new Location();  
  118.             
  119.   
  120.             
  121. window.setTimeout(function(){  
  122.             
  123.     //获取原始坐标点  
  124.             
  125.     local.getLocation(function (longitude,latitude,res) {  
  126.             
  127.         //此处就是返回的地理位置信息  
  128.             
  129.         console.log("longitude:"+longitude+" latitude:"+latitude);  
  130.             
  131.   
  132.             
  133.   
  134.             
  135.         var convertor = new BMap.Convertor();  
  136.             
  137.         var pointArr = [];  
  138.             
  139.         pointArr.push(new BMap.Point(longitude,latitude));  
  140.             
  141.   
  142.             
  143.         //原始坐标点经纬度,转化成百度的  
  144.             
  145.         convertor.translate(pointArr, 1, 5, function(data){  
  146.             
  147.             var lat = data.points[0].lat;  //获取到的百度坐标 经度  
  148.             
  149.             var lng = data.points[0].lng;  //获取到的百度坐标 纬度  
  150.             
  151.             console.log(data);  
  152.             
  153.         });  
  154.             
  155.           
  156.             
  157.     });  
  158.             
  159. },2000);  

 

8月 11
PHP 代码复制内容到剪贴板
                
  1. $priKey = file_get_contents($private_key_path);  
  2.                     
  3.   $res = openssl_get_privatekey($priKey);  
  4.                     
  5.   var_dump($res);exit;  
open_get_privatekey 返回值 为 false ,经检查私钥文件发现私钥文件的换行被删除,整个私钥KEY都放在了同一行,后来恢复被删除的换行,每64个字节自动换一行,问题解决
Tags:
2月 2

sudo 配置文件里面已经加上了nopasswd  执行某个脚本,

 

但是运行脚本的时候 还是提示输入密码

 

经过测试发现 sudo 里面的脚本授权 是根据路径来的

 

如果授权路径是 /bin/uname  那么 如果直接执行 uname 是不会被授予权限的 只能是 /bin/name 写上完整的路径才可以

1月 20
命令 >&1  //普通输出
命令 >&2  //错误输出
 
一 相关知识

1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |)。
2)默认地,标准的输出为终端(terminal),但是也可以重定向到文件,管道或后引号(backquotes `)。
3) 默认地,标准的错误输出到终端,但是也可以重定向到文件。
4)标准的输入,输出和错误输出分别表示为STDIN,STDOUT,STDERR,也可以用0,1,2来表示。
5)其实除了以上常用的3中文件描述符,还有3~9也可以作为文件描述符。3~9你可以认为是执行某个地方的文件描述符,常被用来作为临时的中间描述符。


二 实例

1)command 2>errfile : command的错误重定向到文件errfile。
2)command 2>&1 | ...: command的错误重定向到标准输出,错误和标准输出都通过管道传给下个命令。
3)var=`command 2>&1`: command的错误重定向到标准输出,错误和标准输出都赋值给var。
4)command 3>&2 2>&1 1>&3 | ...:实现标准输出和错误输出的交换。
5)var=`command 3>&2 2>&1 1>&3`:实现标准输出和错误输出的交换。
6)command 2>&1 1>&2 | ...     (wrong...) :这个不能实现标准输出和错误输出的交换。因为shell从左到右执行命令,当执行完2>&1后,错误输出已经和标准输出一样的,再执行 1>&2也没有意义。


三 "2>&1 file"和 "> file 2>&1"区别

1)cat food 2>&1 >file :错误输出到终端,标准输出被重定向到文件file。
2)cat food >file 2>&1 :标准输出被重定向到文件file,然后错误输出也重定向到和标准输出一样,所以也错误输出到文件file。


四 注意
通 常打开的文件在进程推出的时候自动的关闭,但是更好的办法是当你使用完以后立即关闭。用m<&-来关闭输入文件描述符m,用 m>&-来关闭输出文件描述符m。如果你需要关闭标准输入用<&-; >&- 被用来关闭标准输出。


五 同时输出到终端和文件 copy source dest | tee.exe copyerror.txt
分页: 1/61 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]