mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
falta backend meter en bbdd y borrar antiguos
This commit is contained in:
@ -799,14 +799,36 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
public function upload_files(){
|
public function upload_files(){
|
||||||
|
|
||||||
if(!empty($_FILES) && $_FILES['file']>0){
|
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||||
foreach ($_FILES['file'] as $file) {
|
// Comprobar si se han subido archivos
|
||||||
if ($file->isValid() && !$file->hasMoved()) {
|
if (!empty($_FILES['file'])) {
|
||||||
$file->move(WRITEPATH . 'uploads');
|
$files = $_FILES['file'];
|
||||||
|
|
||||||
|
// Iterar sobre los archivos
|
||||||
|
for ($i = 0; $i < count($files['name']); $i++) {
|
||||||
|
// Aquí puedes acceder a las propiedades del archivo
|
||||||
|
$name = $files['name'][$i];
|
||||||
|
$type = $files['type'][$i];
|
||||||
|
$tmp_name = $files['tmp_name'][$i];
|
||||||
|
$error = $files['error'][$i];
|
||||||
|
$size = $files['size'][$i];
|
||||||
|
|
||||||
|
// Crear un hash único a partir del nombre del archivo
|
||||||
|
$hash = hash('sha256', $name);
|
||||||
|
// Usar el hash como el nuevo nombre del archivo
|
||||||
|
$new_name = $hash . '.' . pathinfo($name, PATHINFO_EXTENSION);
|
||||||
|
|
||||||
|
// Se sube el fichero
|
||||||
|
// Pero primero se comprueba que la carpeta presupuestos exista
|
||||||
|
if (!is_dir(WRITEPATH . 'uploads/presupuestos')) {
|
||||||
|
mkdir(WRITEPATH . 'uploads/presupuestos', 0777, true);
|
||||||
|
}
|
||||||
|
move_uploaded_file($tmp_name, WRITEPATH . 'uploads/presupuestos/' . $new_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return json_encode(['message' => 'Archivos subidos correctamente']);
|
return json_encode(['message' => 'Archivos subidos correctamente']);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -162,7 +162,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button id="submit-all">Subir archivos</button>
|
<button id="submit-all" class="btn mt-3 btn-primary btn-submit waves-effect waves-light ml-2">
|
||||||
|
<span class="align-middle d-sm-inline-block d-none me-sm-1">Actualizar ficheros</span>
|
||||||
|
<i class="ti ti-upload ti-xs"></i>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
@ -219,27 +222,41 @@ if(<?php echo $presupuestoEntity->estado_id?>==2){
|
|||||||
|
|
||||||
Dropzone.autoDiscover = false;
|
Dropzone.autoDiscover = false;
|
||||||
|
|
||||||
var dropzoneMulti = new Dropzone('#dropzone-multi', {
|
var dropzoneMulti = new Dropzone('#dropzone-multi', {
|
||||||
url: "<?= site_url('presupuestos/presupuestocliente/upload_files') ?>",
|
url: "<?= site_url('presupuestos/presupuestocliente/upload_files') ?>",
|
||||||
paramName: "file",
|
addRemoveLinks: true,
|
||||||
uploadMultiple: true,
|
previewTemplate: previewTemplate,
|
||||||
parallelUploads: 100, // Ajusta este número al máximo número de archivos que esperas subir a la vez
|
paramName: "file",
|
||||||
maxFiles: 100, // Ajusta este número al máximo número de archivos que esperas subir a la vez
|
uploadMultiple: true,
|
||||||
autoProcessQueue: false,
|
parallelUploads: 4, // Ajusta este número al máximo número de archivos que esperas subir a la vez
|
||||||
init: function() {
|
maxFiles: 5, // Ajusta este número al máximo número de archivos que esperas subir a la vez
|
||||||
var submitButton = document.querySelector("#submit-all")
|
autoProcessQueue: true,
|
||||||
myDropzone = this;
|
acceptedFiles: 'image/*, application/pdf',
|
||||||
|
maxFilesize: 5e+7, // Bytes
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
submitButton.addEventListener("click", function() {
|
$('#presupuesto-cliente-form').submit(function(e){
|
||||||
myDropzone.processQueue(); // Procesar la cola de archivos
|
e.preventDefault();
|
||||||
});
|
var files = dropzoneMulti.files;
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#submit-all').on('click', function(){
|
var formData = new FormData();
|
||||||
dropzoneMulti.processQueue(); // Procesar la cola de archivos
|
for (var i = 0; i < files.length; i++) {
|
||||||
|
var file = files[i];
|
||||||
|
formData.append('file[' + i + ']', file);
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "<?= site_url('presupuestos/presupuestocliente/upload_files') ?>",
|
||||||
|
type: 'POST',
|
||||||
|
data: formData,
|
||||||
|
processData: false, // Indicar a jQuery que no procese los datos
|
||||||
|
contentType: false // Indicar a jQuery que no establezca el tipo de contenido
|
||||||
|
}).done(function(response) {
|
||||||
|
// Aquí puedes manejar la respuesta del servidor
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
<?= $this->endSection() ?>
|
<?= $this->endSection() ?>
|
||||||
|
|||||||
11174
xdebug.log
11174
xdebug.log
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user