标签存档: PHP - 第7页

求全国当前不同地区的日出与日落时间

        一、准备全国经纬度数据文件

        二、看代码

fwrite(STDOUT,"请输入城市名:");
$city = trim(fgets(STDIN)); 
format_long_la($city);

function format_long_la($city){
    $arrtemp = get_long_la($city=$city); 
    if(count($arrtemp)==1){
        $newarr = explode(" ",$arrtemp[0]);$length = count($newarr);
        $long = explode(":",$newarr[$length-1]);//经度数组
        $la   = explode(":",$newarr[$length-2]);//纬度数组
        $arr  = array_merge($la,$long);$len = count($arr);
        for($i=0;$i<$len;$i++){//删除不能转换为数字类型的值
            if(!is_numeric($arr[$i])){
                unset($arr[$i]);
            }     
        }
        print_r($arr);
        
        echo date("Y M d D")."\n北纬".$arr[3]."\n东经".$arr[1]."\n".$city."的\n日出时间是:"
            .date_sunrise(time(),SUNFUNCS_RET_STRING,$arr[3],$arr[1],90,8)."\n";
        echo "日落时间是:".date_sunset(time(),SUNFUNCS_RET_STRING,$arr[3],$arr[1],90,8)."\n";
        
        fwrite(STDOUT,"请输入城市名:");
        $city = trim(fgets(STDIN)); 
        format_long_la($city);

    }else if(empty($arrtemp)){
        fwrite(STDOUT,"\n地址不存在,请输入详细地址:");
        $city = trim(fgets(STDIN)); 
        format_long_la($city);      
    }else{
        echo print_r(get_long_la($city=$city));
        fwrite(STDOUT,"\n包含".$city."的结果太多,请输入城市名:");
        $city = trim(fgets(STDIN)); 
        format_long_la($city);      
    }   
}
function get_rise_time(){}
function get_set_time(){}

function get_long_la($city="北京"){
    $arr = array(); 
    $file = 'thelongitudeandlatitude.html';
    if(file_get_contents($file)){
        $str = file_get_contents($file);
    }else{
        echo "文件不存在!";
    }
    $str = trim($str);
    $arr = explode("【",$str);$length = count($arr);//取'【'进行切割
    $strtemp = array();$ij= ""; 
    for($i = 1;$i < $length;$i++){
        if(!empty($arr[$i])&&$arr[$i]!=""){
            $arr[$i] = explode(";",$arr[$i]);//取';'进行切割
            $len = count($arr[$i]);
        }       
        for($j = 0;$j<$len;$j++){
            if(!empty($arr[$i][$j])&&$arr[$i][$j]!=""){
                $ij = $arr[$i][$j];
            }
            //echo "arr$i-$j:".$ij."</br>";
            if(strpos($ij,$city)){
                $strtemp[] = $ij;//break 2;//跳出双重循环,执行下边的语句
            }
        }
    }   
    return $strtemp;
}

        将代码与全国经纬度数据放在同一目录下,在php CLI环境下执行该文件就可。

        三、其他:全球78707个地址经纬度数据

$_SERVER预定义服务器变量

$_SERVER[‘PHP_SELF’] #当前正在执行脚本的文件名,与 document root相关。
$_SERVER[‘argv’] #传递给该脚本的参数。
$_SERVER[‘argc’] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。
$_SERVER[‘GATEWAY_INTERFACE’] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
$_SERVER[‘SERVER_NAME’] #当前运行脚本所在服务器主机的名称。

继续阅读 »

PHP中MySQL、MySQLi和PDO的用法和区别

MySQL 是 PHP 操作 MySQL 数据库最原始的 Extension。MySQLi 的 i 代表 Improvement ,提供了相对进阶的功能,就 Extension 而言,本身也增加了安全性。而 PDO(PHP Data Object)则是提供了一个 Abstraction Layer 来操作数据库,光从理论上看不出来有什么差别,所以就直接看代码吧。

首先,先来看一段用 MySQL 编写的代码:

继续阅读 »

3种方法修改PHP时区

PHP5.2.4之前的版本无需设置时区。下面是修改PHP时区的三个办法。

1、修改PHP.ini这个文件

找到date.timezone这行,去掉前面的分号,改成:

date.timezone = Asia/Shanghai

2、修改 .htaccess文件

修改.htaccess文件有两种办法,下面的两条语句只要有一条即可:

php_value date.timezone Asia/Shanghai

SetEnv TZ Asia/Shanghai

3、修改PHP代码

也是下面的两条语句只要其中的一句即可:

date_default_timezone_set(‘Asia/Shanghai’);

ini_set(‘date.timezone’,’Asia/Shanghai’);

例如: <?php date_default_timezone_set(‘Asia/Shanghai’); ?>

The purge of MYSQL&APACHE2&PHP

一、卸载删除 mysql

1 sudo apt-get autoremove –purge mysql-server-5.0
2 sudo apt-get remove mysql-server
3 sudo apt-get autoremove mysql-server
4 sudo apt-get remove mysql-common (非常重要)

上面的其实有一些是多余的,建议还是按照顺序执行一遍

清理残留数据:

dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P
sudo find /etc -name “mysql” |xargs rm -rf

最后用 dpkg -l | grep mysql 检查,如无返回即干净卸载
继续阅读 »