Si deseas que la condición verifique si el número de archivos subidos es igual a 1 o mayor, puedes usar el operador
>=. Aquí está el código corregido según tu requisito:
### Código Modificado
PHP:
if (count($uploaded_files) >= 1 && $_POST['category'] === 'livs') {
$stricted = 'livs';
} else {
$stricted = 'post';
}
### Explicación:
1.
Verificación de Archivos Cargados: Cambié la condición a
count($uploaded_files) >= 1 para asegurarte de que hay al menos un archivo subido.
2.
Operador Lógico: Se mantiene
&& para comprobar que ambas condiciones sean verdaderas al mismo tiempo.
3.
Asignación: Si hay al menos un archivo y la categoría es
'livs', se asigna
'livs' a
$stricted. Si no, se asigna
'post'.
Con esto, el código ahora verificará correctamente si el conteo de archivos subidos es igual o mayor a 1 y actuará en consecuencia.
$uploaded_files = [];
// Verifica si hay archivos subidos
if (!empty($_FILES['fotoshop'])) {
foreach ($_FILES['fotoshop']['tmp_name'] as $key => $tmp_name) {
$fileType = $_FILES['fotoshop']['type'][$key];
$target_path = '';
if (count($uploaded_files) >= 1 && $_POST['category'] === 'livs') {
$stricted = 'livs';
} else {
$stricted = 'post';
}
// Manejo de videos
if ($fileType === "video/mp4") {
if (is_uploaded_file($tmp_name)) {
sleep(1);
$base_name = mt_rand(1, 100) . bin2hex(random_bytes(mt_rand(5, 15))); // Base del nombre
$target_path = 'upload/' . $base_name . '.mp4'; // Ruta del video
if (move_uploaded_file($tmp_name, $target_path)) {
// Crear un preview del video
$preview_path = 'imguser/' . $base_name . '.webp'; // Ruta para la preview con el mismo nombre
$command = "ffmpeg -i " . escapeshellarg($target_path) . " -ss 00:00:03.000 -vframes 1 " . escapeshellarg($preview_path);
exec($command); // Ejecutar el comando FFmpeg
// Si la categoría es "livs", solo permitimos un archivo
if ($stricted === "livs") {
$uploaded_files[0] = $target_path; // Agregar video a la lista
break; // Salir del bucle después de subir un archivo
} else {
if (count($uploaded_files) < 20) {
$uploaded_files[] = $target_path; // Agregar video a la lista
}
}
}
}
}
// Manejo de imágenes (jpeg, png, jpg)
elseif ($fileType === "image/webp" || $fileType === "image/jpeg" || $fileType === "image/png" || $fileType === "image/jpg") {
$target_path = "imguser/" . mt_rand(1, 99999) . mt_rand(1, 1000) . $username . date("zihdYN") . ".webp";
if (move_uploaded_file($tmp_name, $target_path)) {
// Si la categoría es "livs", solo permitimos un archivo
if ($stricted === "livs") {
// Asignamos directamente el archivo a la primera posición de $uploaded_files
$uploaded_files[0] = $target_path; // Agregar imagen a la lista
break; // Salir del bucle después de subir un archivo
} else {
// Para otras categorías, se permiten múltiples archivos
if (count($uploaded_files) < 20) { // Verifica que no haya más de 3 archivos
$uploaded_files[] = $target_path; // Agregar imagen a la lista
}
}
}
}
}
if ($stricted === "livs") {
$photo1 = isset($uploaded_files[0]) ? $uploaded_files[0] : null;
$photo2 = null;
$photo3 = null;
$photo4 = null;
$photo5 = null;
$photo6 = null;
$photo7 = null;
$photo8 = null;
$photo9 = null;
$photo10 = null;
$photo11 = null;
$photo12 = null;
$photo13 = null;
$photo14 = null;
$photo15 = null;
$photo16 = null;
$photo17 = null;
$photo18 = null;
$photo19 = null;
$photo20 = null;
}else{
$photo1 = isset($uploaded_files[0]) ? $uploaded_files[0] : null;
$photo2 = isset($uploaded_files[1]) ? $uploaded_files[1] : null;
$photo3 = isset($uploaded_files[2]) ? $uploaded_files[2] : null;
$photo4 = isset($uploaded_files[3]) ? $uploaded_files[3] : null;
$photo5 = isset($uploaded_files[4]) ? $uploaded_files[4] : null;
$photo6 = isset($uploaded_files[5]) ? $uploaded_files[5] : null;
$photo7 = isset($uploaded_files[6]) ? $uploaded_files[6] : null;
$photo8 = isset($uploaded_files[7]) ? $uploaded_files[7] : null;
$photo9 = isset($uploaded_files[8]) ? $uploaded_files[8] : null;
$photo10 = isset($uploaded_files[9]) ? $uploaded_files[9] : null;
$photo11 = isset($uploaded_files[10]) ? $uploaded_files[10] : null;
$photo12 = isset($uploaded_files[11]) ? $uploaded_files[11] : null;
$photo13 = isset($uploaded_files[12]) ? $uploaded_files[12] : null;
$photo14 = isset($uploaded_files[13]) ? $uploaded_files[13] : null;
$photo15 = isset($uploaded_files[14]) ? $uploaded_files[14] : null;
$photo16 = isset($uploaded_files[15]) ? $uploaded_files[15] : null;
$photo17 = isset($uploaded_files[16]) ? $uploaded_files[16] : null;
$photo18 = isset($uploaded_files[17]) ? $uploaded_files[17] : null;
$photo19 = isset($uploaded_files[18]) ? $uploaded_files[18] : null;
$photo20 = isset($uploaded_files[19]) ? $uploaded_files[19] : null;
}
// Procesar el resto de tu código para insertar en la base de datos
$querim = mysqli_query($conexion, "SELECT * FROM friends WHERE litefriends LIKE '%," . $id . ",%' AND username != '" . $username . "' ORDER BY id DESC");
$quid = '';
if (mysqli_num_rows($querim) === 0) {
$quid .= '0,';
}
$ino = 1;
while ($filo = mysqli_fetch_assoc($querim)) {
$pinta = $ino++;
$quala = mysqli_query($conexion, "SELECT * FROM profileuser WHERE username = '" . $filo['username'] . "' ORDER BY id DESC");
$qilo = mysqli_fetch_assoc($quala);
$quid .= '0,' . $qilo['id'] . ',';
}
$friendfly = str_replace(",0,", ",", $quid);
mysqli_query($conexion, "INSERT INTO posters (idviews, idseguis, category, hora, photo, photo2, photo3, photo4, photo5, photo6, photo7, photo8, photo9, photo10, photo11, photo12, photo13, photo14, photo15, photo16, photo17, photo18, photo19, photo20, nombre, apellido, username, email, descripts, fecha) VALUES ('0,', '" . $friendfly . "', '" . $stricted . "', '" . date("d-m-Y H:i:s") . "', '" . $photo1 . "', '" . $photo2 . "', '" . $photo3 . "', '" . $photo4 . "', '" . $photo5 . "', '" . $photo6 . "', '" . $photo7 . "', '" . $photo8 . "', '" . $photo9 . "', '" . $photo10 . "', '" . $photo11 . "', '" . $photo12 . "', '" . $photo13 . "', '" . $photo14 . "', '" . $photo15 . "', '" . $photo16 . "', '" . $photo17 . "', '" . $photo18 . "', '" . $photo19 . "', '" . $photo20 . "', '" . $nombre . "', '" . $apellido . "', '" . $username . "', '" . $email . "', '" . $_POST['mensaje'] . "', '" . date('d M Y') . "')");
$ultimo_id_insertado = mysqli_insert_id($conexion);
$tu_texto = $_POST['mensaje'];
preg_match_all("/@[\w]+/", $tu_texto, $palabras_con_arroba);
foreach($palabras_con_arroba[0] as $palabra){
$chopo = mysqli_query($conexion,"SELECT * FROM profileuser where username='".str_replace('@', '', $palabra)."' ORDER BY id DESC limit 1");
if($loupa = mysqli_fetch_assoc($chopo) and $loupa['id'] !== $id){
$chopop = mysqli_query($conexion,"SELECT * FROM newnotification where frame='etiqueta' and username='".$username."' and idbug='".$ultimo_id_insertado."' ORDER BY id DESC limit 1");
if($comem = mysqli_fetch_assoc($chopop)){
mysqli_query($conexion,"UPDATE newnotification SET idsug=CONCAT(idsug,'".$loupa['id'].",') where idsug not like '%,".$loupa['id'].",%' and username='".$username."' and idbug='".$ultimo_id_insertado."'");
}elseif($comem['idbug'] !== $ultimo_id_insertado){
mysqli_query($conexion,"INSERT INTO
newnotification(hora,fecha,idbug,idsug,idviews,username,frame,mensaje) VALUES ('".date("d-m-Y H:i:s")."','".date('d M Y')."','".$ultimo_id_insertado."','0,".$loupa['id'].",','0,','".$username."','etiqueta','te ha etiquetado en una publicacion')");
}
}
}
}
no me funciona