webForumDet fria alternativet

Plocka data från annan server

PHP

22 svar · 783 visningar · startad av StinaD

Medlem sedan jan. 200625 inlägg
Frågan#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!

Medlem 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

Medlem 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å?

Medlem sedan juni 20019 519 inlägg
#4

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

Medlem 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>

Medlem 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 ;)

Medlem 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?

Medlem 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.

Medlem 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.

Medlem 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?

Medlem 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;
?>
Medlem 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

Medlem 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;
?>
Medlem sedan jan. 20023 327 inlägg
#14

/för långsam

Medlem 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

Medlem 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

Medlem 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...

Medlem 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

Medlem sedan jan. 200625 inlägg
#19

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

Medlem sedan juni 20019 519 inlägg
#20

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

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)