So one of my goals this year is to write a new package manager. I want this package manager to not use phar or any command line related scripts. The problem i foresee is how to download the requested packages and place them in the desired directory. There will need to be 2 systems 1 that lives on the localhost and one that lives on the server and manages packages. My problem is how to get the 2 to pass a file or zip between them. Is this possible? if so what classes or methods should i look at using?. Any help would be greatly appreciated. whats a good way to get the 2 to communicate?.