webForumDet fria alternativet

Plocka data från annan server

22 svar · 779 visningar · startad av StinaD

StinaDMedlem sedan jan. 200625 inlägg
#1

Hejsan!

Jag är helt ny på php, men mycket gammal på html ;-) Och nu ska jag hämta data från en server i Norge och lägga den på sidor hos FSData.

Kommit så långt att jag bestämt mig för php, kört grundkursen på http://se.php.net och testat ett antal olika kodningar.

http://turisthoor.se/gora/test.php kan ni se resultatet. Inte så snyggt ...

Någon som kan hjälpa mig med hur jag ska koda för att inte få med html-koderna, men svenska tecken? Väldigt tacksam för hjälp!

voigtann1Medlem sedan juni 20019 519 inlägg
#2

kör du med ä ? du tycks göra någon htmlDecoder... prova bara att skriva å ä ö utan "HTML" versionen ä etc

StinaDMedlem sedan jan. 200625 inlägg
#3

Det är inte jag som skrivit de sidor som ska inkluderas och det kostar skjortan att ändra i dem. Går det att lösa ändå?

voigtann1Medlem sedan juni 20019 519 inlägg
#4

Du får nog bifoga lite kod om du ska få någon typ av hjälp...

StinaDMedlem sedan jan. 200625 inlägg
#5

<html>
<head>
<title>PHP Test</title>
</head>
<body>

<?php
// Get a file into an array. In this example we'll go through HTTP to get
// the HTML source of a URL.
$lines = file ('http://www2.tellus.no/tellus/db.dll?co=SE&sp=SE&db=254&icp=hoor/1/productList&ek=1&ek=2&pt=1&so=1&dv_so=1&lla=10&dv_lla=10');

// Loop through our array, show HTML source as HTML source; and line numbers too.
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}

?>
</body>
</html>

voigtann1Medlem sedan juni 20019 519 inlägg
#6

htmlspecialchars($line) är det som spökar

& = & < = < etc

dvs ä = ä = &auml; (htmlspecialchars som gör den formateringen).

om du vill "skriva ut" som HTMLen Ser ut:

echo "line #<b>{$line_num}</b> : " . $line . "<br />\n";

din kod gör exakt vad du säger att den ska göra ;)

StinaDMedlem sedan jan. 200625 inlägg
#7

Wow, nu fungerar det! TACK!

En fråga till, nu har jag använt "file", men det finns också "file_get_contents", finns det någon anledning att jag skulle använda den istället?

voigtann1Medlem sedan juni 20019 519 inlägg
#8
$htmlstring= array("<", ">");
$replaceString  = array("&lt;", "&gt;");

// Loop through our array, show HTML source as HTML source; and line numbers too.
foreach ($lines as $line_num => $line) {
$line = str_replace($htmlstring, $replaceString  , $line );
echo "Line #<b>{$line_num}</b> : " . $line . "<br />\n";
}

Om du nu vill skriva ut källkoden.

voigtann1Medlem sedan juni 20019 519 inlägg
#9

Jag kan 2 rader kod i php max... så du fråga fel person... men om du nu ska hämta ut alla rader ifrån en sida så tycker jag det låter vettigare att hämta allt innehåll direkt istället för att Loopar ut rad för rad.

StinaDMedlem sedan jan. 200625 inlägg
#10

Ok, någon som kan fler än två rader php och som kan ge tips hur jag plockar ut all kod utan att loopa?

voigtann1Medlem sedan juni 20019 519 inlägg
#11

Sökte på file_get_contents och du kan ju prova deras kod exempel:

<?php
$context=array('http' => array ('header'=> 'Range: bytes=1024-', ),);
$xcontext = stream_context_create($context);
$ownLink = 'http://www2.tellus.no/tellus/db.dll?co=SE&sp=SE&db=254&icp=hoor/1/productList&ek=1&ek=2&pt=1&so=1&dv_so=1&lla=10&dv_lla=10';
$str=file_get_contents($ownLink,FALSE,$xcontext);
echo $str;
?>
StinaDMedlem sedan jan. 200625 inlägg
#12

Det blev felmeddelande: Warning: file_get_contents() expects at most 2 parameters, 3 given in /home/t/turistho/www/gora/test2.php on line 15

voigtann1Medlem sedan juni 20019 519 inlägg
#13

prova ändra

$ownLink = 'http://www2.tellus.no/tellus/db.dll?co=SE&sp=SE&db=254&icp=hoor/1/productList&ek=1&ek=2&pt=1&so=1&dv_so=1&lla=10&dv_lla=10';

till

$ownLink = "http://www2.tellus.no/tellus/db.dll?co=SE&sp=SE&db=254&icp=hoor/1/productList&ek=1&ek=2&pt=1&so=1&dv_so=1&lla=10&dv_lla=10";

eller:

<?php
$context=array('http' => array ('header'=> 'Range: bytes=1024-', ),);
$xcontext = stream_context_create($context);
$str=file_get_contents("http://www2.tellus.no/tellus/db.dll?co=SE&sp=SE&db=254&icp=hoor/1/productList&ek=1&ek=2&pt=1&so=1&dv_so=1&lla=10&dv_lla=10",FALSE,$xcontext);
echo $str;
?>
CompusaMedlem sedan jan. 20023 327 inlägg
#14

/för långsam

StinaDMedlem sedan jan. 200625 inlägg
#15

Ändrade till den undre kompletta koden, samma felmeddelande:
Warning: file_get_contents() expects at most 2 parameters, 3 given in /home/t/turistho/www/gora/test2.php on line 13

voigtann1Medlem sedan juni 20019 519 inlägg
#16

då får du vänta på en som är bättre på php :) för jag har ingen aning :D

CompusaMedlem sedan jan. 20023 327 inlägg
#17

Vilken version av PHP använder du?
Felet säger ju att du ger för många parametrar...

The_HulkMedlem sedan juni 20031 837 inlägg
#18

verkar bara vara två parametrar för PHP 4.
de andra har tillkommit i PHP 5.
se på http://se2.php.net/manual/sv/function.file-get-contents.php

StinaDMedlem sedan jan. 200625 inlägg
#19

Inställt på PHP4 (4.4.4)
Kan ändra till 5.1.6

voigtann1Medlem sedan juni 20019 519 inlägg
#20

uppdatera till 5+ om du har möjlighet till det :D

144 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)