Per ottenere la dimensione di un file remoto potresti utilizzare http://www.php.net/fsockopen ed effettuare una richiesta HTTP HEAD per ottenere i dettagli del file dal web server remoto.

Tieni presente che un sistema del genere rallenta sensibilmente l'esecuzione dello script e non è affidabile al 100%.

Per quanto riguarda la creazione della miniatura, farlo a runtime comporta dei sovraccarichi del server, e salvarne una copia in locale (es. ad uso cache) potrebbe farti incorrere in grossi problemi relativi a violazioni di copyright.