Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Vakos
Tvůrce
Avatar
Vakos:26.3.2015 19:59

Ahoj,
pracuji na webu a potřeboval bych tahat na můj web také data z cizích webů. Je možné to dělat pomocí PHP nebo musím využít jazyk jako třeba Java atd?

Odpovědět
26.3.2015 19:59
"Jediný způsob, jak dělat skvělou práci, je milovat to, co děláte. Pokud jste to ještě nenašli, hledejte dál. Ne...
Avatar
Odpovídá na Vakos
Martin Konečný (pavelco1998):26.3.2015 20:33

Ahoj,

můžeš použít třeba cURL a možná to jde i jen s pomocí

$content = file_get_contents("http://webova.stranka.cz/slozka/soubor.json");

ale u toho je, myslím, potřeba povolit nějaké direktivy.

Editováno 26.3.2015 20:33
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
26.3.2015 20:33
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Vakos
Tvůrce
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Vakos:26.3.2015 20:51

Když jsme nad tím tak přemýšlel, tak to asi bude nejrozumnější přes javu. Javou si stáhnu data a hodím je do databáze a php si je vytáhne.

Volím také toto řešení, protože v Javě jsem dál než v PHP

Nahoru Odpovědět
26.3.2015 20:51
"Jediný způsob, jak dělat skvělou práci, je milovat to, co děláte. Pokud jste to ještě nenašli, hledejte dál. Ne...
Avatar
Odpovídá na Vakos
Martin Konečný (pavelco1998):26.3.2015 22:48

Pokud je nepotřebuješ přímo při provádění scriptu, pak je asi jedno, jak je vytaháš. PHP ti nabízí např. zmíněné cURL, které ti ta data ze serveru stáhne během programu, takže je můžeš rovnou použít.

S "čistým" cURL jsem už docela dlouho nedělal, takže nezaručuji, že to bude správně - ale jako nástin toho, jak by to mohlo vypadat:

$curl = curl_init();

// adresa webu
curl_setopt($curl, CURLOPT_URL, "http://webova.stranka.cz/slozka/soubor.json");

// aby se vrátil výsledek
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

$result = curl_exec($curl);
curl_close($curl);

// předpokládá, že data z webu budou ve formátu JSON
// jinak by to mělo vracet HTML vygenerovaného dokumentu, takže si můžeš hrát třeba s regulárními výrazy
$array = json_decode($result);

echo "<pre>";
var_dump($array);

foreach ($array["people"] as $person) {
  echo "#" . $person["id"] . " " .$person["name"] . "<br />";
}

Pro ukázkový JSON:

{
  "people": [
    {"id": 1, "name": "Martin Kone"},
    {"id": 5, "name": "Vakos"},
    {"id": 10, "name": "Lionel Messi"}
  ]
}

by měla funkce json_decode() do proměnné $array uložit:

array(
  "people" => array(
    0 => array("id" => 1, "name" => "Martin Kone"),
    1 => array("id" => 5, "name" => "Vakos"),
    2 => array("id" => 1, "name" => "Lionel Messi"),
  )
)

Více info k:
cURL - http://php.net/…ook.curl.php
JSON - http://json.org/example
dotaz na Stack Overflow - http://stackoverflow.com/…ode-the-data

Editováno 26.3.2015 22:51
Nahoru Odpovědět
26.3.2015 22:48
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.