ugrás a tartalomhoz

fopen() helyett valami más megoldás

MSzilveszter · 2008. Jan. 17. (Cs), 11.25
Üdv,

Az egyik hirszolgaltato xml fájlát kellene olvastatnom, de a szerveren nincs mód fopen() hasznalatara.
cron segitsegevel magatol fut az oldal, mert kotott, hogy csak arrol az ip cimrol ferhetunk hozza az xml filehoz. Olyan megoldas kellene, ami minimalis terhelest ad a szervernek (mert percenkent frissul), es kikeruli az fopen() parancsot a phpban.

Ha valaki tud segiteni, akar csak tippel, azert halas leszek ;)!


Udv.:


S.
 
1

curl?

juhasztibi · 2008. Jan. 17. (Cs), 11.27
Esetleg php curl?
2

ahhoz is

MSzilveszter · 2008. Jan. 17. (Cs), 11.42
Ahhoz is kell (php.net/curl) fopen() parancs. de az allow_url nem kell, hogy be legyen kapcsolva?
3

fsockopen?

Poetro · 2008. Jan. 17. (Cs), 13.14
Érdemes lehet a Drupal drupal_http_request függvényét megnézni, hátha az működik az adott szerveren.
4

igaz

juhasztibi · 2008. Jan. 17. (Cs), 13.25
Igazad van, tényleg kell hozzá:) De ha csak egy adott ipvel fértek hozzá akkor miért nem hoztok létre (kértek) egy szabályt arra az ip-re? Vagy ez milyen xml? Honann jön?

T.
5

szvsz

DsA · 2008. Jan. 17. (Cs), 14.44
talán file_get_contents ??
6

hm, ilyen a megoldás :)

MSzilveszter · 2008. Jan. 18. (P), 12.02
$ch = curl_init("http://194.xxx.xx.xxx/generatexml.aspx?xxxxxxxxxxxxxxxxx");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$images = array();
$hirek = array();
$hir = 'HIR START<br><br><br><br>';
$return = curl_exec($ch);
$return2 = explode('<News>', $return);
$news_number = count($return2);
$hir.=$news_number;
for($i=1; $i<$news_number; $i++)
{
$title[1] = explode('<Title>', $return2[$i]);
7

fsockopen vs szolgáltatóváltás

janoszen · 2008. Jan. 18. (P), 18.01
ad 1. fsockopen, belehányod a HTTP requestet, kijön az XML HTTP fejlécestül.
ad 2. ne azon a gépen fusson a dolog, hanem valahol máshol cronból és lökje meg a szerveren levő dolgot.
ad 3. válts szolgáltatót, ha sehogy nem megy. :)
8

megoldva :)

MSzilveszter · 2008. Jan. 23. (Sze), 13.26
$ch = curl_init("http://194.xxx.xxx.xxx/xxxx.aspx?id=xxxxxx");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$images = array();
$hirek = array();
$hir = 'HIR START<br><br><br><br>';
$return = curl_exec($ch);
$return2 = explode('<News>', $return);
$news_number = count($return2);
$hir.=$news_number;
for($i=1; $i<$news_number; $i++)
{
$title[1] = explode('<Title>', $return2[$i]);
$title[2] = explode('</Title>', $title[1][1]);
$title['this'] = $title[2][0];

$lead[1] = explode('<Lead>', $return2[$i]);
$lead[2] = explode('</Lead>', $lead[1][1]);
$lead['this'] = $lead[2][0];
...