queda preview y cargar ficheros del server

This commit is contained in:
2024-06-04 15:16:32 +02:00
parent 78126f6549
commit 51d4f988cc
5 changed files with 2842 additions and 11 deletions

View File

@ -797,35 +797,72 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
}
public function get_files(){
// Check if the request is a POST request
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$presupuesto_id = $_POST['presupuesto_id'];
$model = model('App\Models\Presupuestos\PresupuestoFicheroModel');
$files = $model->getFiles($presupuesto_id);
$result = [];
foreach ($files as $file) {
$size = filesize($file->file_path);
// se crea un objeto con el nombre del fichero y el tamaño
$obj = (object) array(
'name' => $file->nombre,
'size' => $size);
// se añade el objeto al array
array_push($result, $obj);
}
return json_encode($result);
}
}
public function upload_files(){
$model = model('App\Models\Presupuestos\PresupuestoFicheroModel');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$presupuesto_id = $_POST['presupuesto_id'];
// Comprobar si se han subido archivos
if (!empty($_FILES['file'])) {
$files = $_FILES['file'];
// Borrar los archivos existentes del presupuesto
$model->deleteFiles($presupuesto_id);
// 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);
$new_name = $model->saveFileInBBDD($presupuesto_id, $name, auth()->id());
// 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);
if(!is_null($new_name)){
move_uploaded_file($tmp_name, WRITEPATH . 'uploads/presupuestos/' . $new_name);
}
}
}
else{
// Borrar los archivos existentes del presupuesto
$model->deleteFiles($presupuesto_id);
}
}