Zadejte hledaný výraz...

PHP: Postupné načítání vzdálených souborů

Jakub
verified
rating uzivatele
(25 hodnocení)
14. 8. 2008 00:18:10
Mám nasledujúci kód
$text = file ('http://www.nejakyweb.tld/subor.php?idpolozky=1&nejakyparameter=1');
foreach ($text as $line) {
echo "$line" . "
n";
}
?>
ktorý mi vypisuje obsah zo zadanej URL. Tento kód potrebujem upraviť aby robil to čo chcem, a síce. Dôležitý je parameter v URL idpolozky, ktorý potrebujem každým cyklom zvýšiť o 1. Keď bude zvýšený, uložiť obsah danej URL do TXT, stiahnúť do nejakého priečinku, vrátiť sa, opäť zvýšiť idpolozky o 1, stiahnúť, atď. Proste klasický cyklus. Neviem ale, ako zvyšovať tú hodnotu idpolozky. Tak v tom by som potreboval poradit.
Tých položiek je tam ale niekoľko desiatok tisíc, čiže neviem ako by to zvládal server, spustím to síce na localhoste, tak by som sa mohol prípadne pohrať s jeho nastavením, ale myslite na to :D
Díky
14. 8. 2008 00:18:10
https://webtrh.cz/diskuse/php-postupne-nacitani-vzdalenych-souboru#reply109912
Jakub Stacho
verified
rating uzivatele
(20 hodnocení)
14. 8. 2008 00:55:43
Pokud je jich tam několik desítek tisíc, tak klasické for opravdu nepomůže.
Já takovéto situace řeším poněkud prasácky a sice že ke každému výstupu přidám redirect na další položku
nebo třeba pomocí http hlavičky. No a pak to prostě nechám běžet v prohlížeči. Případně se to dá rozkouskovat po desítkách, po stovkách... podle situace.
PS: Pokud obsah stránek potřebuješ pouze stáhnout k sobě, nebyl by jednodušší wget?
14. 8. 2008 00:55:43
https://webtrh.cz/diskuse/php-postupne-nacitani-vzdalenych-souboru#reply109911
Jakub
verified
rating uzivatele
(25 hodnocení)
14. 8. 2008 13:12:49
Ber to tak, že som ešte len v období objavovania čara PHP. A teda tomu moc nerozumiem. Pridal som si teda na výstup presmerovanie, na svoj skript:
$text = file ('http://www.nejakyweb.tld/subor.php?idpolozky=1&nejakyparameter=1');
foreach ($text as $line) {
echo "$line " . "
n";
echo ""; //skript je na adrese localhost/test.php
}
?>
avšak sa refreshuje stále to isté, idpolozky sa nezvyšuje. A mne ide práve o to, aby sa ten parameter idpolozky zvyšoval o 1 a tak ma presúval vždy o stránku ďalej.
btw čo sa týka tých desiatok tisíc položiek, nie je to také strašné, ako sa zdá, ide iba o stránky s kúskom textu, veľkosťou okolo 1 kB...
14. 8. 2008 13:12:49
https://webtrh.cz/diskuse/php-postupne-nacitani-vzdalenych-souboru#reply109910
Jakub
verified
rating uzivatele
(25 hodnocení)
14. 8. 2008 18:56:16
Nikto nič? :(
14. 8. 2008 18:56:16
https://webtrh.cz/diskuse/php-postupne-nacitani-vzdalenych-souboru#reply109909
Jakub Stacho
verified
rating uzivatele
(20 hodnocení)
14. 8. 2008 18:59:25
Zapoj trochu vlastní rozum. Jak jsem napsal, nevoláš pouze test.php ale test.php?idpolozky=xxx, kde xxx je číslo vždycky o jedno vyšší než současné.
14. 8. 2008 18:59:25
https://webtrh.cz/diskuse/php-postupne-nacitani-vzdalenych-souboru#reply109908
Jakub
verified
rating uzivatele
(25 hodnocení)
14. 8. 2008 20:35:57
Prečo ma takto trápiš :) buď tomu nerozumiem ja, alebo si nerozumieme navzájom. Ako môžem zvýšiť parameter v externej URL??? To je môj problém. Keby som si vytvoril novú premennú $idpolozky, ako by som ju vložil do tej externej URL? Áno, pri každom refreshi by sa $idpolozky post-inkrementovala, ale ako ju vložiť do EXTERNEJ URL?
14. 8. 2008 20:35:57
https://webtrh.cz/diskuse/php-postupne-nacitani-vzdalenych-souboru#reply109907
Jakub Stacho
verified
rating uzivatele
(20 hodnocení)
14. 8. 2008 22:13:27
$current_id = $_GET;
$text = file ("http://www.example.com/subor.php?idpolozky=$current_id");
nějaká manipulace s výstupem...
$next_id = $current_id + 1;
echo "";
?>
14. 8. 2008 22:13:27
https://webtrh.cz/diskuse/php-postupne-nacitani-vzdalenych-souboru#reply109906
Jakub
verified
rating uzivatele
(25 hodnocení)
14. 8. 2008 23:15:15
Super, funguje. Mám sa ešte čo učiť, ale reputácia+.
Ale ešte jeden detail - chcel by som, aby to tu stránku aj uložilo ku mne, ako na to?
14. 8. 2008 23:15:15
https://webtrh.cz/diskuse/php-postupne-nacitani-vzdalenych-souboru#reply109905
Jakub Stacho
verified
rating uzivatele
(20 hodnocení)
14. 8. 2008 23:22:05
fopen
14. 8. 2008 23:22:05
https://webtrh.cz/diskuse/php-postupne-nacitani-vzdalenych-souboru#reply109904
Pokud ti to běží na localhostu, jak říkáš, prostě přidej na začátek
set_time_limit(999999);
a udělej to tím for() cyklem.
14. 8. 2008 23:54:02
https://webtrh.cz/diskuse/php-postupne-nacitani-vzdalenych-souboru#reply109903
A nebo to spusť z příkazové řádky :-)
15. 8. 2008 08:45:52
https://webtrh.cz/diskuse/php-postupne-nacitani-vzdalenych-souboru#reply109902
Pro odpověď se přihlašte.
Přihlásit