BotBeta
Admin
Sigma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario popular!
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Suscripción a IA
Por supuesto, aquí está tu código con las verificaciones adicionales:podrias hacer esto que me dices para evitar errores?
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
mysqli_query($conexion,"INSERT INTO `watch`(nombre) VALUES ('".$ruta_destino."')");
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']);
}
}
}
}
ya se suben los videos y todo bien pero porque no los puedo ver??Por supuesto, aquí está tu código con las verificaciones adicionales:
Por supuesto, debes adaptar este código a la estructura de tu aplicación y manejar adecuadamente los fallos en la conexión a la base de datos, errores de subida de archivos, seguridad, etc.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 mysqli_query($conexion,"INSERT INTO `watch`(nombre) VALUES ('".$ruta_destino."')"); 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']); } } } }
Hay algunas razones por las que los videos subidos no se puedan ver. Aquí te dejo algunas posibles causas y soluciones:ya se suben los videos y todo bien pero porque no los puedo ver??
podrias hacerme un reproductor avanzado?Hay algunas razones por las que los videos subidos no se puedan ver. Aquí te dejo algunas posibles causas y soluciones:
1. Formato de video no soportado por el reproductor: Asegúrate de que el formato del video subido es soportado por el reproductor que usas en tu página. Los formatos más universales suelen ser MP4 y WebM.
2. Error en la ruta al archivo: Verifica que la ruta al archivo donde se guarda el video sea correcta. Puedes verificar esto revisando el código donde generas la URL para el video en tu reproductor.
3. Problemas con los permisos de los archivos o del directorio: Asegúrate de que tu servidor web tenga permisos para leer los archivos de video.
4. El video sigue siendo subido o procesado: Si estás subiendo o procesando videos grandes, podría tomar un tiempo hasta que estén disponibles para ser reproducidos.
5. Problemas con la codificación del video: Si el video se codifica en el servidor antes de guardarse, podría haber problemas con la codificación que impiden que el video se reproduzca.
Sin más detalles sobre tu situación, esas son algunas de las causas más comunes por las que podrías tener problemas. Te recomendaría examinar tu situación con esos puntos en mente para ver si puedes identificar el problema.
Crear un reproductor de video avanzado desde cero puede ser un proceso complicado y necesitarías conocimientos profundos en JavaScript, CSS y HTML. Sin embargo, existen librerías y plugins listos para usar que pueden ofrecer una solución más rápida y fácil.podrias hacerme un reproductor avanzado?
<!DOCTYPE html>
<html lang="en">
<head>
<link href="https://vjs.zencdn.net/7.15.4/video-js.css" rel="stylesheet" />
</head>
<body>
<video
id="my-video"
class="video-js"
controls
preload="auto"
width="640"
height="264"
poster="MI_POSTER_VIDEO.JPG"
data-setup="{}"
>
<source src="MI_VIDEO.mp4" type="video/mp4" />
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a
web browser that
<a href="https://videojs.com/no-js" target="_blank">supports HTML5 video</a>
</p>
</video>
<script src="https://vjs.zencdn.net/7.15.4/video.min.js"></script>
</body>
</html>
Para hacer uso deusando wget con el simbolo del sistema y con -i que es una lista de url en un .txt
¿cómo le hago para que baje las urls duplicadas o que renombre los archivos al bajarlos?
¿y como renombro los archivos/urls para que los baje asi:
por ejemplo
FARql8?format=jpg&name=orig a FARql8.jpg
wget
y renombrar los archivos descargados puedes hacer uso de un script bash. Aquí te dejo un ejemplo:while IFS= read -r line
do
# Obtiene el nombre base de la URL quitando los parámetros
filename=$(basename $line)
# Quita la parte ?format=jpg&name=orig de la URL
filename=${filename%%\?*}
# Descarga el archivo y lo guarda con el nuevo nombre
wget -O $filename.jpg $line
done < tu_archivo.txt
chmod +x tu_script.sh
.<?phpPara hacer uso dewget
y renombrar los archivos descargados puedes hacer uso de un script bash. Aquí te dejo un ejemplo:
Este script leerá el archivo de texto línea por línea, extraerá el nombre base de cada URL, eliminará los parámetros de la URL y finalmente descargará el archivo y lo guardará con el nuevo nombre.Bash:while IFS= read -r line do # Obtiene el nombre base de la URL quitando los parámetros filename=$(basename $line) # Quita la parte ?format=jpg&name=orig de la URL filename=${filename%%\?*} # Descarga el archivo y lo guarda con el nuevo nombre wget -O $filename.jpg $line done < tu_archivo.txt
Para que este script funcione correctamente necesitas tener instalado wget y bash en tu sistema. Si estás en Windows, puedes conseguir bash a través de la Subsistema de Windows para Linux. Recuerda también dar permisos de ejecución a tu script antes de correrlo con el comandochmod +x tu_script.sh
.
Claro, para eso puedes poner un control sobre el evento 'filesAdded' de Resumable.js para solo aceptar un archivo al mismo tiempo. Aquí está tu código modificado:<?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>
<div id="dropTarget">Arrastra y suelta los archivos aquí</div>
<button id="browseButton">Seleccionar archivos</button>
<form id="uploadForm" action="uploadpro.php" method="POST" enctype="multipart/form-data">
<input type="file" accept="video/mp4" required id="fileInput" name="file">
</form>
<div class="barra"><div class="barra_azul" id="barra_estado"><span></span></div></div>
<div id="mbRemaining">MB restantes: N/A</div>';
?>
<script>
var r = new Resumable({
target:'uploadpro.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...';
});
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);
});
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>
podrias hacer que "dropTarget" y "browseButton" solo permitan seleccionar un archivo a la vez??
<script>
var r = new Resumable({
target:'uploadpro.php',
chunkSize:1*1024*1024,
simultaneousUploads:4,
testChunks:false,
throttleProgressCallbacks:1,
maxFiles: 1 // Añadido maxFiles para limitarlo a un único archivo
});
r.assignDrop(document.getElementById('dropTarget'));
r.assignBrowse(document.getElementById('browseButton'));
r.on('fileAdded', function(file, event) {
if (this.files.length > 1) {
this.removeFile(file) // Si ya hay un archivo seleccionado, remueve el nuevo agregado
alert('Solo puedes seleccionar un archivo a la vez');
return;
}
r.upload();
});
// Más código…
</script>
podrias enviarme el codigo completo porfa es que no entendi..Claro, para eso puedes poner un control sobre el evento 'filesAdded' de Resumable.js para solo aceptar un archivo al mismo tiempo. Aquí está tu código modificado:
Presta atención a la propiedad maxFiles en las opciones de Resumable y cómo se maneja el evento 'fileAdded'. De esta forma, si seleccionas más de un archivo, se mostrará una alerta y la subida no procederá.PHP:<script> var r = new Resumable({ target:'uploadpro.php', chunkSize:1*1024*1024, simultaneousUploads:4, testChunks:false, throttleProgressCallbacks:1, maxFiles: 1 // Añadido maxFiles para limitarlo a un único archivo }); r.assignDrop(document.getElementById('dropTarget')); r.assignBrowse(document.getElementById('browseButton')); r.on('fileAdded', function(file, event) { if (this.files.length > 1) { this.removeFile(file) // Si ya hay un archivo seleccionado, remueve el nuevo agregado alert('Solo puedes seleccionar un archivo a la vez'); return; } r.upload(); }); // Más código… </script>
Espero que esto te ayude a conseguir lo que buscas.
Claro, entiendo la confusión. Aquí está el código completo con las modificaciones requeridas:podrias enviarme el codigo completo porfa es que no entendi..
<?php
...
// Todo tu código inicial (CSS y estructura HTML) hasta la etiqueta del script
...
?>
<script>
var r = new Resumable({
target:'uploadpro.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, event) {
if (r.files.length > 1) {
r.removeFile(file); // Si ya hay un archivo seleccionado, remueve el nuevo agregado
alert('Solo puedes seleccionar un 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 + '%';
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('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>
@BotBeta me gustaría saber si las personas más exitosas hacen algo que no hacen los demás y que crees que sería?Claro, entiendo la confusión. Aquí está el código completo con las modificaciones requeridas:
PHP:<?php ... // Todo tu código inicial (CSS y estructura HTML) hasta la etiqueta del script ... ?> <script> var r = new Resumable({ target:'uploadpro.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, event) { if (r.files.length > 1) { r.removeFile(file); // Si ya hay un archivo seleccionado, remueve el nuevo agregado alert('Solo puedes seleccionar un 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 + '%'; 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('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>
Presta atención a cómo el evento 'fileAdded' ha sido modificado. Abre JavaScript y observa el bloque de código que se ejecuta cuando añades un archivo. La función ahora verifica cuántos archivos hay actualmente en la subida. Si ya hay un archivo, elimina el archivo recién agregado y muestra un mensaje de alerta.
Las personas exitosas suelen tener algunos hábitos y características en común que pueden contribuir a su éxito:@BotBeta me gustaría saber si las personas más exitosas hacen algo que no hacen los demás y que crees que sería?
echo '<script>Las personas exitosas suelen tener algunos hábitos y características en común que pueden contribuir a su éxito:
1. Establecen metas claras: Tienen una visión de a dónde quieren llegar y establecen metas claras para ayudarles a lograrlo.
2. Están dispuestas a tomar riesgos: No temen al fracaso y están dispuestas a tomar riesgos para alcanzar el éxito.
3. Aprenden constantemente: Siempre buscan oportunidades para aprender algo nuevo y mejorar sus habilidades.
4. Tienen una actitud positiva: Tratan de mantener una actitud positiva incluso en situaciones difíciles.
5. Son persistentes: No se rinden fácilmente y están dispuestas a trabajar duro para alcanzar sus metas.
6. Saben delegar: Entienden que no pueden hacer todo solos y están dispuestos a delegar tareas a otros.
7. Mantienen un buen equilibrio entre la vida laboral y personal: Entienden la importancia de cuidar de su salud y bienestar para poder mantener el rendimiento a largo plazo.
Estas son solo algunas de las cosas que las personas exitosas podrían hacer de manera diferente a los demás. Sin embargo, es importante recordar que el éxito puede definirse de maneras diferentes para diferentes personas, y lo que funciona para uno puede no funcionar para otro.
En PHP, si quieres imprimir un texto largo con comillas dentro, puedes utilizar la sintaxis HEREDOC o NOWDOC. Aquí está tu código utilizando HEREDOC:echo '<script>
var r = new Resumable({
target:'uploadpro.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, event) {
if (r.files.length > 1) {
r.removeFile(file); // Si ya hay un archivo seleccionado, remueve el nuevo agregado
alert('Solo puedes seleccionar un 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 + '%';
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('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>';
podrias solucionar el error de las comillas por favor
echo <<<HTML
<script>
var r = new Resumable({
target:'uploadpro.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, event) {
if (r.files.length > 1) {
r.removeFile(file); // Si ya hay un archivo seleccionado, remueve el nuevo agregado
alert('Solo puedes seleccionar un 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 + '%';
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('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>
HTML;
<<<HTML
al principio y HTML;
al final. Puedes reemplazar "HTML" con cualquier identificador que desees, siempre y cuando lo uses consistente. El identificador no debe tener espacios o indentación antes de él.no me dejar usarlo asi, que podria ser??En PHP, si quieres imprimir un texto largo con comillas dentro, puedes utilizar la sintaxis HEREDOC o NOWDOC. Aquí está tu código utilizando HEREDOC:
PHP:echo <<<HTML <script> var r = new Resumable({ target:'uploadpro.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, event) { if (r.files.length > 1) { r.removeFile(file); // Si ya hay un archivo seleccionado, remueve el nuevo agregado alert('Solo puedes seleccionar un 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 + '%'; 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('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> HTML;
Esta es una buena forma de gestionar cadenas de texto largas en PHP. Nota la sintaxis<<<HTML
al principio yHTML;
al final. Puedes reemplazar "HTML" con cualquier identificador que desees, siempre y cuando lo uses consistente. El identificador no debe tener espacios o indentación antes de él.
Lamento que estés experimentando problemas. La sintaxis HEREDOC que proporcioné es válida; podría haber varios motivos por los que no está funcionando como esperas:no me dejar usarlo asi, que podria ser??
echo "<script>
var r = new Resumable({
target:'uploadpro.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, event) {
if (r.files.length > 1) {
r.removeFile(file); // Si ya hay un archivo seleccionado, remueve el nuevo agregado
alert('Solo puedes seleccionar un archivo a la vez');
return;
}
r.upload();
});
...
</script>";
echo <<<HTMLLamento que estés experimentando problemas. La sintaxis HEREDOC que proporcioné es válida; podría haber varios motivos por los que no está funcionando como esperas:
1. Comprueba tu versión de PHP: HEREDOC tiene una sintaxis ligeramente diferente en diferentes versiones de PHP. En PHP 7.3 y versiones posteriores, la etiqueta final HEREDOC no necesita estar al comienzo de la línea (aunque todavía puede estarlo).
2. Chequea que no haya espacios en blanco antes o después de las etiquetas de apertura y cierre HEREDOC.
3. También es posible que tu editor o IDE tenga problemas para interpretar la sintaxis HEREDOC.
Si aun así sigues teniendo problemas, puedes intentar escapar las comillas manualmente utilizando backslashes (\), así:
PHP:echo "<script> var r = new Resumable({ target:'uploadpro.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, event) { if (r.files.length > 1) { r.removeFile(file); // Si ya hay un archivo seleccionado, remueve el nuevo agregado alert('Solo puedes seleccionar un archivo a la vez'); return; } r.upload(); }); ... </script>";
Esto implica poner cada comilla PHP dentro de comillas PHP y usar una barra invertida antes de cualquier comillas o caracteres de escape en tu cadena. Espero que esto te ayude a resolver el problema.
Claro, puedes agregar esa verificación en el evento 'fileAdded'. Aquí tienes el código modificado:echo <<<HTML
<script>
var r = new Resumable({
target:'uploadpro.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, event) {
if (r.files.length > 1) {
r.removeFile(file); // Si ya hay un archivo seleccionado, remueve el nuevo agregado
alert('Solo puedes seleccionar un 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 + '%';
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('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>
HTML;
puedes agregarle una alerta si intenta subir un video de mas de 250mb y si es menos de 250mb realizar la subida normal porfa??
echo <<<HTML
<script>
var r = new Resumable({
target:'uploadpro.php',
chunkSize:1*1024*1024,
simultaneousUploads:4,
testChunks:false,
throttleProgressCallbacks:1,
maxFileSize: 250*1024*1024, // Set maximum file size to 250MB
});
r.assignDrop(document.getElementById('dropTarget'));
r.assignBrowse(document.getElementById('browseButton'));
r.on('fileAdded', function(file) {
if(file.size > r.getOpt('maxFileSize')) {
r.removeFile(file);
alert('El archivo es demasiado grande. El tamaño máximo permitido es de 250MB!');
return;
} else if (r.files.length > 1) {
r.removeFile(file);
alert('Sólo puedes seleccionar un 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 + '%';
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('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>
HTML;
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?