Para crear una nueva carpeta en PHP, puedes usar la función
mkdir()
. Para eliminar una carpeta, puedes usar
rmdir()
, pero solo funcionará si la carpeta está vacía. Aquí te dejo un ejemplo:
PHP:
// Crear carpeta
if (!file_exists('ruta/carpeta')) {
mkdir('ruta/carpeta', 0777, true);
}
// Borrar carpeta
if (is_dir('ruta/carpeta')) {
rmdir('ruta/carpeta');
}
Primero, con
file_exists
y
is_dir
, se verifica si la carpeta ya existe antes de intentar crearla o eliminarla para prevenir posibles errores.
IMPORTANTE:
rmdir()
solo elimina un directorio si está vacío. Si deseas eliminar un directorio que pueda tener archivos o subcarpetas dentro, necesitarás crear una función o procedimiento más complejo para eliminar primero el contenido antes de eliminar la carpeta. La gestión de archivos y carpetas siempre debe hacerse con precaución para evitar la pérdida de datos.
<?php
session_start();
error_reporting(0);
if(!($conexion = mysqli_connect("localhost", "loquenderus_root", "ML&-^TIBjw5:X@4l")));
mysqli_select_db($conexion,"loquenderus_base_tusubs");
if(!empty($_FILES)){
if(is_uploaded_file($_FILES['file']['tmp_name'])){
$temp_archivo = $_FILES['file']['tmp_name'];
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'];
if (file_exists($ruta_destino)) {
file_put_contents($ruta_destino, file_get_contents($temp_archivo), FILE_APPEND);
} else {
$peso = filesize($temp_archivo) / 1024 / 1024;
$peso = round($peso, 2);
$mochie = mysqli_query($conexion,"SELECT * FROM watch");
$koods = mysqli_num_rows($mochie)+1;
$fornier = bin2hex(random_bytes(mt_rand(4,10)));
$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
(hora,fecha,waiting,get_id,target,peso,hored,email,newmodevideo) VALUES ('".$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)))."','".$peso."','".date("Y-m-d H:i:s",strtotime($fecha_actual."+ 72 hours"))."','".$_SESSION['email']."','".$ruta_destino."')");
$archivo_movido = move_uploaded_file($temp_archivo, $ruta_destino);
$resultada = mysqli_query($conexion, "SELECT MAX(id) AS max_id FROM watch WHERE email='".$_SESSION['email']."'");
$fiyi = mysqli_fetch_assoc($resultada);
$ultimo_id = $fiyi['max_id'];
if($archivo_movido && $query_exitosa) {
mysqli_query($conexion,"UPDATE watch SET posis='exito' WHERE email='".$_SESSION['email']."' and id='".$ultimo_id."'");
} else {
if(!$archivo_movido){
mysqli_query($conexion,"UPDATE watch SET posis='error al mover archivo' WHERE email='".$_SESSION['email']."' and id='".$ultimo_id."'");
}
if(!$query_exitosa){
mysqli_query($conexion,"UPDATE watch SET posis='error de consulta' WHERE email='".$_SESSION['email']."' and id='".$ultimo_id."'");
}
}
}
if (isset($_POST['resumableChunkNumber']) && isset($_POST['resumableTotalChunks'])) {
$esUltimoFragmento = ($_POST['resumableChunkNumber'] == $_POST['resumableTotalChunks']);
if ($esUltimoFragmento) {
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."'");
}
}
}
}
?>
podrias hacer que los videos se suban en una carpeta nueva que no exista y se suban todas las partes de resumable por favor