Código PHP:
    <?php
 
if(isset($_GET['libroid'])){    
    if((isset($_SESSION['user_usernamever']))&&($_SESSION['user_usernamever'] != "Anonymous")){    
    
    // corroboramos si el usuario ya descargo o no comprovando si existe un registro del mismo
    if($totalRows_descargas_datos == "1"){ // si ya hay registro del usuario corroboramos cuanto gasto de su transferencia
        // SI LA TRANSFERENCIA PERMITIDA ES MAYOR QUE LA UTILIZADA PERMITIMOS LA DESCARGA
        if($row_descargas_datos['transferencia_utilizada'] < $row_descargas_datos['transferencia_permitida']){
            ////////////////////////////////////////////////////////////////////////////////////////
            // PERMITIMOS LA DESCARGA //////////////////////////////////////////////////////////////                
            $descargado_nveces = $row_libro_descargar['descargas_libro']+1;
            // ACTUALIZACION DE LOS DATOS DEL LIBRO
            $updateSQL = sprintf("UPDATE libros SET nombre_libro=%s, autor_libro=%s, descripcion_libro=%s, biblioteca_libro=%s, usuario_libro=%s, fecha_publicacion_libro=%s, descargas_libro=%s, ruta_libro=%s, disponibilidad_libro=%s WHERE id=%s",
                               GetSQLValueString($row_libro_descargar['nombre_libro'], "text"),
                               GetSQLValueString($row_libro_descargar['autor_libro'], "text"),
                               GetSQLValueString($row_libro_descargar['descripcion_libro'], "text"),
                               GetSQLValueString($row_libro_descargar['biblioteca_libro'], "text"),
                               GetSQLValueString($row_libro_descargar['usuario_libro'], "text"),
                               GetSQLValueString($row_libro_descargar['fecha_publicacion_libro'], "text"),
                               GetSQLValueString($descargado_nveces, "text"),
                               GetSQLValueString($row_libro_descargar['ruta_libro'], "text"),
                               GetSQLValueString($row_libro_descargar['disponibilidad_libro'], "text"),
                               GetSQLValueString($row_libro_descargar['id'], "int"));
            
            mysql_select_db($database_nombredelsitio_libros, $nombredelsitio_libros);
            $Result1 = mysql_query($updateSQL, $nombredelsitio_libros) or die(mysql_error());
            
            // ACTUALIZACION DE LOS DATOS DE DESCARGA DEL USUARIO
            $descargas_realizadas_por_el_usuario = $row_descargas_datos['descargas_totales']+1;        
            
            // CORROBORACION DE MES Y AÑO PARA BORRADO DE TRANSFERENCIA UTILIZADA AL CAMBIAR DE MES
            // Si el mes que corre y el año que corre son identicos al mes y el año de la ultima descarga, sumamos la transferencia utilizada al peso del archivo, para actualizar el valor de la transferencia ya utilizada en el mes.
            if(($row_descargas_datos['mes_ultimadescarga'] == date("n"))&&($row_descargas_datos['anyo_ultimadescarga'] == date("Y"))){        
                $transferencia_utilizada_por_el_usuario = $row_descargas_datos['transferencia_utilizada'] + filesize($row_libro_descargar['ruta_libro']);    
            } else if(($row_descargas_datos['mes_ultimadescarga'] != date("n"))||($row_descargas_datos['anyo_ultimadescarga'] != date("Y"))){ // Si el mes o el año de la ultima descarga difiere de el mes o el año corriente boramos la transferencia utilizada, y damos como primer valor del mes el peso del archivo solicitado.
                $transferencia_utilizada_por_el_usuario = filesize($row_libro_descargar['ruta_libro']);    
            }
            //////////// FIN DE CORROBORACION DE MES Y AÑO PARA BORRADO DE TRANSFERENCIA MENSUAL UTILIZADA ///////////        
            
            $mes_deultimadescarga = date("n");
            $anyo_deultimadescarga = date("Y");
            
            $updateSQL = sprintf("UPDATE descargas SET usuario=%s, descargas_totales=%s, transferencia_permitida=%s, transferencia_utilizada=%s, mes_ultimadescarga=%s, anyo_ultimadescarga=%s, pago_donacion=%s, monto_donado=%s, dia_que_dono=%s, mes_que_dono=%s, anyo_que_dono=%s WHERE id=%s",
                           GetSQLValueString($_SESSION['user_usernamever'], "text"),
                           GetSQLValueString($descargas_realizadas_por_el_usuario, "text"),
                           GetSQLValueString($row_descargas_datos['transferencia_permitida'], "text"),
                           GetSQLValueString($transferencia_utilizada_por_el_usuario, "text"),
                           GetSQLValueString($mes_deultimadescarga, "text"),
                           GetSQLValueString($anyo_deultimadescarga, "text"),
                           GetSQLValueString($row_descargas_datos['pago_donacion'], "text"),
                           GetSQLValueString($row_descargas_datos['monto_donado'], "text"),
                           GetSQLValueString($row_descargas_datos['dia_que_dono'], "text"),
                           GetSQLValueString($row_descargas_datos['mes_que_dono'], "text"),
                           GetSQLValueString($row_descargas_datos['anyo_que_dono'], "text"),
                           GetSQLValueString($row_descargas_datos['id'], "int"));
            
            mysql_select_db($database_nombredelsitio_libros, $nombredelsitio_libros);
            $Result1 = mysql_query($updateSQL, $nombredelsitio_libros) or die(mysql_error());
            
            // header("Location: libros.php?libroid=" .$row_libro_descargar['id']. "&descargarlibro=ok");
            echo "<script language=\"javascript\">location.href = \"libros.php?libroid=" .$row_libro_descargar['id']. "&descargarlibro=ok\";</script>";
            //echo "ERROR 1";
        } 
        if(($row_descargas_datos['transferencia_utilizada'] > $row_descargas_datos['transferencia_permitida'])||($row_descargas_datos['transferencia_utilizada'] == $row_descargas_datos['transferencia_permitida'])){
        // si la transferencia utilizada supero la transferencia permitida redirigimos a una pagina dando aviso y negando la descarga
        // header("Location: libros.php?transferencia=excedida");
        echo "<script language=\"javascript\">location.href = \"transferencia_excedida.php\";</script>";
        // echo "ERROR 2";
        }
        
    /////////////////////////////////////////////////////////////////////////////////////////
    // AQUI TERMINA LA ACTUALIZACION DE LOS DATOS DEL LIBRO /////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////    
    
    
    /////////////////////////////////////////////////////////////////////////////////////////
    // SI EL USUARIO AUN NO DESCARGO LIBROS
    // CREAMOS UN REGISTRO PARA EL MISMO EN LA TABLA DE DESCARGAS
    } else if($totalRows_descargas_datos != "1"){
    
            $nuevo_usuario_descargas = $_SESSION['user_usernamever']; // nombre de usuario levantado de la base del foro
            $descargas_realizadas = "1"; // la del libro que esta siendo solisitado
            $transferencia_permitida = "31457280"; // el balor es en Bites y son 30 MB
            $transferencia_utilizada = filesize($row_libro_descargar['ruta_libro']); //damos como primer valor el peso del libro solicitado
            $mes_deultimadescarga2 = date("n");
            $anyo_deultimadescarga2 = date("Y");
            $pago_donacion = "no";
            $monto_donado = "0";
            $dia_que_dono = "0";
            $mes_que_dono = "0";
            $anyo_que_dono = "0";
            
            $insertSQL = sprintf("INSERT INTO descargas (usuario, descargas_totales, transferencia_permitida, transferencia_utilizada, mes_ultimadescarga, anyo_ultimadescarga, pago_donacion, monto_donado, dia_que_dono, mes_que_dono, anyo_que_dono) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                   GetSQLValueString($nuevo_usuario_descargas, "text"),
                   GetSQLValueString($descargas_realizadas, "text"),
                   GetSQLValueString($transferencia_permitida, "text"),
                   GetSQLValueString($transferencia_utilizada, "text"),
                   GetSQLValueString($mes_deultimadescarga2, "text"),
                   GetSQLValueString($anyo_deultimadescarga2, "text"),
                   GetSQLValueString($pago_donacion, "text"),
                   GetSQLValueString($monto_donado, "text"),
                   GetSQLValueString($dia_que_dono, "text"),
                   GetSQLValueString($mes_que_dono, "text"),
                   GetSQLValueString($anyo_que_dono, "text"));
            
            mysql_select_db($database_nombredelsitio_libros, $nombredelsitio_libros);
            $Result1 = mysql_query($insertSQL, $nombredelsitio_libros) or die(mysql_error());
            
            // TERMINA LA INSERCION DE NUEVO USUARIO DE DESCARGA
            // PERMITIMOS LA DESCARGA //////////////////////////////////////////////////////////////
                
        $descargado_nveces = $row_libro_descargar['descargas_libro']+1;
        
        $updateSQL = sprintf("UPDATE libros SET nombre_libro=%s, autor_libro=%s, descripcion_libro=%s, biblioteca_libro=%s, usuario_libro=%s, fecha_publicacion_libro=%s, descargas_libro=%s, ruta_libro=%s, disponibilidad_libro=%s WHERE id=%s",
                           GetSQLValueString($row_libro_descargar['nombre_libro'], "text"),
                           GetSQLValueString($row_libro_descargar['autor_libro'], "text"),
                           GetSQLValueString($row_libro_descargar['descripcion_libro'], "text"),
                           GetSQLValueString($row_libro_descargar['biblioteca_libro'], "text"),
                           GetSQLValueString($row_libro_descargar['usuario_libro'], "text"),
                           GetSQLValueString($row_libro_descargar['fecha_publicacion_libro'], "text"),
                           GetSQLValueString($descargado_nveces, "text"),
                           GetSQLValueString($row_libro_descargar['ruta_libro'], "text"),
                           GetSQLValueString($row_libro_descargar['disponibilidad_libro'], "text"),
                           GetSQLValueString($row_libro_descargar['id'], "int"));
        
        mysql_select_db($database_nombredelsitio_libros, $nombredelsitio_libros);
        $Result1 = mysql_query($updateSQL, $nombredelsitio_libros) or die(mysql_error());
        
        // header("Location:" .$row_libro_descargar['ruta_libro']);
        header("Location: libros.php?libroid=" .$row_libro_descargar['id']. "&descargarlibro=ok");    
        echo "<script language=\"javascript\">location.href = \"libros.php?libroid=" .$row_libro_descargar['id']. "&descargarlibro=ok\";</script>";
        // echo "ERROR 3";        
            
        ///////////////////////////////////////////////////////////////////////////////////
            
        }
    }
}
?>