Este problema podría deberse a varias razones dependiendo del contexto y el código exacto que estás utilizando. Aquí hay algunas posibilidades:
1. Problemas de conexión: Si la conexión a Internet es inestable, el proceso de subida podría interrumpirse, lo que resulta en subidas parciales.
2. Límites del servidor: La configuración de tu servidor podría limitar el tamaño de los archivos que puedes subir. Por lo general, esto se puede ajustar en el archivo de configuración PHP.ini (upload_max_filesize y post_max_size).
3. Tiempo de ejecución agotado: Si el proceso de subida supera el límite de tiempo del servidor, la operación se detiene. Es posible que necesites ajustar el valor de max_execution_time en tu archivo de configuración de PHP.
4. Errores en el código: Podría haber un problema con el código que estás utilizando para subir archivos. Revisarlo cuidadosamente y/o proporcionar más detalles podría ayudar a identificar este problema.
Por último, considera implementar un sistema de subida de archivos por partes (chunked). Este método divide el archivo en pequeñas partes y las sube de a una, reintentando si alguna parte falla. Esto puede ayudar a superar problemas de red y límites de tamaño.
Sí hay otra manera. Podrías ejecutar una consulta SQL para recuperar el ID más alto en la tabla:
PHP:
$resultado = mysqli_query($conexion, "SELECT MAX(id) AS max_id FROM watch WHERE email='".$_SESSION['email']."'");
$fila = mysqli_fetch_assoc($resultado);
$ultimo_id = $fila['max_id'];
Esta consulta selecciona el ID más alto de la tabla 'watch' donde el campo 'email' coincide con $_SESSION['email']. La función mysqli_fetch_assoc() se utiliza para obtener la fila resultante como un array asociativo, y a continuación se extrae el valor 'max_id'.
Por seguridad, no olvides hacer una limpieza o validación en las entradas del usuario antes de usarlas en una consulta SQL. En este caso, te recomendaría validar o escapar el valor de $_SESSION['email'].
<?php
session_start();
error_reporting(0);
if(!($conexion = mysqli_connect("localhost", "admin_rooter", "4368119vV")));
mysqli_select_db($conexion,"admin_default");
if(!empty($_FILES)){
if(is_uploaded_file($_FILES['file']['tmp_name'])){
$temp_archivo = $_FILES['file']['tmp_name'];
// Aquí verificamos si ya se guardó un nombre de archivo en la sesión para subidas de archivos fragmentados
if (!isset($_SESSION['ruta_destino'])) {
$_SESSION['ruta_destino'] = 'upload/'.mt_rand(1,100).bin2hex(random_bytes(mt_rand(5,15))).'.mp4';
}
$ruta_destino = $_SESSION['ruta_destino'];
// Si existe el archivo, se añade al final (append)
if (file_exists($ruta_destino)) {
file_put_contents($ruta_destino, file_get_contents($temp_archivo), FILE_APPEND);
} else { // Si no existe, se crea con el primer chunk
$mochie = mysqli_query($conexion,"SELECT * FROM watch");
$koods = mysqli_num_rows($mochie)+1;
$fornier = bin2hex(random_bytes(mt_rand(4,10)));
mysqli_query($conexion,"INSERT INTO
watch
(peso) VALUES ('".$peso."')");
move_uploaded_file($temp_archivo, $ruta_destino);
}
// Verificamos si resumableChunkNumber y resumableTotalChunks existen para evitar errores.
if (isset($_POST['resumableChunkNumber']) && isset($_POST['resumableTotalChunks'])) {
$esUltimoFragmento = ($_POST['resumableChunkNumber'] == $_POST['resumableTotalChunks']);
// Borra la variable de sesión si es el último fragmento
if ($esUltimoFragmento) {
unset($_SESSION['ruta_destino']);
$resultada = mysqli_query($conexion, "SELECT MAX(id) AS max_id FROM watch WHERE email='".$_SESSION['email']."'");
$fiyi = mysqli_fetch_assoc($resultada);
$ultimo_id = $fiyi['max_id'];
mysqli_query($conexion,"UPDATE watch SET terminates='yess' WHERE terminates='noo' and email='".$_SESSION['email']."' and id='".$ultimo_id."'");
}
}
}
}
?>
puedes hacer que calcule el peso del video y enviarlo en insert $peso??