cURL es una herramienta intérprete de comandos para transferir archivos con sintaxis URL, soporta […] subidas FTP, subidas mediante formulario HTTP, proxies, cookies, autenticación mediante usuario+contraseña, continuación de transferencia de archivos […] y muchas otras prestaciones.
En PHP podemos hacer uso de esta herramienta mediante una librería llamada libcurl. Puedes ver estos tutoriales para instalar y activarlos (Windows) en xampp ó en apache y php instalados manualmente (en inglés). En Linux es más fácil, simplemente acudir a los repositorios según cada distribución.
Una vez instalado y activado libcurl en PHP podrás probar este ejemplo: transferir imágenes al servicio de hospedaje ImageShack. Ojo que no se trata de subir (propiamente dicho) archivos de nuestra PC, sino de transferir archivos de imágenes que están en la web a ImageShack.

Transferir imágenes a ImageShack con PHP

Puedes ver el demo de está aplicación en línea. Bastará con copiar la URL de una imágen en la web e introducirlo en el cuadro de texto.
Puedes descargar el código de esta aplicación desde SmileyLover Blog.
Enlaces cURL | definición