bueno... para empezar debes agregar un segundo campo de formulario de tipo texto para que el usuario pegue la url del archivo remoto (así se dice, no externo).
suponiendo que el campo se llama "remoteImage", el script debería quedarte así:
para saber si el usuario ingreso o no datos en el campo file o en el campo text simplemente usa if()
Código PHP:
Ver originalif($_POST['remoteImage']){ //aqui el usuario pego un enlace
}elseif($_POST['file'][ 'tmp_name' ]){ // aqui esta subiendo desde su disco duro
//subes la imagen normalmente
}else{
//esto significa que el usuario no pego un enlace ni subio imagen
echo "SE TE OLVIDO PONER UNA IMAGEN!";
}