FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Checking for content in string creates time-out??
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Checking for content in string creates time-out?? [message #170020 is a reply to message #170015] Tue, 05 October 2010 18:00 Go to previous messageGo to previous message
Helmut Chang is currently offline  Helmut Chang
Messages: 22
Registered: September 2010
Karma:
Junior Member
Am 05.10.2010 18:05, schrieb Mechphisto:
> I'm trying to create an output of an RSS, and it works fine if I don't
> check for whether a variable has content or not:
>
> /************************************************
> * GET BLOG COMMENTS
> ********/
> $blogCom_filename = 'http://blog.girlscoutsmoheartland.org/?
> feed=comments-rss2';
> $blogCom_xml = @simplexml_load_file($blogCom_filename);
> $ic=0;
> while($ic<=10) {
> $blogCom_description = $blogCom_xml->channel->item[$ic]->description;
> $blogCom_pubTitle = $blogCom_xml->channel->item[$ic]->title;
> $blogCom_pubDate = $blogCom_xml->channel->item[$ic]->pubDate;
> $blogCom_pubLink = $blogCom_xml->channel->item[$ic]->link;
> $blogCom_pubDate = "<span class=''>".date('D, j M y g:i a',
> strtotime($blogCom_pubDate))."</span>";
>
> //if ($blogCom_pubTitle) {
> $blogCom_disp .= "<p><a href='".$blogCom_pubLink."'
> target='_blank'><span class='tiny_import'>".$blogCom_pubTitle."</
> span></a>:<br /><b>&#8226;&nbsp;</b>".$blogCom_description."<br />".
> $blogCom_pubDate."</p>";
> $ic++;
> //}
>
> unset($blogCom_description,$blogCom_pubDate);
> }
> unset($blogCom_filename,$blogCom_xml);
>
>
> But as soon as I uncomment those two lines in the "if" that checks to
> see if $blogCom_pubTitle has any content (if I don't, for some reason
> I sometimes get blank comments in the display), I get an error:
>
> Fatal error: Maximum execution time of 30 seconds exceeded in /home/
> girlscou/public_html/staff/socialroundup.php on line 41

Yes, because your loop might run endlessly. Here I reduced it to the
relevant parts:

$ic = 0;
while ($ic <= 10) {
$blogCom_pubTitle = $blogCom_xml->channel->item[$ic]->title;

if ($blogCom_pubTitle) {
$ic++;
}
}

Suppose, $ic == 0 and $blogCom_xml->channel->item[0]->title does not
exist (is empty or whatever): The next time, the loop runs, $ic is still
0 (because the if-condition did not match, it was not incremented). And
$blogCom_xml->channel->item[0]->title is still empty, and...

> Weird thing is, the line that's being referenced, is this one:
>
> $blogCom_pubDate = "<span class=''>".date('D, j M y g:i a',
> strtotime($blogCom_pubDate))."</span>";
>
> A line that occurs BEFORE the if-statement is magically causing a
> timeout only if the if-statement is "on".

That's just the line, where the time limit is reached. Might be another
line the next time you run the loop.

Helmut
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: Stats comp.lang.php (last 7 days)
Next Topic: PHP on PIE: framework that combines the best ideas from great PHP projects
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Sat Nov 23 11:25:38 GMT 2024

Total time taken to generate the page: 0.04771 seconds