indhente extern data

Tags:    php

Jeg har brug for at kunne hente info fra en anden side, det ser ud som fx:

nr | forfatter | pris.
ellers kan et eksempel ses her http://search.blackwell.co.uk/servlet/search?type=any&term=Iris+Murdoch

Hvordan stopper jeg det ind i nogle variabler eller sådan noget?



10 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
et forslag kunne være at hente al dataen ved hjælpe a file() funktionen, - alle linier kommer ind i et stort array:
array[0] = linie 1
array[1] = linie 2
osv. osv...
derefter looper du over arrayet og ved hver iteration bruger du explode('|', array-dimsidut) til at bryde de enkelte linier op til det du skal bruge...

ps. det er ikke sikkert file-funktionen virker, for at virke kræver det at "fopen wrappers" er slået til - læs mere om dem her: http://dk.php.net/manual/da/wrappers.php#wrappers.file



Jeg har brug for at kunne hente info fra en anden side, det ser ud som fx:

nr | forfatter | pris.
ellers kan et eksempel ses her http://search.blackwell.co.uk/servlet/search?type=any&term=Iris+Murdoch

Hvordan stopper jeg det ind i nogle variabler eller sådan noget?


Altså hvis jeg har forstået dig korrekt så vil du sende variabler over HTTP protokollen. (Dette gør man ved at skrive det i URL'en)

www.domæne.dk/phpfil.php?variabelnavn=indhold&variabel2=indhold2

Du kan så hente de ud på den nye side ved at bruge en Super Global.

$_REQUEST['variabelnavn'];
$_REQUEST['variabelnavn2'];

og du kan så sætte dem lig med de variabler du nu har lyst.

f.eks.

$var = $_REQUEST['variabelnavn'];

Håber det var det du spurgte om :)



Hej Bjørn,

Det du ønsker at gøre er at parse et dokument der er opbygget via CVS formatten. Vær opmærksom på at hvis en externe kilde pludselig skifter den måde de formatere data'en på så bryder dit script også.

Men det kan gøres på følgende måde. måske med en mindre rettelse hvis den skal hente dokumentet extern.

Fold kodeboks ind/udKode 


Når man exploder en linje ved alle | tegn så opdeler den f.eks.
data1|data2|data3
i et array bestående af
Fold kodeboks ind/udKode 

du tilgår det så som du ville tilgå et normal array ved at skrive $column[0] for at få data1 ud.



Ramtin Matin: nej ikke over http protokollen, det er noget tekst som står i formatet: noget| nogetandet | nogettredie
og jeg vil så gerne have det over på min hjemmeside som fx.
$noget
$nogetandet
$nogettredie

Krille:
altså så det skulle være noget i stil med
Fold kodeboks ind/udKode 
og så vil alle ting ligge delt op i array-dimsidut??



tror jeg har den, men lader lige spørgsmålet stå åbent lidt endnu



noget med:
Fold kodeboks ind/udKode 


og så kan du evt. smide et var_dump for at se hvordan arrayet så er opbygget...



Indlæg senest redigeret d. 27.06.2007 15:59 af Bruger #3884
Hvordan skal jeg så kalde det hvis jeg fx vil have data2 i linie 3?



Et Array består af en associativ inddeling af data.
0 = data1
1 = data2
etc.
Altså PHP bruger kun associativ arrays af opbygningen
array( key => value )
det svare til at du skriver
$column[key] = value;

Håber du kan se hvordan det hænger sammen, ellers kan og bør du læse om det i PHP dokumentation.



ja, men det var mere fordi jeg ikke kunne få din kode til at virke, jeg brugte selv den her:
Fold kodeboks ind/udKode 

og så tænkte jeg på hvordan man skulle kalde i din kode, da fx
Fold kodeboks ind/udKode 
ikke virker hos mig.



Bjørn hvis du læste lidt om hvordan det er lovligt at oprette variabler ville du se at man ikke må efterfølge $ tegnet med et tal. http://dk.php.net/manual/en/language.variables.php

Vil i grunden anbefale at du henter en eller anden IDE til at udvikle php i, f.eks. Zend Studio (koster dog penge når dens prøve periode er udløbet) men ellers findes der mange editore der hjælper dig med at debugge din kode.



t