新手请教个PHP查找TXT内容并输出的问题!1.TXT里的内容如下:
101010100=北京
101010200=海淀
101010300=朝阳
101010400=顺义
101010500=怀柔
101010600=通州
101010700=昌平
101010800=延庆
101010900=丰台
101011000=石景山
101011100=大兴
101011200=房山
101011300=密云
101011400=门头沟
101011500=平谷
101011600=八达岭我想通过PHP来实现查询
比如http://127.0.0.1/1.php?city=北京    就能找到对应的101010100
不会PHP    只好来求助,麻烦大虾给段详细的代码!

解决方案 »

  1.   


    //随便写了下,注意data.txt为gb2312编码<?
    $city=$_REQUEST["city"];
    $city=iconv("utf-8","gb2312",$city);
    if ($city)
    {
    $fp=fopen("data.txt","r");
    while (!feof($fp))
    {
    $buffer = fgets($fp);
    list($code,$area)=explode("=",$buffer);
    if (trim($area)==$city)
    {
    echo $code;
    } }
    fclose($fp);}
    ?>
      

  2.   


    $arr=file("demo.txt");
    $str= join('&',(array_map('trim',$arr)));
    parse_str($str,$ar);
    echo array_search($_GET['city'],$ar);
      

  3.   


    赞一个不过这个$str貌似会很大,,如果demo.txt的内容多的话
      

  4.   

    有个问题,查找的时候不能自动转换中文编码,无法查询!http://127.0.0.1/1.php?city=北京
    将北京转换成  %E5%8C%97%E4%BA%AC
    才能正常查询!
      

  5.   

    我改成  $city=UrlEncode( $_REQUEST["city"]);   也不行,求解!
      

  6.   


    我用2楼的代码,不是产生乱码,是因为中文不UrlEncode就无法查询!
      

  7.   


    UrlEncode 过来后 urldecode 解出正确的中文
      

  8.   

    echo urldecode("%E5%8C%97%E4%BA%AC");
    输出 :北京记得txt文件与你的php文件编码要统一,否则会乱码,或者要转化一下也可。
      

  9.   


    谢谢解答,我现在碰到的问题是
    我直接用2楼的那个代码,没有任何输出,原因是查询时      汉字没有urlencode我不知道怎么加,PHP完全不懂!
    我用127.0.0.1/1.php?city=北京
    查不到任何值
    这代码应该如何修改才对
      

  10.   


    在你的1.php页面输出 echo $_GET['city']; 如果是正常的中文 那么就
    $city=$_GET['city'];
    //$city=iconv("utf-8","gb2312",$city); //加上注释