Štítek FTP sync PHP ×

Android Apache Ant Chrome CSS Data Databáze Desocializace Download ESRI Facebook Flash GIS Google Google Maps GPS Hardware HTML Internet iOS iPhone Jak na to Javascript jQuery JS mac mapa Maps Mapy Mashup Mobile MySQL Nezařazeno PHP Programování Silverlight Software Studentská tvorba Test Video Všechno možné Webdesign Weblbinky Windows Wordpress Zajímavosti

21. 8. 2011

FTP synchronizace s pomocí PHP

Upload souborů na server přes FTP je fakt opruz! Každou chvilku něco zapomenete nahrát. Často zbytečně nahráváte soubory, které se vůbec nezměnili. Něco zapomenete smazat, přejmenovat, přesunout atd. Jednoduše děláte chyby, jste jen člověk!

Proto jsem napsal synchronizační skript v PHP, který vše vyřeší automaticky. Skript udržuje seznam všech lokálních souborů (díky za inspiraci) a pokud se některý soubor změní, tak jej nahraje na server. Pokud naopak soubor smažete, pokusí se jej smazat také na serveru. Použití je vcelku triviální:

require_once 'FtpSync.php';

$ftpSync = new FtpSync('ftp://uzivatel:heslo@nabito.net:21/mojecesta/');
$ftpSync->skip(array ('build.xml', 'skipThisDir', 'sitemap.xml'))
 ->fullSync(realpath('./'));

Skript ignoruje soubory a adresáře začínající tečkou (např. .git .svn .htaccess). Seznam přeskakovaných souborů a adresářů je možné nastavit pomocí metody skip()  - víc jsem zatím nepotřeboval.  Synchronizační proces je jednostranný – soubory se tedy přenáší pouze od vás na server.

Skript umí rozpoznat nejen změnu, ale také smazání souboru – pamatuje si totiž poslední stav. Smazané soubory pak automaticky smaže i na serveru.

Pomocí příznaku repeatOnError() je možné donutit synchronizaci nepodařené akce opakovat, takhle funkce je však spíš experimentální = má několik neduhů.

#ftp-sync-php, #ftp-upload-php, #php