[ cocobill @ 12.12.2002. 11:27 ] @
Kako bi trebala izgledati scripta s kojom bi se, nakon startanja neke php stranice, automatski izvrsio download neke datoteke sa nekog servera u neki lokalni dir.

Hvala
[ Jbyn4e @ 12.12.2002. 15:59 ] @
A ti bi hteo da neko dodje na stranicu i da mu ti uploadujes virus automatski u neki njegov direktorijum? E, pa, NE MOZE!
Svaki browser ce prvo da pita GDE da snimi fajl, tako da automatika ne postoji, nista se ne dovlaci dok korisnik ne odabere gde i DA LI to hoce da snimi.

Ako nije to u pitanju - pojasni pitanje.
[ Goran Rakić @ 12.12.2002. 17:23 ] @
Ukoliko je browser neažurirani IE nije nemoguće, ali ja mislim da se pitanje odnosilo na prevlačenje nekog fajla sa drugog servera, na server na kome se izvršava php, ili neki treći server. Definiši da li misliš da koristiš HTTP ili FTP protokol? Takođe, najjednostanije rešenje jeste da upotrebiš system() i pozoveš wget da dovuče ciljni fajl, naravno ukoliko se php vrti na linux-u ili unix-u.
[ Jbyn4e @ 12.12.2002. 17:26 ] @
Mmmmda, vidis, zaboravio sam na one iframe propuste....
A sto se tice wget-a - ima ga i za windoze, tako da to nije problem (recimo ja ga koristim vec duze vremena), jedini problem je sto ne moze da ode u background :(

Mada i dalje mislim da je pitanje bilo upuceno iz mog prvog razloga (dok me ne razuveri covek)
[ bOkIcA @ 13.12.2002. 18:34 ] @
Citat:
cocobill:
Kako bi trebala izgledati scripta s kojom bi se, nakon startanja neke php stranice, automatski izvrsio download neke datoteke sa nekog servera u neki lokalni dir.

Ako mislis na trigger download sa tekstom "Ako download ne pocne automatski kliknite ovde", to nije problem, a ako je nesto drugo u pitanju tu ti vec ne mogu pomoci.
[ CONFIQ @ 13.12.2002. 21:49 ] @
Citat:
Go! X:
najjednostanije rešenje jeste da upotrebiš system() i pozoveš wget da dovuče ciljni fajl, naravno ukoliko se php vrti na linux-u ili unix-u.


Hum... Zar nije lakše sa fopen() ?

Moguće je da i taj *nix nema intaliran wget :Đ
[ cocobill1 @ 16.12.2002. 08:03 ] @
Radi se o downloadu nekog .rss fajla radi lokalnog prikaza novosi ili sl. Sa fopen mi ne uspijeva skinuti fajlu sa www.php.net/news.rss, mozda mi nije nesto podeseno u php.ini ??
Za sada skidam istu sa TeleportPro shedulerom ali mi se ne cini elegantno rjesenje.
[ Dragoslav Krunić @ 16.12.2002. 09:33 ] @
Pa sa fopen() i ne možeš da otvoriš neki remote fajl. Ta funkcija služi samo za otvaranje fajlova sa lokalnog hard diska. Ono šta tebi treba jeste funkcija file(). Neka me iskusniji PHP programeri isprave ako grešim.
[ Goran Rakić @ 16.12.2002. 13:23 ] @
Možeš sa fopen() da otvoriš i remote fajl i to preko http, ftp, ... protkola. Primer:

Code:

$strIme="http://www.php.net/news.rss";
$pntFile = fopen ($strIme,"w");
$strSadrzaj= fread ($pntFile, filesize ($strIme));
fclose ($pntFile);


Ovim ćeš u varijabli $strSadrzaj dobiti sadrzaj onog RSS fajla. Sada jos trebasto da isparsiras pomocu regExp-a ili obicnih string funkcija i prikazes.
[ chupcko @ 17.12.2002. 14:28 ] @
Ako izvrsis: var_dump(@filesize("http://www.php.net/news.rss"));

dobijes naravno bool(false)

Dakle, bice da mora malo drugaciji kod.
[ Goran Rakić @ 17.12.2002. 14:35 ] @
pogledaj ponovo, juče je izgleda bilo problema. Fajl ima oko 10Kb.
[ chupcko @ 18.12.2002. 08:19 ] @
Ja puno volim da citam dokumentaciju...

--->8---
filesize

(PHP 3, PHP 4 )
filesize -- Gets file size
Description
int filesize ( string filename)

Returns the size of the file in bytes, or FALSE in case of an error.

The results of this function are cached. See clearstatcache() for more details.

This function will not work on remote files; the file to be examined must be accessible via the server's filesystem.
--->8---

Mislim da je poslednja recenica bitna.
[ cocobill1 @ 18.12.2002. 09:40 ] @
Nakon svih pokusaja ipak ostajem na skidanju fajla TeleportPro programom.
[ Goran Rakić @ 18.12.2002. 15:41 ] @
Reci mi kako ti koristiš taj rss? Prebaciš ga na FTP ili kako? Moraš mi prvo reći šta želiš da uradiš i o kakvom se teleportovanju radi pa ću ti onda možda i praktično pomoći.
[ bOkIcA @ 19.12.2002. 00:23 ] @
Code:
<?php
$fajl = "http://www.php.net/news.rss";
$sacuvaj_gde_i_kako = "c:/news.rss";
 
$fp1 = fopen($fajl, "r");
if ($fp1) {
  while (!feof ($fp1)) {
    $buffer .= fgets($fp1, 4096);
  }
  $fp2 = fopen($sacuvaj_gde_i_kako, "w");
  fputs($fp2,$buffer);
  fclose($fp2);
} else {
  echo "Ne mogu da pridjem adresi \"$fajl\" ili fajl ne postoji.";
}
fclose($fp1);
?>


Ovaj kod uredno skida 'news.rss' i snima ga na c:/.

Spominjao si nekakav prikaz istog u lokalu, da nisi iza proxy-ja ili firewall-a?