Tema para preguntas random a Chatgpt 🤖

  • Autor Autor Carlos Arreola
  • Fecha de inicio Fecha de inicio
peliculas parecidas a la niebla
Si buscas películas similares a "La Niebla" (The Mist), te recomiendo las siguientes que comparten temas de terror, suspense y elementos sobrenaturales:

1. "Bird Box" (2018)
2. "A Quiet Place" (2018)
3. "El Enigma del Cuervo" (2012)
4. "La Cosa" (The Thing, 1982)
5. "Fenómeno Siniestro" (Grave Encounters, 2011)
6. "La Cabaña en el Bosque" (The Cabin in the Woods, 2012)
7. "Silent Hill" (2006)
8. "Cloverfield" (2008)

Espero que te sirvan estas recomendaciones.
 
Si buscas películas similares a "La Niebla" (The Mist), te recomiendo las siguientes que comparten temas de terror, suspense y elementos sobrenaturales:

1. "Bird Box" (2018)
2. "A Quiet Place" (2018)
3. "El Enigma del Cuervo" (2012)
4. "La Cosa" (The Thing, 1982)
5. "Fenómeno Siniestro" (Grave Encounters, 2011)
6. "La Cabaña en el Bosque" (The Cabin in the Woods, 2012)
7. "Silent Hill" (2006)
8. "Cloverfield" (2008)

Espero que te sirvan estas recomendaciones.
Como funciona el algoritmo de una criptomoneda,es posible hacer el algoritmo en php?
 
Como funciona el algoritmo de una criptomoneda,es posible hacer el algoritmo en php?
El algoritmo de una criptomoneda suele referirse a su protocolo de consenso, cómo garantiza la seguridad de las transacciones y cómo se crean nuevas monedas. Por ejemplo, Bitcoin utiliza el algoritmo de prueba de trabajo (PoW), donde los mineros compiten para resolver un acertijo matemático y el primero en tener éxito agrega un nuevo bloque a la cadena de bloques.

Programar un sistema completo de criptomoneda con PHP es teóricamente posible, pero no sería ni práctico ni seguro. Los lados del servidor del lenguaje (como PHP) no están diseñados para manejar la intensa criptografía, la gestión de la red peer-to-peer o la minería de datos requerida para una criptomoneda.

Además, dado que PHP se ejecuta en el lado del servidor, sería muy difícil (si no imposible) que la red de usuarios de una criptomoneda verificara independientemente la integridad de la cadena de bloques, una característica clave de la tecnología de criptomonedas.

En resumen, aunque podrías llevar a cabo ciertas funciones de la criptomoneda con PHP (como construir una interfaz de usuario para una billetera o crear una pasarela de pago), no sería aconsejable intentar construir la criptomoneda en sí. Para eso, se utilizan más comúnmente lenguajes de bajo nivel como C++ o Python.
 
El algoritmo de una criptomoneda suele referirse a su protocolo de consenso, cómo garantiza la seguridad de las transacciones y cómo se crean nuevas monedas. Por ejemplo, Bitcoin utiliza el algoritmo de prueba de trabajo (PoW), donde los mineros compiten para resolver un acertijo matemático y el primero en tener éxito agrega un nuevo bloque a la cadena de bloques.

Programar un sistema completo de criptomoneda con PHP es teóricamente posible, pero no sería ni práctico ni seguro. Los lados del servidor del lenguaje (como PHP) no están diseñados para manejar la intensa criptografía, la gestión de la red peer-to-peer o la minería de datos requerida para una criptomoneda.

Además, dado que PHP se ejecuta en el lado del servidor, sería muy difícil (si no imposible) que la red de usuarios de una criptomoneda verificara independientemente la integridad de la cadena de bloques, una característica clave de la tecnología de criptomonedas.

En resumen, aunque podrías llevar a cabo ciertas funciones de la criptomoneda con PHP (como construir una interfaz de usuario para una billetera o crear una pasarela de pago), no sería aconsejable intentar construir la criptomoneda en sí. Para eso, se utilizan más comúnmente lenguajes de bajo nivel como C++ o Python.
Podrías hacer un algoritmo básico en php solo para ver cómo funcionaría?
 
Podrías hacer un algoritmo básico en php solo para ver cómo funcionaría?
Por supuesto, aquí te dejo un ejemplo muy sencillo de cómo podrías implementar una especie de "blockchain" básica en PHP. En este caso, cada bloque simplemente contiene un índice, una marca de tiempo, datos y un hash.

Primero, necesitas definir la clase para un bloque:

PHP:
class Block 
{
    public $index;
    public $timestamp;
    public $data;
    public $previousHash;
    public $hash;

    public function __construct($index, $timestamp, $data, $previousHash = '')
    {
    $this->index = $index;
    $this->timestamp = $timestamp;
    $this->data = $data;
    $this->previousHash = $previousHash;
    $this->hash = $this->calculateHash();
    }

    public function calculateHash()
    {
    return md5($this->index.$this->previousHash.$this->timestamp.json_encode($this->data));
    }
}

Luego, puedes crear la blockchain:

PHP:
class Blockchain
{
    public $chain = [];

    public function __construct() 
    {
    $this->chain = [$this->createGenesisBlock()];
    }

    public function createGenesisBlock()
    {
    return new Block(0, strtotime("now"), "Genesis Block");
    }

    public function getLatestBlock()
    {
    return $this->chain[count($this->chain)-1];
    }

    public function addBlock($newBlock)
    {
        $newBlock->previousHash = $this->getLatestBlock()->hash;
        $newBlock->hash = $newBlock->calculateHash();

        array_push($this->chain, $newBlock);
    }
}

Nota: Este es un ejemplo muy básico y simplificado que no toma en cuenta muchas de las funcionalidades y seguridades necesarias para una criptomoneda real, como el consenso de la red, la prueba de trabajo, las transacciones, etc. Nunca utilizarías código tan simple para una criptomoneda real.
 
Tu código parece correcto en general, pero hay un par de cosas que tienes que tener en cuenta:

1. Deberías conectar a tu base de datos antes de llamar a mysqli_query. Asegúrate de que la variable $conexion haya sido definida y conectada correctamente a tu base de datos.

2. La variable $ruta_destino parece ser una cadena estática 'ruta_destino', lo cual no parece correcto. Probablemente deberías definirla adecuadamente en tu código, para que apunte a la ubicación de tu archivo subido. Esto podría parecer algo como $ruta_destino="ruta/a/tus/archivos/".$_FILES['file']['name'].

3. Asegúrate de que la columna newvideo en tu tabla watch existe. Asegúrate de que su tipo de dato y longitud son compatibles con los datos que estás tratando de insertar.

4. Recuerda siempre sanitizar tus entradas antes de insertarlas en la base de datos para protegerte contra ataques de inyección SQL.

Si continúas encontrando errores, te recomendaría que captures y manejes errores para tener una idea clara de lo que no está funcionando. Puedes llamar a mysqli_error($conexion) justo después de tu declaración mysqli_query para ver si hay algún error con tu consulta SQL.
Una duda, porque mi reanudable se cae la subida aveces?
 
Una duda, porque mi reanudable se cae la subida aveces?
Hay varias razones por las cuales una subida reanudable puede fallar en cualquier momento:

1. Problemas de red: Los problemas de conectividad en tu red pueden interrumpir la carga de los archivos.

2. Tamaño de archivo: Si el archivo que intentas subir es muy grande, puede superar el límite máximo de carga del servidor. Las configuraciones del archivo php.ini controlan este límite.

3. Tiempo de ejecución: El proceso de carga puede superar el tiempo máximo de ejecución de PHP. Esto también se puede ajustar en el archivo php.ini.

4. Errores de programación: Si 'reanudable' es una característica de un software que estás utilizando, puede ser que tenga errores en la lógica de reanudación que causen interrupciones.

5. Limitaciones del servidor: Algunos servidores pueden tener restricciones sobre la cantidad de datos que se pueden transmitir en un período de tiempo dado.

Para resolver esto, podrías necesitar hacer ajustes en tu configuración de servidor, depurar tu código, controlar el tamaño de los archivos que estás subiendo o incluso revisar tu conexión a internet. Si el problema persiste, sería recomendable investigar más a fondo basándose en registros de errores y mensajes de diagnóstico.
 
Hay varias razones por las cuales una subida reanudable puede fallar en cualquier momento:

1. Problemas de red: Los problemas de conectividad en tu red pueden interrumpir la carga de los archivos.

2. Tamaño de archivo: Si el archivo que intentas subir es muy grande, puede superar el límite máximo de carga del servidor. Las configuraciones del archivo php.ini controlan este límite.

3. Tiempo de ejecución: El proceso de carga puede superar el tiempo máximo de ejecución de PHP. Esto también se puede ajustar en el archivo php.ini.

4. Errores de programación: Si 'reanudable' es una característica de un software que estás utilizando, puede ser que tenga errores en la lógica de reanudación que causen interrupciones.

5. Limitaciones del servidor: Algunos servidores pueden tener restricciones sobre la cantidad de datos que se pueden transmitir en un período de tiempo dado.

Para resolver esto, podrías necesitar hacer ajustes en tu configuración de servidor, depurar tu código, controlar el tamaño de los archivos que estás subiendo o incluso revisar tu conexión a internet. Si el problema persiste, sería recomendable investigar más a fondo basándose en registros de errores y mensajes de diagnóstico.
$_SESSION['tempid'] = mt_rand(1,50).bin2hex(random_bytes(mt_rand(2,5)));

como se crea un tempid nuevo cada vez que entre, creo que lo hiciste una vez con .time() no recuerdo bien
 
$_SESSION['tempid'] = mt_rand(1,50).bin2hex(random_bytes(mt_rand(2,5)));

como se crea un tempid nuevo cada vez que entre, creo que lo hiciste una vez con .time() no recuerdo bien
El código que tienes allí genera un ID temporal único cada vez que se ejecuta, porque cada vez que se llama a mt_rand() y random_bytes(), generan números aleatorios.

Si quisieras agregar un componente de tiempo a esto para garantizar aún más la singularidad, puedes hacerlo de la siguiente manera con time():

PHP:
$_SESSION['tempid'] = time().mt_rand(1,50).bin2hex(random_bytes(mt_rand(2,5)));

Esto antepone un timestamp (la cantidad de segundos desde la medianoche del 1 de enero de 1970) a tu ID temporal, lo que significa que incluso si dos sesiones generan el mismo número aleatorio, seguirán teniendo ID temporales únicos gracias a la porción de timestamp. Como el tiempo siempre avanza, cada vez que creas un tempid, será único.
 
El código que tienes allí genera un ID temporal único cada vez que se ejecuta, porque cada vez que se llama a mt_rand() y random_bytes(), generan números aleatorios.

Si quisieras agregar un componente de tiempo a esto para garantizar aún más la singularidad, puedes hacerlo de la siguiente manera con time():

PHP:
$_SESSION['tempid'] = time().mt_rand(1,50).bin2hex(random_bytes(mt_rand(2,5)));

Esto antepone un timestamp (la cantidad de segundos desde la medianoche del 1 de enero de 1970) a tu ID temporal, lo que significa que incluso si dos sesiones generan el mismo número aleatorio, seguirán teniendo ID temporales únicos gracias a la porción de timestamp. Como el tiempo siempre avanza, cada vez que creas un tempid, será único.
una duda, esto eliminara mi session nada mas o la de todos?

if(isset($_SESSION['ruta_destino'])){
unset($_SESSION['ruta_destino']);
unset($_SESSION['tempid']);
}
 
una duda, esto eliminara mi session nada mas o la de todos?

if(isset($_SESSION['ruta_destino'])){
unset($_SESSION['ruta_destino']);
unset($_SESSION['tempid']);
}
Este código solo eliminará las variables de sesión 'ruta_destino' y 'tempid' de la sesión actual del usuario. Las sesiones en PHP son únicas para cada usuario, por lo que los datos de la sesión de un usuario no afectan a las sesiones de otros usuarios. Por lo tanto, no tienes que preocuparte de que este código elimine estas variables de sesión para todos los usuarios, solo lo hará para el usuario que esté manejando tu código en ese momento.
 
Este código solo eliminará las variables de sesión 'ruta_destino' y 'tempid' de la sesión actual del usuario. Las sesiones en PHP son únicas para cada usuario, por lo que los datos de la sesión de un usuario no afectan a las sesiones de otros usuarios. Por lo tanto, no tienes que preocuparte de que este código elimine estas variables de sesión para todos los usuarios, solo lo hará para el usuario que esté manejando tu código en ese momento.
otra duda, no se supone que mi reanudable en php esperara que haya conexion nuevamente para continuar?
 
otra duda, no se supone que mi reanudable en php esperara que haya conexion nuevamente para continuar?
Sí, en teoría, una carga reanudable debería poder pausarse cuando se pierde la conexión y luego continuar cuando se restablece la conexión. Sin embargo, esto puede depender de cómo se haya implementado la característica de carga reanudable en tu código PHP.

La carga de archivos en PHP normalmente no maneja la lógica de la carga reanudable por sí misma. Necesitarías una biblioteca o un script de terceros que implemente específicamente esta característica, o escribir tu propio código para manejarlo. Habitualmente, las cargas reanudables se logran dividiendo el archivo en partes y luego cargando estas partes una por una, de manera que si se interrumpe la conexión, solo se pierde una pequeña parte de la carga en lugar del archivo completo.

Si tu implementación actual no está reanudando las cargas después de una interrupción de la conexión, podría haber un problema con tu código o la biblioteca que estés usando. Te recomendaría revisar tu código y la documentación de cualquier biblioteca que estés usando para ver si puedes identificar el problema.
 
Sí, en teoría, una carga reanudable debería poder pausarse cuando se pierde la conexión y luego continuar cuando se restablece la conexión. Sin embargo, esto puede depender de cómo se haya implementado la característica de carga reanudable en tu código PHP.

La carga de archivos en PHP normalmente no maneja la lógica de la carga reanudable por sí misma. Necesitarías una biblioteca o un script de terceros que implemente específicamente esta característica, o escribir tu propio código para manejarlo. Habitualmente, las cargas reanudables se logran dividiendo el archivo en partes y luego cargando estas partes una por una, de manera que si se interrumpe la conexión, solo se pierde una pequeña parte de la carga en lugar del archivo completo.

Si tu implementación actual no está reanudando las cargas después de una interrupción de la conexión, podría haber un problema con tu código o la biblioteca que estés usando. Te recomendaría revisar tu código y la documentación de cualquier biblioteca que estés usando para ver si puedes identificar el problema.
if(is_uploaded_file($_FILES['file']['tmp_name'])){
if (!empty($_FILES)) {

if(!isset($_SESSION['tempid'])){
$_SESSION['tempid'] = mt_rand(1,50).bin2hex(random_bytes(mt_rand(2,5)));
$_SESSION['ruta_destino'] = 'upload/'.mt_rand(1,100).bin2hex(random_bytes(mt_rand(5,15))).'.mp4';
}
$ruta_destino = $_SESSION['ruta_destino'];
$tempid = $_SESSION['tempid'];

$temp_archivo = $_FILES['file']['tmp_name'];
$numero_fragmento = $_POST['resumableChunkNumber'];

// Creamos la carpeta temporal si no existe
if (!file_exists("upload/aprobed")) {
mkdir("upload/aprobed", 0777, true);
}

// Mueve el archivo temporal a la carpeta temporal
file_put_contents("upload/aprobed/".$tempid.$_SESSION['email']."id" . $numero_fragmento, file_get_contents($temp_archivo));
}

if ($_POST['resumableChunkNumber'] == $_POST['resumableTotalChunks']) {
$total_fragmentos = $_POST['resumableTotalChunks'];


// Una vez todos los fragmentos están subidos, los combinamos
for ($i = 1; $i <= $total_fragmentos; $i++) {
$contenido_fragmento = file_get_contents("upload/aprobed/".$tempid.$_SESSION['email']."id" . $i);
file_put_contents($ruta_destino, $contenido_fragmento, FILE_APPEND);
}

// Finalmente, eliminamos los fragmentos temporales
for ($i = 1; $i <= $total_fragmentos; $i++) {
unlink("upload/aprobed/".$tempid.$_SESSION['email']."id" . $i);
}
}
if($numero_fragmento == 1){
$mocheauss = mysqli_query($conexion,"SELECT MAX(hora) AS hora FROM watch limit 0,1");
$guyears = mysqli_fetch_assoc($mocheauss);
$horato=$guyears['hora']+1;
$query_exitosa = mysqli_query($conexion,"INSERT INTO watch(tempid,hora,fecha,waiting,get_id,target,hored,email,newmodevideo) VALUES ('".$tempid.$_SESSION['email']."id"."','".$horato."','".date('d M Y')."','".mt_rand(1,8).bin2hex(random_bytes(mt_rand(6,10)))."','".mt_rand(1,5).bin2hex(random_bytes(mt_rand(3,10)))."','".mt_rand(1,10).bin2hex(random_bytes(mt_rand(5,10)))."','".date("Y-m-d H:i:s",strtotime($fecha_actual."+ 72 hours"))."','".$_SESSION['email']."','".$ruta_destino."')");
}
$esUltimoFragmento = ($_POST['resumableChunkNumber'] == $_POST['resumableTotalChunks']);
if ($esUltimoFragmento) {
unset($_SESSION['tempid']);
unset($_SESSION['ruta_destino']);
$resultadas = mysqli_query($conexion, "SELECT MAX(id) AS max_id FROM watch WHERE email='".$_SESSION['email']."'");
$fiyis = mysqli_fetch_assoc($resultadas);
$ultimo_ids = $fiyis['max_id'];
mysqli_query($conexion,"UPDATE watch SET terminates='yess' WHERE terminates='noo' and email='".$_SESSION['email']."' and id='".$ultimo_ids."'");
}
}

aqui deberia de reanudar verdad?
 
if(is_uploaded_file($_FILES['file']['tmp_name'])){
if (!empty($_FILES)) {

if(!isset($_SESSION['tempid'])){
$_SESSION['tempid'] = mt_rand(1,50).bin2hex(random_bytes(mt_rand(2,5)));
$_SESSION['ruta_destino'] = 'upload/'.mt_rand(1,100).bin2hex(random_bytes(mt_rand(5,15))).'.mp4';
}
$ruta_destino = $_SESSION['ruta_destino'];
$tempid = $_SESSION['tempid'];

$temp_archivo = $_FILES['file']['tmp_name'];
$numero_fragmento = $_POST['resumableChunkNumber'];

// Creamos la carpeta temporal si no existe
if (!file_exists("upload/aprobed")) {
mkdir("upload/aprobed", 0777, true);
}

// Mueve el archivo temporal a la carpeta temporal
file_put_contents("upload/aprobed/".$tempid.$_SESSION['email']."id" . $numero_fragmento, file_get_contents($temp_archivo));
}

if ($_POST['resumableChunkNumber'] == $_POST['resumableTotalChunks']) {
$total_fragmentos = $_POST['resumableTotalChunks'];


// Una vez todos los fragmentos están subidos, los combinamos
for ($i = 1; $i <= $total_fragmentos; $i++) {
$contenido_fragmento = file_get_contents("upload/aprobed/".$tempid.$_SESSION['email']."id" . $i);
file_put_contents($ruta_destino, $contenido_fragmento, FILE_APPEND);
}

// Finalmente, eliminamos los fragmentos temporales
for ($i = 1; $i <= $total_fragmentos; $i++) {
unlink("upload/aprobed/".$tempid.$_SESSION['email']."id" . $i);
}
}
if($numero_fragmento == 1){
$mocheauss = mysqli_query($conexion,"SELECT MAX(hora) AS hora FROM watch limit 0,1");
$guyears = mysqli_fetch_assoc($mocheauss);
$horato=$guyears['hora']+1;
$query_exitosa = mysqli_query($conexion,"INSERT INTO watch(tempid,hora,fecha,waiting,get_id,target,hored,email,newmodevideo) VALUES ('".$tempid.$_SESSION['email']."id"."','".$horato."','".date('d M Y')."','".mt_rand(1,8).bin2hex(random_bytes(mt_rand(6,10)))."','".mt_rand(1,5).bin2hex(random_bytes(mt_rand(3,10)))."','".mt_rand(1,10).bin2hex(random_bytes(mt_rand(5,10)))."','".date("Y-m-d H:i:s",strtotime($fecha_actual."+ 72 hours"))."','".$_SESSION['email']."','".$ruta_destino."')");
}
$esUltimoFragmento = ($_POST['resumableChunkNumber'] == $_POST['resumableTotalChunks']);
if ($esUltimoFragmento) {
unset($_SESSION['tempid']);
unset($_SESSION['ruta_destino']);
$resultadas = mysqli_query($conexion, "SELECT MAX(id) AS max_id FROM watch WHERE email='".$_SESSION['email']."'");
$fiyis = mysqli_fetch_assoc($resultadas);
$ultimo_ids = $fiyis['max_id'];
mysqli_query($conexion,"UPDATE watch SET terminates='yess' WHERE terminates='noo' and email='".$_SESSION['email']."' and id='".$ultimo_ids."'");
}
}

aqui deberia de reanudar verdad?
Tu código PHP ya maneja las cargas divididas en fragmentos, lo cual es un componente esencial para hacer que las cargas sean reanudables. Cuando uploades un fragmento, el código lo almacena en la carpeta temporal "upload/aprobed".

Si la conexión se interrumpe durante la carga, los fragmentos previamente cargados deberían permanecer en la carpeta "upload/aprobed". Cuando se restablezca la conexión, si la biblioteca o script en tu cliente (normalmente JavaScript en la interfaz del navegador) está configurado para manejar las cargas reanudables, intentará cargar nuevamente el último fragmento que no se cargó exitosamente.

Sin embargo, algo para tener en cuenta es que no veo en tu código nada que maneje explícitamente la reanudación del proceso de carga, y eso es porque generalmente esa lógica se encuentra en el lado del cliente (JavaScript). Tu código PHP maneja la recepción y el almacenamiento de los fragmentos de carga, pero sería el código de tu cliente el que iniciaría la carga del próximo fragmento cuando se restablezca la conexión.

Te recomendaría revisar el código de tu cliente y asegurarte de que está configurado para reintentar la carga de fragmentos fallidos o no cargados cuando se restablezca la conexión.
 
Tu código PHP ya maneja las cargas divididas en fragmentos, lo cual es un componente esencial para hacer que las cargas sean reanudables. Cuando uploades un fragmento, el código lo almacena en la carpeta temporal "upload/aprobed".

Si la conexión se interrumpe durante la carga, los fragmentos previamente cargados deberían permanecer en la carpeta "upload/aprobed". Cuando se restablezca la conexión, si la biblioteca o script en tu cliente (normalmente JavaScript en la interfaz del navegador) está configurado para manejar las cargas reanudables, intentará cargar nuevamente el último fragmento que no se cargó exitosamente.

Sin embargo, algo para tener en cuenta es que no veo en tu código nada que maneje explícitamente la reanudación del proceso de carga, y eso es porque generalmente esa lógica se encuentra en el lado del cliente (JavaScript). Tu código PHP maneja la recepción y el almacenamiento de los fragmentos de carga, pero sería el código de tu cliente el que iniciaría la carga del próximo fragmento cuando se restablezca la conexión.

Te recomendaría revisar el código de tu cliente y asegurarte de que está configurado para reintentar la carga de fragmentos fallidos o no cargados cuando se restablezca la conexión.
aqui esta mi script, que hay malo aca?

function sunep(){
if(!document.querySelector('.plants')){
var texto = document.getElementsByClassName("nameip")[0].value;
var descrip = document.getElementsByClassName("descrip")[0].value;
var regex = /^[^áéíóúüÁÉÍÓÚÜ"'`]+$/; // No permite tildes, comillas simples ni dobles.
if(texto && descrip) {
if(regex.test(texto) && regex.test(descrip)) {
document.getElementById("merum").submit();
} else {
migrate("caracteres invalidos (tildes o comillas)");
}
}else{
migrate("Objeto vacio");
}
}
}
var r = new Resumable({
target:'uploadpro2.php',
chunkSize:1*1024*1024,
simultaneousUploads:4,
testChunks:false,
throttleProgressCallbacks:1,
maxFileSize: 1024*1024*1024, // Set maximum file size to 1GB
});

r.assignDrop(document.getElementById('dropTarget'));
r.assignBrowse(document.getElementById('browseButton'));

r.on('fileAdded', function(file) {
var fileType = file.file.type;
if (fileType.indexOf('mp4') === -1) {
if(!document.querySelector('.plants')){
migrate("solo archivos .mp4");
}
r.removeFile(file);
return;
}

if(file.size > r.getOpt('maxFileSize')) {
r.removeFile(file);
if(!document.querySelector('.plants')){
migrate("Tamaño maximo 1GB!");
}
return;
} else if (r.files.length > 1) {
r.removeFile(file);
if(!document.querySelector('.plants')){
migrate("1 archivo a la vez!");
}
return;
}
r.upload();
});

r.on('uploadStart', function() {
document.getElementById('mbRemaining').textContent = 'MB restantes: calculando...';
});

r.on('progress', function() {
var progress = r.progress() * 100;
document.getElementById('barra_estado').style.width = progress + '%';
document.getElementsByClassName("bluegold")[0].style.pointerEvents = "none";
var remainingSize = r.getSize() - r.progress() * r.getSize();
document.getElementById('mbRemaining').textContent = 'MB restantes: ' + (remainingSize / (1024 * 1024)).toFixed(2);
});

r.on('fileSuccess', function(file, message) {
console.log('Archivo cargado correctamente', file, message);
document.getElementById("merum").style.display = "block";
document.getElementsByClassName("bluegold")[0].style.display = "none";
document.getElementById('barra_estado').style.backgroundColor = 'green';
});

r.on('fileError', function(file, message) {
console.log('Error al cargar el archivo', file, message);
document.getElementById('barra_estado').style.backgroundColor = 'red';
});
 
aqui esta mi script, que hay malo aca?

function sunep(){
if(!document.querySelector('.plants')){
var texto = document.getElementsByClassName("nameip")[0].value;
var descrip = document.getElementsByClassName("descrip")[0].value;
var regex = /^[^áéíóúüÁÉÍÓÚÜ"'`]+$/; // No permite tildes, comillas simples ni dobles.
if(texto && descrip) {
if(regex.test(texto) && regex.test(descrip)) {
document.getElementById("merum").submit();
} else {
migrate("caracteres invalidos (tildes o comillas)");
}
}else{
migrate("Objeto vacio");
}
}
}
var r = new Resumable({
target:'uploadpro2.php',
chunkSize:1*1024*1024,
simultaneousUploads:4,
testChunks:false,
throttleProgressCallbacks:1,
maxFileSize: 1024*1024*1024, // Set maximum file size to 1GB
});

r.assignDrop(document.getElementById('dropTarget'));
r.assignBrowse(document.getElementById('browseButton'));

r.on('fileAdded', function(file) {
var fileType = file.file.type;
if (fileType.indexOf('mp4') === -1) {
if(!document.querySelector('.plants')){
migrate("solo archivos .mp4");
}
r.removeFile(file);
return;
}

if(file.size > r.getOpt('maxFileSize')) {
r.removeFile(file);
if(!document.querySelector('.plants')){
migrate("Tamaño maximo 1GB!");
}
return;
} else if (r.files.length > 1) {
r.removeFile(file);
if(!document.querySelector('.plants')){
migrate("1 archivo a la vez!");
}
return;
}
r.upload();
});

r.on('uploadStart', function() {
document.getElementById('mbRemaining').textContent = 'MB restantes: calculando...';
});

r.on('progress', function() {
var progress = r.progress() * 100;
document.getElementById('barra_estado').style.width = progress + '%';
document.getElementsByClassName("bluegold")[0].style.pointerEvents = "none";
var remainingSize = r.getSize() - r.progress() * r.getSize();
document.getElementById('mbRemaining').textContent = 'MB restantes: ' + (remainingSize / (1024 * 1024)).toFixed(2);
});

r.on('fileSuccess', function(file, message) {
console.log('Archivo cargado correctamente', file, message);
document.getElementById("merum").style.display = "block";
document.getElementsByClassName("bluegold")[0].style.display = "none";
document.getElementById('barra_estado').style.backgroundColor = 'green';
});

r.on('fileError', function(file, message) {
console.log('Error al cargar el archivo', file, message);
document.getElementById('barra_estado').style.backgroundColor = 'red';
});
Esto parece bien en general. Sin embargo, no veo una función de manejo de errores de red ni una lógica de reanudación explícita. La biblioteca Resumable.js que estás utilizando tiene un evento 'fileRetry'. Puedes intentar añadir algo como:

JavaScript:
r.on('fileRetry', function(file) {
    console.log("Reintentando la subida ", file);
});

Esto te permitirá ver cuando se reintentan las subidas. Sin embargo, la biblioteca debería manejar automáticamente los reintentos mientras testChunks esté en false, lo cual estás haciendo.

Si continúa sin reanudar correctamente las subidas, el problema puede ser más profundo y necesitaría una depuración más detallada. También podría ser útil verificar la configuración del servidor y asegurarte de que no está cancelando las conexiones persistentes, lo que podría interferir con la capacidad de la biblioteca para reanudar las subidas.
 
Esto parece bien en general. Sin embargo, no veo una función de manejo de errores de red ni una lógica de reanudación explícita. La biblioteca Resumable.js que estás utilizando tiene un evento 'fileRetry'. Puedes intentar añadir algo como:

JavaScript:
r.on('fileRetry', function(file) {
    console.log("Reintentando la subida ", file);
});

Esto te permitirá ver cuando se reintentan las subidas. Sin embargo, la biblioteca debería manejar automáticamente los reintentos mientras testChunks esté en false, lo cual estás haciendo.

Si continúa sin reanudar correctamente las subidas, el problema puede ser más profundo y necesitaría una depuración más detallada. También podría ser útil verificar la configuración del servidor y asegurarte de que no está cancelando las conexiones persistentes, lo que podría interferir con la capacidad de la biblioteca para reanudar las subidas.
como verifico si es el servidor?
 
como verifico si es el servidor?
Verificar si es el servidor puede ser un proceso técnico y podría requerir acceso al servidor y la capacidad de revisar y modificar la configuración del mismo. Algunas cosas que podrías verificar incluyen:

1. Registros del servidor: Verifica si hay errores en los registros del servidor que se correlacionen con los momentos en que estás intentando realizar las cargas reanudables.

2. Configuración PHP: Si estás usando PHP en el servidor, verifica si alguna configuración en php.ini podría estar afectando las subidas. Por ejemplo, memoria límite, tiempo de ejecución límite, y tamaño de subida máxima de archivo son opciones comunes.

3. Firewall o configuración de red: Algunos firewalls o configuraciones de red pueden interrumpir conexiones de larga duración, como las necesarias para las subidas de archivos.

4. Configuración del servidor web: Dependiendo de tu servidor web (Apache, Nginx, etc.), es posible que haya configuraciones específicas que puedan afectar las subidas de archivos.

Para cualquiera de estos, si estás en un ambiente de alojamiento compartido, podría ser útil ponerse en contacto con tu proveedor de alojamiento y ver si pueden ayudar a identificar el problema. Si tienes tu propio servidor, podrías necesitar hacer estas investigaciones tú mismo o contratar a un experto.
 
¿maximo de decibeles en potencia wifi en México y Guyana británica?
 
Atrás
Arriba