Re: how 2 read an non-existing file?! (I need help)
| From: | Tribun | Date: | Fri, 10 Aug 2001 08:53:29 +0000 |
| Subject: | Re: how 2 read an non-existing file?! (I need help) | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-62138@lists.php.net to get a copy of this message | ||
at first: thank you for your answer.
but I'm not sure what you've meant, with
"I'm betting there's code in the code archives to show you how"
Have you any ideas to do that????
May be through the CURL function???
(http://www.php.net/manual/de/ref.curl.php)
In fact, I realy dont know. If you can, please help me out ;)
10x!
Tribun
---
mp3o.net
"Richard Lynch" <ceo@l-i-e.com> schrieb im Newsbeitrag
news:04da01c1211b$ecdb1960$6401a8c0@Lynchux100...
> Yahoo *might* be "detecting" that you're not a "real" browser, since
> PHP
> probably sends different headers when you attempt to get the file
> dynamically than your browser sends when you type the URL.
>
> So Yahoo may be denying you access when using PHP, but not from your
> browser.
>
> There's nothing to stop you from writing some extra code and talking
> directly to their server and lying to them about what browser you are,
> however. I'm betting there's code in the code archives to show you how.
>
> --
> WARNING richard@zend.com address is an endangered species -- Use
> ceo@l-i-e.com
> Wanna help me out? Like Music? Buy a CD:
> http://l-i-e.com/artists.htm
> Volunteer a little time: http://chatmusic.com/volunteer.htm
> ----- Original Message -----
> From: Tribun <mail@tribun.de>
> Newsgroups: php.general
> To: <php-general@lists.php.net>
> Sent: Thursday, August 09, 2001 4:33 AM
> Subject: how 2 read an non-existing file?! (I need help)
>
>
> > 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 ;)
> >
> >
> >
>