php 循环大部分时间都会中断

发布于 2024-12-14 00:59:19 字数 863 浏览 2 评论 0原文

我正在使用 file_get_contents 函数来获取 xml api,当我使用 foreach 循环迭代该数组时,它工作正常,但大多数时候我的 php foreach 循环并不是每次都会中断,并且会显示不同类型的消息。有时它给出“function.file-get-contents]:无法打开流:HTTP请求失败”,有时它给出“超过最大时间30秒。

请帮助我。我的代码是

$data = $apiobj->search_slides($query,$per_page,$page);
$count = count($data);

$i=0;
foreach ($data as $key){
    $title = $key['TITLE'];
    $title2 = substr($title, 0, 35);

    echo '<td valign="top">
          <div id="slide_thum_des"><strong>Views :</strong> '.$info['VIEWS'].'<br />
          <a href="'.$key['DOWNLOADURL'].'">'.$title2.'....</a></div>
          </td>';
    $i++;

    if($i % 6 == 0) {
        echo '</tr><tr>';
    }
}

$data = $apiobj-> ;search_slides($query,$per_page,$page); 是主要函数,它通过在另一个 php 代码中解析 xml 文件来给出数组。

i am using file_get_contents function to fetch a xml api and when i itrate this array using foreach loop it works fine but most of the time my php foreach loop is breaking not every time and different types of messages are shown. sometimes it gives "function.file-get-contents]: failed to open stream: HTTP request failed" and sometimes it gives "Maximum time 30 second exceeded.

please help me. my code is

$data = $apiobj->search_slides($query,$per_page,$page);
$count = count($data);

$i=0;
foreach ($data as $key){
    $title = $key['TITLE'];
    $title2 = substr($title, 0, 35);

    echo '<td valign="top">
          <div id="slide_thum_des"><strong>Views :</strong> '.$info['VIEWS'].'<br />
          <a href="'.$key['DOWNLOADURL'].'">'.$title2.'....</a></div>
          </td>';
    $i++;

    if($i % 6 == 0) {
        echo '</tr><tr>';
    }
}

$data = $apiobj->search_slides($query,$per_page,$page); is the main function which gives array by parsing xml file in an another php code.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽清梦 2024-12-21 00:59:19

你确定它打破了循环吗?

听起来好像最初的 http 请求失败了(由于声音而超时)。

您应该尝试 http 请求并查看它是否有效。

由于您使用的是 file_get_contents 函数,因此您应该首先抑制错误

$content = @file_get_content($url);

,然后检查它是否有效

if($content == FALSE){ //error code goes here }

Are you sure it's breaking in the loop?

Sounds like the initial http requests are failing (timing out by the sound of things).

You should try the http request and see it works.

Since you are using the file_get_contents function you should first suppress errors

$content = @file_get_content($url);

Then check if it worked

if($content == FALSE){ //error code goes here }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文