Avatar billede Hans1 Praktikant
09. marts 2012 - 11:21 Der er 13 kommentarer

Importere fra html tabel til SQL

Hej

Er det muligt at bruge php funktionen fopen (eller noget andet) til at hente en hel html tabel på en side og derefter indsætte den som en tabel i en mysql database?

Altså det omvendte end hvad man plejer at gøre hvor man allerede har informationerne og bygger html tabellen.

Html tabellen som der skal hentes fra ser sådan her ud:

<table>
<tr>
<td>kolonne1</td>
<td>Kolonne2</td>
</tr>

<tr>
<td>indhold</td>
<td>indhold2</td>
</tr>

og så videre...
Avatar billede erikjacobsen Ekspert
09. marts 2012 - 11:32 #1
Det er selvfølgelig principielt muligt at lave "screen-scraping" - at hente strukturerede data ud fra formatteret HTML, men det er ganske uhensigtsmæssigt, diplomatisk sagt.

En meget bedre løsning vil være at bede leverandøren komme med data i struktureret format, og XML er et oplagt valg.
Avatar billede Hans1 Praktikant
09. marts 2012 - 11:46 #2
Det er ret uhensigtsmæssigt ja, men jeg har ikke muligheden for det med XML.

Jeg har nu fundet den ønskede funktion:
file_get_contents()

Men jeg får fejl:
failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized in

Er det ikke muligt at bruge denne funktion hvis siden man ønsker at hente indhold fra er en microsoft web server hvor man skal bruge domæne oplysninger for at komme ind på?
Avatar billede olebole Juniormester
09. marts 2012 - 12:03 #3
<ole>

Det kommer anpå, hvad serveren er sat op til at give adgang til. Hvad er det, du prøver at hente?

/mvh
</bole>
Avatar billede Hans1 Praktikant
09. marts 2012 - 12:13 #4
Jeg prøver at hente den indbyggede html printer side som ligger i windows server. Og man skal logge på.

brugernavn: domæne\brugernavn
Adgangskode: adgangskode

http://t1.gstatic.com/images?q=tbn:ANd9GcS9MNESPx5Cjb5wnGVt1vbSye4IrRCan6RwCIbv-0zr7fsoLXqEYq-JuuKuXw
Avatar billede olebole Juniormester
09. marts 2012 - 12:19 #5
Så er det vel manglende login, der er årsagen
Avatar billede Hans1 Praktikant
09. marts 2012 - 12:24 #6
Ja, men spørgsmålet er bare om det er muligt at angive dette når php henter indhold fra siden.

At PHP logger ind med domæne oplysninger.
Avatar billede Hans1 Praktikant
09. marts 2012 - 12:29 #7
Jeg har prøvet med:

echo file_get_contents("http://brugernavn:adgangskode@adresse");
Avatar billede olebole Juniormester
09. marts 2012 - 12:45 #8
Kan du logge ind på den måde ved at skrive det i adresselinjen på browseren - altså uden brug af file_get_contents?
Avatar billede olebole Juniormester
09. marts 2012 - 12:48 #9
Du kan også prøve at kikke på fsockopen
Avatar billede Hans1 Praktikant
09. marts 2012 - 12:49 #10
Ja, faktisk uden at der kommer nogen login boks på grund af at jeg på computeren allerede er logget på domænet og er medlem af domænet.

Hvis man fx var logget på computeren som administrator ville man skulle skrive brugernavn og adgangskode.
Avatar billede olebole Juniormester
09. marts 2012 - 13:14 #11
Nej, det tror jeg næppe er tilfældet. Din bruger er logget ind - ikke din computer. Din lokale server er heller ikke logget ind  *o)
Avatar billede Hans1 Praktikant
09. marts 2012 - 13:24 #12
Ja det har du nok ret i.

Den gider heller ikke og virke med HTTP authentication via PHP
Avatar billede olebole Juniormester
09. marts 2012 - 13:29 #13
'Sikkerhed', tror jeg, er ordet, mange bruger om fænomenet  =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester