Código:
<?php
$ftp_server = "miservidor";
$ftp_user_name = "usuario";
$ftp_user_pass = "contraseña";
ob_end_flush();
$remote_file = 'nombre del archivo subido';
$local_file = 'nombre del archivo a subir';
$fp = fopen($local_file, 'r');
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$ret = ftp_nb_fput($conn_id, $remote_file, $fp, FTP_BINARY);
while ($ret == FTP_MOREDATA) {
if(!isset($conn_id2)) {
$conn_id2 = ftp_connect($ftp_server);
$login_result2 = ftp_login($conn_id2, $ftp_user_name, $ftp_user_pass);
}
if(isset($conn_id2)) {
clearstatcache();
$remote_file_size = ftp_size($conn_id2, $remote_file);
}
$local_file_size = filesize($local_file);
if (isset($remote_file_size) && $remote_file_size > 0 ){
$i = ($remote_file_size/$local_file_size)*100;
printf("%d%% subido", $i);
echo '<br>';
flush();
}
$ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
print("Hubo un error subiendo el archivo...<br>");
exit(1);
}
else {
print("terminado.<br>");
}
fclose($fp);
?>



