Često zatreba da se na veb server postavi datoteka koja je povelika, a nalazi se na nekom udaljenom serveru. Klasično rešenje, da preuzmete datoteku na svoj računar pa da je FTP-om prebacite na drugi server je uglavnom u redu, samo što, ako je datoteka velika to ume da potraje.
Velika pomoć je da uđete na odredišni server u komandnom režimu i komandom wget direktno preuzmete datoteku direktno. Obično to ide mnogo brzo jer serveri imaju brze linkove.
Međutim, šta ako nemate pristup u konzolnom režimu?
Probajte ovaj jednostavan PHP skript:
<?php $remote_file = "http://remoteserver.com/dl/remotefile.zip"; $local_file = "localfile.zip"; file_put_contents($local_file, fopen($remote_file, 'r')); ?>
PHP funkcija file_put_contents() će da preuzme datoteku sa udaljenog servera i smesti je u lokalni direktorijum. Zanimljiva je mogućnost, uvedena u PHP 5.1.0 da ova funcija kao drugi parametar prima strim, tako da može da preuzima i veoma velike datoteke bez preteranog zauzeća memorije.
Kada završite preuzimanje datoteke sklonite skript sa servera, da je ne bi neko slučajno opkrenuo, poto timemože da vam prepiše postojeću daoteku na serveru a i trošio bi vam resurse nepotrebno.