Re: how 2 read an non-existing file?! (I need help)

From: Date: Thu, 09 Aug 2001 14:01:47 +0000
Subject: Re: how 2 read an non-existing file?! (I need help)
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-61987@lists.php.net to get a copy of this message
As for snap two, try echoing the filename you're trying to fopen: do: $fn = "http://babynames.pregnancy.yahoo.com/bnfname?n=$name" echo "$fn\n"; $fp = fopen($fn, "r"); Weird...maybe this yahoo service was doing at that moment? "Tribun" <mail@tribun.de> wrote in message news:20010809093538.55862.qmail@pb1.pair.com... > the following problem: > > I want to read out, if the firstname is a boy's name or a girl's name... > > therefore I've written this code: (which allready works) > > ------------------ <snap> ------------------- > > $fp=fopen('http://www.vornamenlexikon.de/main/suchen.asp?kriterium=search&B1 > =Suchen&action=searchnow&searchby='.$name,"r"); > if($fp){ > $daten=fread($fp,100000); > fclose($fp); > $male='/m.gif'; > $female='/w.gif'; > if((strpos($daten,$female)>0)&&(strpos($daten,$male)>0)){ > if(strpos($daten,$male)>strpos($daten,$female))$result='w'; > else $result='m'; > }else if(strpos($daten,$female)>0)$result='w'; > else if(strpos($daten,$male)>0)$result='m'; > } > if(empty($result)){ > > $fp=fopen('http://www.kindername.de/'.strtolower(substr($name,0,1)).'-namen. > htm',"r"); > if($fp){ > $namen=array(); > $daten=fread($fp,100000); > fclose($fp); > > $daten=strstr($daten,'<font size="4" face="Verdana, Arial, Helvetica, > sans-serif"><B>VORNAMEN MIT'); > for($cnt=0;strpos($daten,'<tr>')>0;$cnt++){ > $daten=substr(strstr($daten,'<tr>'),4); > $tag=substr($daten,0,strpos($daten,'</tr>')); > if(strpos($tag,'</td>')>0){ > $x1=substr(strstr($tag,'<td>'),4); > while(strpos($x1,' ')>0)$x1=str_replace(' ',' > ',$x1);//TAB > while(strpos($x1,' ')>0)$x1=str_replace(' ',' > ',$x1);//DBLSPACE > $x1=trim($x1); > for($i=1;strpos($x1,'<td>')>0;$i++){ > > $field=strtolower(trim(strip_tags(substr($x1,0,strpos($x1,'</td>'))))); > if($i==1)$namen[$cnt]=array($field); > else if($i==2)$namen[$cnt]['gender']=trim($field); > else if($i==3){ > while(strpos($field,',')>0){ > array_push($namen[$cnt],substr($field,0,strpos($field,','))); > $field=substr(strstr($field,','),1); > } > array_push($namen[$cnt],$field); > }else if($i==4){ > if(in_array($name,$namen[$cnt]))$result=$namen[$cnt]['gender']; > } > $x1=substr(strstr($x1,'<td>'),4); > } } } } } > ------------------ </snap> ------------------- > > This code works, but I wanted to include another Datebase (Yahoo) > > So I included this function: > > ------------------ <snap> ------------------- > > $fp=@fopen('http://babynames.pregnancy.yahoo.com/bnfname?n='.$name,"r"); > if($fp){ > $daten=fread($fp,10000); > fclose($fp); > $male='boy'; > $female='girl'; > if((strpos($daten,$female)>0)&&(strpos($daten,$male)>0)){ > if(strpos($daten,$male)>strpos($daten,$female))$result='w'; > else $result='m'; > }else if(strpos($daten,$female)>0)$result='w'; > else if(strpos($daten,$male)>0)$result='m'; > } > ------------------ </snap> ------------------- > > But this code has no effect. It returns only an Error (404) > > The reason therefore is, that the targetting URL does'nt > exist: > > Try this URL's > > http://babynames.pregnancy.yahoo.com/bnfname?n=Patrick > or > http://babynames.pregnancy.yahoo.com/bnfname.htm?n=Patrick > http://babynames.pregnancy.yahoo.com/bnfname.?n=Patrick > http://babynames.pregnancy.yahoo.com/bnfnameBLABLA?n=Patrick > > In a Browser its not nessesary to type in the correct Name > "bnfname". So you can add what ever you want, but the result > is the same (it works) > > But the problem is, to downloading this file, because then the reason > is an 404-Error (not existing) > > Does anybody know an answer to this problem??? > > How can I download this file anyway... and read out the information > I want? > > > > Thanks, > Tribun (Patrick) > --- > www.mp3o.net > > > PS: I know. its not the best english ;) > > >

« previous php.general (#61987) next »