php цикл ломается большую часть времени - PullRequest
0 голосов
/ 05 ноября 2011

Я использую функцию 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); - это основная функция, которая выдает массив путем разбора xml-файла в другом php-коде.

1 Ответ

0 голосов
/ 05 ноября 2011

Вы уверены, что он прерывается в цикле?

Звучит так, как если бы исходные http-запросы не выполнялись (время ожидания истекает из-за звука).

Вы должны попробовать http-запрос и посмотретьэто работает.

Так как вы используете функцию file_get_contents, вы должны сначала подавить ошибки

$content = @file_get_content($url);

Затем проверьте, сработало ли это

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