使用新主题了,大家给个意见哈

代码行数统计

六 6th, 2009

Linux统计当前目录代码行数
find . -name “*.php” -exec wc -l {} \; | awk ‘BEGIN {f=0;l=0} {f++;l=l+$1} END {printf(“total: %d files, %d lines\n”,f,l)}’

标签:

苏州归来……

六 2nd, 2009

苏州归来,只有照片 :mrgreen:

标签:

fsockopen中用feof判断读取http响应内容

五 31st, 2009

我们通常使用fsockopen打开一个$fp来发送http头,请求后用feof判断是否读完来获取服务器响应的内容。
但是这使用feof时要特别注意一点,php手册上关于feof有这样一个说明:

Warning
如果服务器没有关闭由 fsockopen() 所打开的连接,feof() 会一直等待直到超时而返回 TRUE。默认的超时限制是 60 秒,可以使用 stream_set_timeout() 来改变这个值。

也就是一个打开的socket连接,没有在读完后关闭,feof会一直返回true直到超时
看如下代码:

$url = "/N_StockQuote.aspx?StockCode=002024&StockMarket=2";
$fp = fsockopen('hqdigi.eastmoney.com',80,$errno,$errstr,10);
if(!$fp){
 die("Network error or invalid stock code\r\n");
}elseif($error){
 die("$error:$errstr\r\n");
}else{
 $request = "GET $url HTTP/1.1\r\n";
 $request .= "Host: hqdigi.eastmoney.com\r\n";
 $request .= "Pragma: no-cache\r\n";
 $request .= "Cache-Control: no-cache\r\n\r\n";
 fwrite($fp,$request);//发送请求头
 while(!feof($fp)){
  $tmp .= fgets($fp,1024);//获取服务器返回信息
 }
}

运行这代码就有问题了,while进入死循环,直到超时

因此,稍作改动,请求头部最后加上Connection:close,来告诉服务器,响应完就断开

标签:

C语言通过mysql的 C API访问MySQL

五 23rd, 2009
#include <mysql.h>
#include <stdio.h>
int main(){
    char host[32] = "localhost";
    char user[32] = "root";
    char password[32] = "123123";
    char db[32] = "wordpress";
    char sql[100];
    MYSQL mysql;
    MYSQL_RES *res;
    MYSQL_ROW row;
    mysql_init(&mysql);
    mysql_real_connect(&mysql,host,user,password,db,3306,NULL,0);
    gets(sql);
    mysql_query(&mysql,sql);
    if(mysql_errno(&mysql) > 0){
        printf("%s\n",mysql_error(&mysql));
        return 1;
    }else{
        res = mysql_store_result(&mysql);
    }
    while((row = mysql_fetch_row(res))){
        printf("%s\t%s\n",row[0],row[1]);
    }
    mysql_close(&mysql);
    return 0;
}

编辑选项(还不是很清楚,待研究后补充)
-L指定库的路径,
-l指定具体的库文件。
gcc -g -o my my.c -L./ -I./ `mysql_config –cflags –libs`

MySQL C API参考

标签:

西湖湖滨的音乐喷泉

五 21st, 2009

西湖湖滨的音乐喷泉,MS周末晚上都有,每半小时开放?

标签:

Ubuntu自带PDF阅读器evince部分中文档不能显示问题

五 21st, 2009

今天下一个文档,发现除菜单外,内容页的中文均不显示。而之前很多中文PDF均正常。折腾一会未果,GOOGLE下,据说是这样:evince基于poppler,一些用LaTex生成的PDF需要安装 poppler-data,果然apt-get install poppler-data……OK~至于为啥,还未深究

标签:

PHP与Mysql函数对照整理

五 20th, 2009

平时对MYSQL函数使用较少,想使用时确不记得函数名及参数用法。
现对比PHP整理下,便于记忆……
本页将不断更新,直至完善

标签:

php的$HTTP_RAW_POST_DATA

五 11th, 2009

今天一同事问我,他用了Content-Type=text/xml型,提交了一个xml文档内容给了php server,要怎么获得这个POST数据。

这把我愣住了,以前确实没写过这样的POST,赶紧查手册,发现有$HTTP_RAW_POST_DATA 这一项。对此的解释是:The RAW / uninterpreted HTTP POST information can be accessed with:   $GLOBALS['HTTP_RAW_POST_DATA'] This is useful in cases where the post Content-Type is not something PHP understands (such as text/xml).

意思是,由于PHP默认只识别application/x-www.form-urlencoded标准的数据类型,因此,对型如text/xml的内容无法解析为$_POST数组,故保留原型,交给$HTTP_RAW_POST_DAT来接收。

php通过localhost访问mysql.sock

五 9th, 2009

经常我们编译mysql会指定prefix,把生成的bin,lib这些目录到指定位置,或又指定数据目录等。
那我们就需要在my.cnf修改相关选项,如basedir,datadir等……

标签:

新装ubuntu一些设置及安装

四 25th, 2009

SCIM安装拼音和五笔

装上中文拼音

sudo apt-get install scim-pinyin
………..

标签: , ,