新手请教个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 只好来求助,麻烦大虾给段详细的代码!
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 只好来求助,麻烦大虾给段详细的代码!
//随便写了下,注意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);}
?>
$arr=file("demo.txt");
$str= join('&',(array_map('trim',$arr)));
parse_str($str,$ar);
echo array_search($_GET['city'],$ar);
赞一个不过这个$str貌似会很大,,如果demo.txt的内容多的话
将北京转换成 %E5%8C%97%E4%BA%AC
才能正常查询!
我用2楼的代码,不是产生乱码,是因为中文不UrlEncode就无法查询!
UrlEncode 过来后 urldecode 解出正确的中文
输出 :北京记得txt文件与你的php文件编码要统一,否则会乱码,或者要转化一下也可。
谢谢解答,我现在碰到的问题是
我直接用2楼的那个代码,没有任何输出,原因是查询时 汉字没有urlencode我不知道怎么加,PHP完全不懂!
我用127.0.0.1/1.php?city=北京
查不到任何值
这代码应该如何修改才对
在你的1.php页面输出 echo $_GET['city']; 如果是正常的中文 那么就
$city=$_GET['city'];
//$city=iconv("utf-8","gb2312",$city); //加上注释