webForumDet fria alternativet
Logga in / Bli medlem

Hämta sida!

PHP

7 svar · 400 visningar · startad av fredrik99

Medlem sedan maj 2000426 inlägg
Trådstart#1

Jag är helt grön på php, men hört att med PHP och curl kan man mycket lättare hämta data från andra sajter, utan att få problem med teckenkodningen.

Det jag vill, hämta en sidans innehåll och spara ner innehållet ner i en *.txt fil :)

Hur skall jag göra?

Medlem sedan juni 2000841 inlägg
#2

nåt sånt här borde funka:

	function getPageCode($url)
	{
		if(!($fp = fopen ($url, "r")))
		{
			die("Cannot connect to: $url");
		}

		while ($in = fread($fp, 4096))
		{
			$data .= $in;
		}

		return $data;
	}

	echo getPageCode("http://www.webforum.nu");
Medlem sedan maj 2000426 inlägg
#3

OK!

Hur sparar jag ner det i txt-filen?

Medlem sedan juni 2000841 inlägg
#4

Nåt i den här stilen.. (inte testkört koden iofs)

function writeContent($content, $path)
{
	if(!($out = @fopen($path, "r")))
		return false;

	if(!@fwrite($out, $content))
		return false;

	if(!@fclose($out))
		return false;

	return true;
}

echo writeContent("lalala", "foo.txt");
Medlem sedan maj 2000426 inlägg
#5

Så här alltså? Som sagt heelllt grön :e

<?
function getPageCode($url)
{
if(!($fp = fopen ($url, "r")))
{
die("Cannot connect to: $url");
}
while ($in = fread($fp, 4096))
{
$data .= $in;
}
return $data;
{
echo getPageCode("http://www.mypage.com");
}

function writeContent($content, $path)
{
	if(!($out = @fopen($path, "r")))
		return false;

	if(!@fwrite($out, $content))
		return false;

	if(!@fclose($out))
		return false;

	return true;
}

echo writeContent("ss", "om1.txt");

?>

Om man nu vill bara ha med allt inom exempelvis <table border="0"> .... och </table>

Går det även att fixa? :)

Medlem sedan juni 2000841 inlägg
#6

Visst gör det det.. tex med reguljära uttryck.
Verkar som du slänger på en bit i taget som du vill ha gjord.
Kan ju lära dig lite php och skriva själv.. inte helt fel att kunna :)

http://www.google.com/search?q=regular+expressions+tutorial

Medlem sedan maj 2000426 inlägg
#7

Man glömmer saker lätt på kvällarna :e

Är preg_match den funktionen som jag skall använda?

Medlem sedan maj 2000426 inlägg
#8

Är detta korrekt?

preg_match("/\<table border=\"0\" id=\"tabell2\">(.*)
\<\/table>/", $text, $match);

Hämtar ifrån $text och sparar i $match ?

269 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)