Ho provato anche senza spazi, non funziona lo stesso 
il file C:/file.jpg che dev'essere caricato in /files/file.jpg nel server.
il fatto che non trovi il file fuori dalla document root e' del tutto normale. metti il file in un path accessibile ad apache o quello che usi
Il fatto e' che vorrei che il file fosse preso da una qualsiasi directory del file system locale (come mi permetteva di fare quando ero su localhost, che funzionava!), per essere caricato su una cartella del server apache in remoto tramite FTP.
Se devo mettere manualmente il file in un posto "visibile" ad apache lo script diventa inutile 
Questo e' lo script che uso:
codice:
$destfolder="files";
// nome del file destinazione
$destname = $destfolder."/".$_FILES['userfile']['name'];
...
// connessione FTP
$ftp_server = "URLDelServerFtp";
$ftp_user_name = "xxxxxxxx";
$ftp_user_pass = "xxxxxxxx";
// percorso di destinazione completo del file da caricare
$destination_file = "/".$destname;
// path completo sul file system locale del file da caricare
// $POST['percorso'] vale per esempio C:\file.jpg
$source_file = $_POST['percorso'];
$conn_id = ftp_connect($ftp_server);
// login con user name e password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// controllo della connessione
if((!$conn_id) || (!$login_result))
{
echo "errore connessione FTP";
die();
}
else
{
}
// sostituisco i \\\\ del percorso del file (aggiunti dal magic quotes) con /
$source_file = str_replace("\\\\", "/", $source_file);
//upload del file
$upload = @ftp_put($conn_id, "{$destination_file}", "{$source_file}", FTP_BINARY);
// controllo dello stato di upload
if(!$upload)
{
$error = 2;
}
// se tutto va per il verso giusto (connessione FTP e upload)
else
{
..... crea thumbnail dell'immagine ecc.
}