lave en meddelelse ved failed to open stream?
hej, jeg har denne fil, som jeg vil have til at skrive en meddelse når det går galt og filen ikke kan åbnes... lige nu er problemet der nemlig....se på www.skovbakken-badminton.dk/includes/badminton_news2.php
hvordan får jeg den istedet til at skrive "ingen nyheder fundet" så jeg slipper for den fejl når siden jeg henter fra er nede?
<?php
// Hent side som om det var en fil (bliver hentet som et Array)
$dataFile = file("http://www.badminton.dk/Nyheder.aspx");
if ($dataFile != false) {
$codeLine = "";
// Kør Array igennem
foreach ($dataFile as $line_num => $line) {
// Find linien med nyhederne
if ($codeLine == "" && strpos($line, 'komponentartikellisten') > 0) {
$codeLine = utf8_decode($line); // Husk linien og transmogrif tekst fra UTF-8 til ISO-8859-1
}
}
if ($codeLine != "") {
// Indsæt domain i links
$codeLine = str_replace('<a href="/Nyheder/', '<a href="http://www.badminton.dk/Nyheder/', $codeLine);
$codeLine = str_replace('<a href="/Badmintonligaen/', '<a href="http://www.badminton.dk/Badmintonligaen/', $codeLine);
$codeLine = str_replace('<a href="/EM/', '<a href="http://www.badminton.dk/EM/', $codeLine);
// Hent koderne mellem disse to stringe:
$code = strBetween($codeLine, '<td class="komponentartikellisten"><table cellspacing="0" cellpadding="0" width="100%">', '</table>');
// Fjern uønskede tags ( links er nu kun sepereret med tagget </span> )
$code = str_replace(array('<tr>','<td class="komponentartikellisten">','<td class="komponentartikelliste">','<span>','</td>','</tr>'), '', $code);
// Split string op i array ved alle tags </span>
$arr = explode('</span>', $code);
// Da koden indeholdte en ekstra </span> i slutningen indeholder array også en ekstra celle
$antalNyheder = count($arr) - 1;
// Du kan selv bestemme hvor mange nyheds-links du vil udskrive
$visNyheder = 5;
// Check om der i virkeligheder er så mange nyheder
if ($antalNyheder < $visNyheder) {
$visNyheder = $antalNyheder;
}
// Antal tegn linkene max må vise
$maxLinkWidth = 27;
// Udskriv nyhederne
for ($i = 0; $i < $visNyheder; $i++) {
echo preg_replace('/<a href="(.*)">(.*)<\/a>[ -]*(.*)/e', "'<dd><p style=\"text-align:center; font-size:8px; color:#CCCCCC; font-weight:bold;\">\\3</p><br /><a class=\"badnews\" style=\"font-weight:normal;\" target=\"_blank\" href=\"\\1\">' . substr('\\2',0,$maxLinkWidth) . ((strlen('\\2') > $maxLinkWidth) ? '...' : '') . '</a></dd>'", $arr[$i]) . "\n";
}
} else {
// CodeLine er tom
echo 'Ingen nyheder fundet';
}
}
function strBetween($theLine, $copyAfter, $copyBefore) {
$theStart = strpos(strtolower($theLine), strtolower($copyAfter)) + strlen($copyAfter);
if ($theStart > -1) {
$theEnd = strpos(strtolower($theLine), strtolower($copyBefore), $theStart);
return substr($theLine, $theStart, ($theEnd - $theStart));
}else {
return "-";
}
}
?>
