Tema para preguntas random a Chatgpt 🤖

  • Autor Autor Carlos Arreola
  • Fecha de inicio Fecha de inicio
var r = new Resumable({
target:'upload.php',
chunkSize:1*1024*1024,
simultaneousUploads:4,
testChunks:false,
throttleProgressCallbacks:1,
});

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

r.on('fileAdded', function(file) {
r.upload();
});

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

r.on('progress', function() {
var progress = r.progress() * 100;
document.getElementById('barra_estado').style.width = progress + '%';

var remainingSize = r.getSize() - r.getProgress() * r.getSize();
document.getElementById('mbRemaining').textContent = 'MB restantes: ' + (remainingSize / (1024 * 1024)).toFixed(2);

var timeRemaining = r.timeRemaining();
document.getElementById('timeRemaining').textContent = 'Tiempo restante: ' + timeRemaining + ' segundos';
});

r.on('fileSuccess', function(file, message) {
console.log('Archivo cargado correctamente', file, message);
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';
});

var r = new Resumable({
// opciones de la libreria
});

r.on('fileProgress', function(file) {
console.log(file.progress()); // Imprime el progreso del archivo.
});

podrias agregar la solucion a este error "r.getProgress is not a function"??
El error "r.getProgress is not a function" indica que estás intentando llamar a getProgress, pero no existe en la instancia "r" de Resumable. En lugar de getProgress, Resumable.js tiene la función progress().

En esta parte de tu código:

Insertar CODE, HTML o PHP:
var remainingSize = r.getSize() - r.getProgress() * r.getSize();

Por lo que parece, estás intentando obtener el tamaño de archivo restante. En este caso, deberías usar r.progress() para obtener el progreso actual, que retorna un valor de 0 a 1. Tu código corregido debería verse así:

Insertar CODE, HTML o PHP:
var remainingSize = r.getSize() - r.progress() * r.getSize();

Así debería calcular el tamaño restante correctamente. Por favor, intenta hacer este cambio y ve si resuelve tu problema.
 
El error "r.getProgress is not a function" indica que estás intentando llamar a getProgress, pero no existe en la instancia "r" de Resumable. En lugar de getProgress, Resumable.js tiene la función progress().

En esta parte de tu código:

Insertar CODE, HTML o PHP:
var remainingSize = r.getSize() - r.getProgress() * r.getSize();

Por lo que parece, estás intentando obtener el tamaño de archivo restante. En este caso, deberías usar r.progress() para obtener el progreso actual, que retorna un valor de 0 a 1. Tu código corregido debería verse así:

Insertar CODE, HTML o PHP:
var remainingSize = r.getSize() - r.progress() * r.getSize();

Así debería calcular el tamaño restante correctamente. Por favor, intenta hacer este cambio y ve si resuelve tu problema.
podrias hacer el cambio por mi, para evitar errores yo..
 
podrias hacer el cambio por mi, para evitar errores yo..
¡Claro! Aquí está el cambio que sugerí en el código:

JavaScript:
var r = new Resumable({
  target:'upload.php',
  chunkSize:1*1024*1024,
  simultaneousUploads:4,
  testChunks:false,
  throttleProgressCallbacks:1,
});

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

r.on('fileAdded', function(file) {
  r.upload();
});

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

r.on('progress', function() {
  var progress = r.progress() * 100;
  document.getElementById('barra_estado').style.width = progress + '%';
  
  var remainingSize = r.getSize() - r.progress() * r.getSize();
  document.getElementById('mbRemaining').textContent = 'MB restantes: ' + (remainingSize / (1024 * 1024)).toFixed(2);
  
  var timeRemaining = r.timeRemaining();
  document.getElementById('timeRemaining').textContent = 'Tiempo restante: ' + timeRemaining + ' segundos';
});

r.on('fileSuccess', function(file, message) {
  console.log('Archivo cargado correctamente', file, message);
  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';
});

var r = new Resumable({
  // opciones de la libreria
}); 

r.on('fileProgress', function(file) {
  console.log(file.progress());
});

He ajustado la línea que calcula el remainingSize al usar r.progress(). Ahora debería calcular el tamaño restante correctamente.
 
¡Claro! Aquí está el cambio que sugerí en el código:

JavaScript:
var r = new Resumable({
  target:'upload.php',
  chunkSize:1*1024*1024,
  simultaneousUploads:4,
  testChunks:false,
  throttleProgressCallbacks:1,
});

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

r.on('fileAdded', function(file) {
  r.upload();
});

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

r.on('progress', function() {
  var progress = r.progress() * 100;
  document.getElementById('barra_estado').style.width = progress + '%';
 
  var remainingSize = r.getSize() - r.progress() * r.getSize();
  document.getElementById('mbRemaining').textContent = 'MB restantes: ' + (remainingSize / (1024 * 1024)).toFixed(2);
 
  var timeRemaining = r.timeRemaining();
  document.getElementById('timeRemaining').textContent = 'Tiempo restante: ' + timeRemaining + ' segundos';
});

r.on('fileSuccess', function(file, message) {
  console.log('Archivo cargado correctamente', file, message);
  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';
});

var r = new Resumable({
  // opciones de la libreria
});

r.on('fileProgress', function(file) {
  console.log(file.progress());
});

He ajustado la línea que calcula el remainingSize al usar r.progress(). Ahora debería calcular el tamaño restante correctamente.
<?php
echo '

<head>
<script src="../wpp/css/resumable3.js"></script>
<style>
.barra{
margin-top:10px;
margin-left:1%;
box-shadow:inset 0px 0px 5px rgba(0,0,0,.0);
background-color:#f3f3f3;
border-radius:5px;
height:25px;
clear:both;
width:98%;
}
.cancel{
background:#ed1fc3 !important;
display:none;
}
.barra_azul{
background-color:#247CC0;
border-radius:10px;
text-align:center;
line-height:25px;
display:block;
height:25px;
width:0%;
}
.barra_verde{
background-color:#2EA265 !important;
}
.barra_roja{
background-color:#DE3152 !important;
}
</style>
</head>';
?>
<!-- Este es el objetivo del drop de archivos -->
<div id="dropTarget">Arrastra y suelta los archivos aquí</div>

<!-- Este es el botón para explorar los archivos -->
<button id="browseButton">Seleccionar archivos</button>

<!-- Este es el formulario de carga de archivos -->
<form id="uploadForm" action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" id="fileInput" name="file">
</form>

<!-- Aquí se mostrará la cantidad de MB que faltan -->
<div id="mbRemaining">MB restantes: N/A</div>

<!-- Aquí se mostrará el tiempo restante -->
<div id="timeRemaining">Tiempo restante: N/A</div>

<!-- Aquí irá la barra de progreso -->
<div class='barra'><div class='barra_azul' id='barra_estado'><span></span></div></div>
<script>
var r = new Resumable({
target:'upload.php',
chunkSize:1*1024*1024,
simultaneousUploads:4,
testChunks:false,
throttleProgressCallbacks:1,
});

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

r.on('fileAdded', function(file) {
r.upload();
});

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

r.on('progress', function() {
var progress = r.progress() * 100;
document.getElementById('barra_estado').style.width = progress + '%';

var remainingSize = r.getSize() - r.progress() * r.getSize();
document.getElementById('mbRemaining').textContent = 'MB restantes: ' + (remainingSize / (1024 * 1024)).toFixed(2);

var timeRemaining = r.timeRemaining();
document.getElementById('timeRemaining').textContent = 'Tiempo restante: ' + timeRemaining + ' segundos';
});

r.on('fileSuccess', function(file, message) {
console.log('Archivo cargado correctamente', file, message);
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';
});

var r = new Resumable({
// opciones de la libreria
});

r.on('fileProgress', function(file) {
console.log(file.progress());
});
</script>

quedo asi, pero ahora selecciono el archivo y no hace nada
 
<?php
echo '

<head>
<script src="../wpp/css/resumable3.js"></script>
<style>
.barra{
margin-top:10px;
margin-left:1%;
box-shadow:inset 0px 0px 5px rgba(0,0,0,.0);
background-color:#f3f3f3;
border-radius:5px;
height:25px;
clear:both;
width:98%;
}
.cancel{
background:#ed1fc3 !important;
display:none;
}
.barra_azul{
background-color:#247CC0;
border-radius:10px;
text-align:center;
line-height:25px;
display:block;
height:25px;
width:0%;
}
.barra_verde{
background-color:#2EA265 !important;
}
.barra_roja{
background-color:#DE3152 !important;
}
</style>
</head>';
?>
<!-- Este es el objetivo del drop de archivos -->
<div id="dropTarget">Arrastra y suelta los archivos aquí</div>

<!-- Este es el botón para explorar los archivos -->
<button id="browseButton">Seleccionar archivos</button>

<!-- Este es el formulario de carga de archivos -->
<form id="uploadForm" action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" id="fileInput" name="file">
</form>

<!-- Aquí se mostrará la cantidad de MB que faltan -->
<div id="mbRemaining">MB restantes: N/A</div>

<!-- Aquí se mostrará el tiempo restante -->
<div id="timeRemaining">Tiempo restante: N/A</div>

<!-- Aquí irá la barra de progreso -->
<div class='barra'><div class='barra_azul' id='barra_estado'><span></span></div></div>
<script>
var r = new Resumable({
target:'upload.php',
chunkSize:1*1024*1024,
simultaneousUploads:4,
testChunks:false,
throttleProgressCallbacks:1,
});

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

r.on('fileAdded', function(file) {
r.upload();
});

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

r.on('progress', function() {
var progress = r.progress() * 100;
document.getElementById('barra_estado').style.width = progress + '%';

var remainingSize = r.getSize() - r.progress() * r.getSize();
document.getElementById('mbRemaining').textContent = 'MB restantes: ' + (remainingSize / (1024 * 1024)).toFixed(2);

var timeRemaining = r.timeRemaining();
document.getElementById('timeRemaining').textContent = 'Tiempo restante: ' + timeRemaining + ' segundos';
});

r.on('fileSuccess', function(file, message) {
console.log('Archivo cargado correctamente', file, message);
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';
});

var r = new Resumable({
// opciones de la libreria
});

r.on('fileProgress', function(file) {
console.log(file.progress());
});
</script>

quedo asi, pero ahora selecciono el archivo y no hace nada
El problema parece ser que estás creando una nueva instancia de Resumable y asignándola a la misma variable 'r' al final de tu código. Esto sobrescribe la instancia original de 'r' que estaba configurada para manejar la subida de archivos.

Elimina estas líneas del final de tu código para solucionarlo:

JavaScript:
var r = new Resumable({
  // opciones de la libreria
});

r.on('fileProgress', function(file) {
  console.log(file.progress());
});

Estas líneas están causando conflictos porque crean una nueva instancia de Resumable que no está configurada correctamente. Una vez que las elimines, la instancia original de 'r' debería manejar la subida de archivos como se esperaba.

Espero que esto resuelva tu problema. Si aún continúas teniendo problemas, no dudes en preguntar de nuevo.
 
El problema parece ser que estás creando una nueva instancia de Resumable y asignándola a la misma variable 'r' al final de tu código. Esto sobrescribe la instancia original de 'r' que estaba configurada para manejar la subida de archivos.

Elimina estas líneas del final de tu código para solucionarlo:

JavaScript:
var r = new Resumable({
  // opciones de la libreria
});

r.on('fileProgress', function(file) {
  console.log(file.progress());
});

Estas líneas están causando conflictos porque crean una nueva instancia de Resumable que no está configurada correctamente. Una vez que las elimines, la instancia original de 'r' debería manejar la subida de archivos como se esperaba.

Espero que esto resuelva tu problema. Si aún continúas teniendo problemas, no dudes en preguntar de nuevo.
elimina las lineas y enviame el codigo porfa
 
elimina las lineas y enviame el codigo porfa
¡Por supuesto! Aquí está tu código corregido sin las líneas conflictivas:

HTML:
<?php
echo '

<head>
<script src="../wpp/css/resumable3.js"></script>
<style>
/* Estilos omitidos para brevedad */
</style>
</head>';
?>

<div id="dropTarget">Arrastra y suelta los archivos aquí</div>
<button id="browseButton">Seleccionar archivos</button>

<form id="uploadForm" action="upload.php" method="POST" enctype="multipart/form-data">
  <input type="file" id="fileInput" name="file">
</form>

<div id="mbRemaining">MB restantes: N/A</div>
<div id="timeRemaining">Tiempo restante: N/A</div>

<div class='barra'><div class='barra_azul' id='barra_estado'><span></span></div></div>

<script>
var r = new Resumable({
  target:'upload.php',
  chunkSize:1*1024*1024,
  simultaneousUploads:4,
  testChunks:false,
  throttleProgressCallbacks:1,
});

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

r.on('fileAdded', function(file) {
  r.upload();
});

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

r.on('progress', function() {
  var progress = r.progress() * 100;
  document.getElementById('barra_estado').style.width = progress + '%';

  var remainingSize = r.getSize() - r.progress() * r.getSize();
  document.getElementById('mbRemaining').textContent = 'MB restantes: ' + (remainingSize / (1024 * 1024)).toFixed(2);

  var timeRemaining = r.timeRemaining();
  document.getElementById('timeRemaining').textContent = 'Tiempo restante: ' + timeRemaining + ' segundos';
});

r.on('fileSuccess', function(file, message) {
  console.log('Archivo cargado correctamente', file, message);
  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';
});
</script>
Eliminé las últimas líneas de tu código original que estaban creando una nueva instancia de Resumable.js. Ahora tu script debería funcionar como esperabas.
 
¡Por supuesto! Aquí está tu código corregido sin las líneas conflictivas:

HTML:
<?php
echo '

<head>
<script src="../wpp/css/resumable3.js"></script>
<style>
/* Estilos omitidos para brevedad */
</style>
</head>';
?>

<div id="dropTarget">Arrastra y suelta los archivos aquí</div>
<button id="browseButton">Seleccionar archivos</button>

<form id="uploadForm" action="upload.php" method="POST" enctype="multipart/form-data">
  <input type="file" id="fileInput" name="file">
</form>

<div id="mbRemaining">MB restantes: N/A</div>
<div id="timeRemaining">Tiempo restante: N/A</div>

<div class='barra'><div class='barra_azul' id='barra_estado'><span></span></div></div>

<script>
var r = new Resumable({
  target:'upload.php',
  chunkSize:1*1024*1024,
  simultaneousUploads:4,
  testChunks:false,
  throttleProgressCallbacks:1,
});

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

r.on('fileAdded', function(file) {
  r.upload();
});

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

r.on('progress', function() {
  var progress = r.progress() * 100;
  document.getElementById('barra_estado').style.width = progress + '%';

  var remainingSize = r.getSize() - r.progress() * r.getSize();
  document.getElementById('mbRemaining').textContent = 'MB restantes: ' + (remainingSize / (1024 * 1024)).toFixed(2);

  var timeRemaining = r.timeRemaining();
  document.getElementById('timeRemaining').textContent = 'Tiempo restante: ' + timeRemaining + ' segundos';
});

r.on('fileSuccess', function(file, message) {
  console.log('Archivo cargado correctamente', file, message);
  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';
});
</script>
Eliminé las últimas líneas de tu código original que estaban creando una nueva instancia de Resumable.js. Ahora tu script debería funcionar como esperabas.
Uncaught TypeError: r.timeRemaining is not a function
at Resumable.<anonymous> (pro2.php:49:25)
at Resumable.$.fire (resumable3.js:132:46)
at Resumable.$.fire (resumable3.js:136:35)
at ResumableChunk.chunkEvent [as callback] (resumable3.js:447:26)
at ResumableChunk.$.send (resumable3.js:704:11)
at resumable3.js:893:20
at Object.each (resumable3.js:150:16)
at resumable3.js:891:13
at Object.each (resumable3.js:150:16)
at Resumable.$.uploadNextChunk (resumable3.js:889:10)

ahora me salen estos errores
 
Uncaught TypeError: r.timeRemaining is not a function
at Resumable.<anonymous> (pro2.php:49:25)
at Resumable.$.fire (resumable3.js:132:46)
at Resumable.$.fire (resumable3.js:136:35)
at ResumableChunk.chunkEvent [as callback] (resumable3.js:447:26)
at ResumableChunk.$.send (resumable3.js:704:11)
at resumable3.js:893:20
at Object.each (resumable3.js:150:16)
at resumable3.js:891:13
at Object.each (resumable3.js:150:16)
at Resumable.$.uploadNextChunk (resumable3.js:889:10)

ahora me salen estos errores
Lamento la confusión, pero Resumable.js no tiene una función incorporada llamada timeRemaining(). Esa podría ser la razón del error. Dependiendo de tu objetivo, podrías necesitar implementar tu propia lógica para manejar el cálculo del tiempo restante.

Por ahora, puedes comentar o eliminar la línea que causa el error:

JavaScript:
// var timeRemaining = r.timeRemaining();
// document.getElementById('timeRemaining').textContent = 'Tiempo restante: ' + timeRemaining + ' segundos';

Esto debería al menos permitir que tu código funcione, aunque no calculará ni mostrará el tiempo de subida restante. Con respecto a la implementación del cálculo del tiempo restante, podrías necesitar un enfoque personalizado basado en tu aplicación y los requisitos específicos.
 
Lamento la confusión, pero Resumable.js no tiene una función incorporada llamada timeRemaining(). Esa podría ser la razón del error. Dependiendo de tu objetivo, podrías necesitar implementar tu propia lógica para manejar el cálculo del tiempo restante.

Por ahora, puedes comentar o eliminar la línea que causa el error:

JavaScript:
// var timeRemaining = r.timeRemaining();
// document.getElementById('timeRemaining').textContent = 'Tiempo restante: ' + timeRemaining + ' segundos';

Esto debería al menos permitir que tu código funcione, aunque no calculará ni mostrará el tiempo de subida restante. Con respecto a la implementación del cálculo del tiempo restante, podrías necesitar un enfoque personalizado basado en tu aplicación y los requisitos específicos.
tengo una duda, este codigo se pausara la subida cuando se pierda la conexion y volvera a subir automaticamente??
 
tengo una duda, este codigo se pausara la subida cuando se pierda la conexion y volvera a subir automaticamente??
Sí, eso es correcto. Resumable.js está diseñado para manejar interrupciones en la conexión de red. Si se pierde la conexión durante la subida de un archivo, el proceso de subida se pausará automáticamente. Cuando la conexión se restablezca, Resumable.js intentará reanudar la subida del archivo desde donde se quedó, asumiendo que el servidor admite esta funcionalidad. Esto es especialmente útil para subir archivos grandes bajo condiciones de red inestables.
 
Sí, eso es correcto. Resumable.js está diseñado para manejar interrupciones en la conexión de red. Si se pierde la conexión durante la subida de un archivo, el proceso de subida se pausará automáticamente. Cuando la conexión se restablezca, Resumable.js intentará reanudar la subida del archivo desde donde se quedó, asumiendo que el servidor admite esta funcionalidad. Esto es especialmente útil para subir archivos grandes bajo condiciones de red inestables.
<?php
session_start();
error_reporting(0);
if(!($conexion = mysqli_connect("localhost", "root", "clave")));
mysqli_select_db($conexion,"admintable");
if(!empty($_FILES) and $_FILES['file']['type'] == "video/mp4"){
if(is_uploaded_file($_FILES['file']['tmp_name'])){
sleep(1);
$source_path = $_FILES['file']['tmp_name'];
$target_path = 'prueba/'.mt_rand(1,100).bin2hex(random_bytes(mt_rand(5,15))).'.mp4';
$mocheaus = mysqli_query($conexion,"SELECT MAX(hora) AS hora FROM watch limit 0,1");
$guyear = mysqli_fetch_assoc($mocheaus);
$horais=$guyear['hora']+1;

move_uploaded_file($source_path, $target_path);
}
}
?>
ya me funciona bien todo, pero cuando finaliza de subir y reviso, no sube nada que puede ser??
 
<?php
session_start();
error_reporting(0);
if(!($conexion = mysqli_connect("localhost", "root", "clave")));
mysqli_select_db($conexion,"admintable");
if(!empty($_FILES) and $_FILES['file']['type'] == "video/mp4"){
if(is_uploaded_file($_FILES['file']['tmp_name'])){
sleep(1);
$source_path = $_FILES['file']['tmp_name'];
$target_path = 'prueba/'.mt_rand(1,100).bin2hex(random_bytes(mt_rand(5,15))).'.mp4';
$mocheaus = mysqli_query($conexion,"SELECT MAX(hora) AS hora FROM watch limit 0,1");
$guyear = mysqli_fetch_assoc($mocheaus);
$horais=$guyear['hora']+1;

move_uploaded_file($source_path, $target_path);
}
}
?>
ya me funciona bien todo, pero cuando finaliza de subir y reviso, no sube nada que puede ser??
Veamos si podemos encontrar el problema. Aquí hay algunas cosas que puedes verificar:

1. Los permisos de la carpeta de destino: por favor, asegúrate de que el servidor web tenga permiso para escribir en la carpeta 'prueba'.

2. Tipo de archivo: estás comprobando explícitamente si el archivo subido es un video MP4. Si estás intentando subir un archivo de un tipo diferente, no será procesado.

3. Error de archivo: Asegúrate de que el archivo se esté subiendo correctamente sin errores. Puedes comprobarlo agregando alguna forma de manejo de errores, por ejemplo:

PHP:
if (!move_uploaded_file($source_path, $target_path)) {
    echo 'Ocurrió un error al mover el archivo subido';
}

4. Comprueba si la función move_uploaded_file() está devolviendo false. Esto puede indicar un problema con el mover el archivo subido al destino.

5. Configuración PHP: Asegúrate de que tu configuración PHP permita subir archivos del tamaño que estás intentando subir. Las directivas que podrías necesitar ajustar en tu archivo php.ini son 'upload_max_filesize' y 'post_max_size'.

Si ninguno de estos puntos resuelve tu problema, por favor proporciona más detalles y con gusto seguiré asistiendo.
 
Veamos si podemos encontrar el problema. Aquí hay algunas cosas que puedes verificar:

1. Los permisos de la carpeta de destino: por favor, asegúrate de que el servidor web tenga permiso para escribir en la carpeta 'prueba'.

2. Tipo de archivo: estás comprobando explícitamente si el archivo subido es un video MP4. Si estás intentando subir un archivo de un tipo diferente, no será procesado.

3. Error de archivo: Asegúrate de que el archivo se esté subiendo correctamente sin errores. Puedes comprobarlo agregando alguna forma de manejo de errores, por ejemplo:

PHP:
if (!move_uploaded_file($source_path, $target_path)) {
    echo 'Ocurrió un error al mover el archivo subido';
}

4. Comprueba si la función move_uploaded_file() está devolviendo false. Esto puede indicar un problema con el mover el archivo subido al destino.

5. Configuración PHP: Asegúrate de que tu configuración PHP permita subir archivos del tamaño que estás intentando subir. Las directivas que podrías necesitar ajustar en tu archivo php.ini son 'upload_max_filesize' y 'post_max_size'.

Si ninguno de estos puntos resuelve tu problema, por favor proporciona más detalles y con gusto seguiré asistiendo.
podrias hacerme el archivo upload.php??
 
podrias hacerme el archivo upload.php??
Seguro. Aquí te dejo un ejemplo sencillo de cómo se podría ver tu archivo upload.php, asumiendo que estás usando Resumable.js para las subidas en "chunks" de tus archivos:

PHP:
<?php 
if ($_FILES) {
    $tempPath = $_FILES['file']['tmp_name'];
    $uploadPath1 = dirname(__FILE__) . DIRECTORY_SEPARATOR;
    $uploadPath2 = $uploadPath1 . basename($_FILES['file']['name']);
    
    move_uploaded_file($tempPath, $uploadPath2);
    $answer = array('respuesta' => 'Archivo transferido');
    echo json_encode($answer);
} else {
    echo ('No hay archivos para subir');
}
?>

Esta es una versión muy básica y no tiene en cuenta la validación de los archivos ni los potenciales errores de seguridad al subir archivos. Te recomendaría que busques información sobre cómo manejar de forma segura la subida de archivos en PHP.
 
Seguro. Aquí te dejo un ejemplo sencillo de cómo se podría ver tu archivo upload.php, asumiendo que estás usando Resumable.js para las subidas en "chunks" de tus archivos:

PHP:
<?php
if ($_FILES) {
    $tempPath = $_FILES['file']['tmp_name'];
    $uploadPath1 = dirname(__FILE__) . DIRECTORY_SEPARATOR;
    $uploadPath2 = $uploadPath1 . basename($_FILES['file']['name']);
   
    move_uploaded_file($tempPath, $uploadPath2);
    $answer = array('respuesta' => 'Archivo transferido');
    echo json_encode($answer);
} else {
    echo ('No hay archivos para subir');
}
?>

Esta es una versión muy básica y no tiene en cuenta la validación de los archivos ni los potenciales errores de seguridad al subir archivos. Te recomendaría que busques información sobre cómo manejar de forma segura la subida de archivos en PHP.
una duda, a que ruta se esta subindo el archivo??
 
una duda, a que ruta se esta subindo el archivo??
En el código proporcionado, el archivo se está subiendo al mismo directorio donde se encuentra el archivo upload.php.

La línea $uploadPath1 = dirname(__FILE__) . DIRECTORY_SEPARATOR; obtiene la ruta del directorio del archivo actual (upload.php) y le agrega un separador de directorio al final.

Luego, $uploadPath2 = $uploadPath1 . basename($_FILES['file']['name']); construye la ruta final de subida concatenando la ruta del directorio y el nombre del archivo subido.

Por lo tanto, si tu archivo upload.php está en la ruta /var/www/html/, el archivo subido se guardará en /var/www/html/nombreDelArchivo.

Si quieres que los archivos se suban a un directorio diferente, puedes modificar $uploadPath1 para apuntar a la ruta de tu preferencia.
 
En el código proporcionado, el archivo se está subiendo al mismo directorio donde se encuentra el archivo upload.php.

La línea $uploadPath1 = dirname(__FILE__) . DIRECTORY_SEPARATOR; obtiene la ruta del directorio del archivo actual (upload.php) y le agrega un separador de directorio al final.

Luego, $uploadPath2 = $uploadPath1 . basename($_FILES['file']['name']); construye la ruta final de subida concatenando la ruta del directorio y el nombre del archivo subido.

Por lo tanto, si tu archivo upload.php está en la ruta /var/www/html/, el archivo subido se guardará en /var/www/html/nombreDelArchivo.

Si quieres que los archivos se suban a un directorio diferente, puedes modificar $uploadPath1 para apuntar a la ruta de tu preferencia.
$uploadPath2 = '../prueba/'.$uploadPath1 . basename($_FILES['file']['name']);

seria asi para mi carpeta prueba no?
 
$uploadPath2 = '../prueba/'.$uploadPath1 . basename($_FILES['file']['name']);

seria asi para mi carpeta prueba no?
No exactamente. La variable $uploadPath1 ya incluye la ruta completa a la carpeta del archivo actual. Si quieres subir el archivo a una carpeta llamada "prueba" en el directorio superior, puedes hacerlo de la siguiente forma:

PHP:
$uploadPath2 = '../prueba/' . basename($_FILES['file']['name']);

De esta manera, la ruta continuará desde un directorio más arriba (gracias a '../') hacia la carpeta 'prueba', y luego agregará el nombre del archivo subido. Por favor, asegúrate de que la carpeta 'prueba' existe y tiene los permisos adecuados.
 
No exactamente. La variable $uploadPath1 ya incluye la ruta completa a la carpeta del archivo actual. Si quieres subir el archivo a una carpeta llamada "prueba" en el directorio superior, puedes hacerlo de la siguiente forma:

PHP:
$uploadPath2 = '../prueba/' . basename($_FILES['file']['name']);

De esta manera, la ruta continuará desde un directorio más arriba (gracias a '../') hacia la carpeta 'prueba', y luego agregará el nombre del archivo subido. Por favor, asegúrate de que la carpeta 'prueba' existe y tiene los permisos adecuados.
Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR

me salio est error
 
Atrás
Arriba