elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Temas
Páginas: [1]
1  Programación / PHP / While & if en: 29 Enero 2017, 00:15 am
Buen día con todos tengo el siguiente código y necesito que se verifique que ninguno de los archivos existentes se llama como el nuevo nombre enviado, funciona bien si mando un nombre diferente a todos, es decir si no hay coincidencias entonces renombra correctamente el archivo, sin embargo si hay UNA coincidencia debería mandar error, pero como en el while se produce $rename==TRUE por que obviamente los demas archivos tienen otro nombre, igual considera como valor final $rename==TRUE, entonces mi pregunta es como obtener $rename==FALSE si existe al menos una coincidencia con el nuevo nombre

Código
  1. $dirint = dir($directory);
  2.  
  3.  
  4. while (($archivo = $dirint->read())!== false)
  5. {
  6.  
  7. if (preg_match("/(\.jpg)$/i",$archivo)){
  8.  
  9.  
  10.   $ext = pathinfo($archivo, PATHINFO_EXTENSION);
  11. $archivo_basename = basename($archivo, ".".$ext);
  12.  
  13.  
  14. echo $nuevo_nombre." VS ".$archivo_basename.">";
  15. if($archivo_basename==$nuevo_nombre) {
  16.  
  17. echo "IGUAL<br>";
  18. $rename==FALSE;
  19.  
  20. }
  21.  
  22. else {
  23.  
  24. echo "DESIGUAL<br>";
  25. $rename==TRUE;
  26. }
  27.  
  28.  
  29. }
  30.  
  31. }
  32. $dirint->close();
  33.  
  34.  
  35.  
  36. if($rename!==TRUE) {
  37.  
  38. //renombrar archivo
  39. rename($directory.$filename, $directory.$nuevo_nombre.".jpg");
  40.  
  41. //renombrar thumbnail
  42. rename($directory."thumbnail/".$filename, $directory."thumbnail/".$nuevo_nombre.".jpg");
  43.  
  44. echo '
  45. <p>Se renombró el archivo con éxito.</p>
  46. <p>El archivo "'.$filename.'" ahora se llama: "'.$nuevo_nombre.'.jpg"</p>
  47. <p class="t_centrado t_rojo">Cierre la ventana y actualice la página.</p>
  48. ';
  49.  }  
  50.  else {
  51.  echo '
  52.   <p class="t_centrado t_rojo">Existe un archivo con el nombre:'.$nuevo_nombre.'</p>
  53. <p>Intente nuevamente con otro nombre.</p>
  54. <p><a class="btn btn-primary btn-sm" href="renombrar_imagen.php?id='.$id.'&dir='.$dir.'&filename='.$filename.'">Renombrar</a></p>
  55. ';
  56.  }
2  Programación / PHP / Ordenar archivos de directorio en: 4 Diciembre 2016, 02:25 am
Buen día con todos, tengo el siguiente código y funciona correctamente, pero no se como ordenar los archivos por nombre, ya intente con sort, natsort y otras alternativas pero no he logrado resolverlo, alguien conocerá una solución?

Código:
<?php
$directory="../../web/images/fotos/slideshows/$carpeta/" ;
$dirint = dir($directory);
while (($archivo = $dirint->read()) !== false)
{
if ( preg_match("/(\.jpg)$/i", $archivo)){
?>

<?php echo $archivo ?>

<?php
} //cerrar if
} $dirint->close();
?>


3  Programación / PHP / Subir imagen y cambiar tamaño en: 2 Diciembre 2016, 02:10 am
buen día con todos, tengo un problema con un código que no logro resolver:
 inicialmente tengo un formulario para subir un archivo y guardarlo en una determinada carpeta, además si el checkbox para hacer la imagen por defecto esta activada, se registra en una base de datos, hasta ahí todo funciona bien, pero necesito que también se cambie el tamaño de la imagen por lo que inserte un código pero no logro hacer que funcione, les dejo los codigos del formulario y las versiones del uploader
espero alquien me pueda dar una mano, gracias

formulario
Código:
<form action="inmueble_subir_archivo_proceso.php?id=<?php echo $id ?>" method="post" enctype="multipart/form-data">               
                <p>Seleccionar imagen:</p>
                <p><input class="btn btn-primary btn-sm center-block" type="file" name="fileToUpload" id="fileToUpload"> </p>
                <p><input type="checkbox" name="vista_previa" id="vista_previa" > Hacer imagen de vista previa</p>
                <p><input class="btn btn-success btn-sm" type="submit" value="Cargar" name="submit"></p>
                           
        </form>


primera versión FUNCIONA
Código:
<div class="t_centrado">



<?php           
           
            $id =$_GET['id']; 


            $target_dir = "../../web/images/fotos/inmuebles/".$id."/";
            $target_file =$target_dir. basename($_FILES["fileToUpload"]["name"]);
            $uploadOk = 1;
            $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

            // Check if image file is a actual image or fake image
            if(isset($_POST["submit"])) {
                $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
                if($check !== false) {
                    //echo "File is an image - " . $check["mime"] . ".";
                    //echo "El archivo se cargó con éxito";
                    $uploadOk = 1;
                } else {
                    echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>El archivo no es una imagen.</p>
";
                    $uploadOk = 0;
                }
            }

            // Check if file already exists
            if (file_exists($target_file)) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>El archivo ya existe.</p>
" ;
                $uploadOk = 0;
            }

            // Check file size
            if ($_FILES["fileToUpload"]["size"] > 5242880) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Error el archivo es demasiado grande. Solo se permiten archivos de hasta 5Mb.</p>
";
                $uploadOk = 0;
            }

            // Allow certain file formats
            //if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) {
           
            if($imageFileType != "jpg"  ) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Solo se permiten imagenes en formato .jpg.</p>
";
                $uploadOk = 0;
            }

            // Check if $uploadOk is set to 0 by an error
            if ($uploadOk == 0) {
                echo "<p>No se cargó el archivo, intente con otro archivo.</p>";
            // if everything is ok, try to upload file
            } else {

               
//quiero insertar el resize aqui



//condicion original sin sezise
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"],$target_file)) {

//actuzlizar datos en db para vista previa
if(isset($_POST['vista_previa']))
{
require '../settings_admin.php';
$actualizar  = "UPDATE post SET
post_imagen='".basename($_FILES["fileToUpload"]["name"])."'
WHERE post_id = $id ";
mysqli_query($conn, $actualizar);
} else { };
//actuzlizar datos en db

                    echo "
<h3><span class='label label-success'>Carga completada</span></h3>
                        <p >El archivo ". basename( $_FILES["fileToUpload"]["name"]). " ha sido cargado con éxito.</p>
                        ";

                } else {
                    echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Error al cargar el archivo, vuelva a intentar.</p>
";
                }
            }

            ?>
           
           
           
            </div>


segunda version con RESIZE NO FUNCIONA :(
Código:

<div class="t_centrado">



<?php           
           
            $id =$_GET['id']; 


            $target_dir = "../../web/images/fotos/inmuebles/".$id."/";
            $target_file =$target_dir. basename($_FILES["fileToUpload"]["name"]);
            $uploadOk = 1;
            $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

            // Check if image file is a actual image or fake image
            if(isset($_POST["submit"])) {
                $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
                if($check !== false) {
                    //echo "File is an image - " . $check["mime"] . ".";
                    //echo "El archivo se cargó con éxito";
                    $uploadOk = 1;
                } else {
                    echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>El archivo no es una imagen.</p>
";
                    $uploadOk = 0;
                }
            }

            // Check if file already exists
            if (file_exists($target_file)) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>El archivo ya existe.</p>
" ;
                $uploadOk = 0;
            }

            // Check file size
            if ($_FILES["fileToUpload"]["size"] > 5242880) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Error el archivo es demasiado grande. Solo se permiten archivos de hasta 5Mb.</p>
";
                $uploadOk = 0;
            }

            // Allow certain file formats
            //if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) {
           
            if($imageFileType != "jpg"  ) {
                echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Solo se permiten imagenes en formato .jpg.</p>
";
                $uploadOk = 0;
            }

            // Check if $uploadOk is set to 0 by an error
            if ($uploadOk == 0) {
                echo "<p>No se cargó el archivo, intente con otro archivo.</p>";
            // if everything is ok, try to upload file
            } else {

               
//quiero insertar el resize aqui
if (isset($_FILES['fileToUpload']) && $_FILES['fileToUpload']['tmp_name']!=''){


//Imagen original
$rtOriginal=$_FILES['fileToUpload']['tmp_name'];

//Crear variable
$original = imagecreatefromjpeg($rtOriginal);

//Ancho y alto máximo
$max_ancho = 900; $max_alto = 600;

//Medir la imagen
list($ancho,$alto)=getimagesize($rtOriginal);

//Ratio
$x_ratio = $max_ancho / $ancho;
$y_ratio = $max_alto / $alto;

//Proporciones
if(($ancho <= $max_ancho) && ($alto <= $max_alto) ){
$ancho_final = $ancho;
$alto_final = $alto;
}
else if(($x_ratio * $alto) < $max_alto){
$alto_final = ceil($x_ratio * $alto);
$ancho_final = $max_ancho;
}
else {
$ancho_final = ceil($y_ratio * $ancho);
$alto_final = $max_alto;
}

//Crear un lienzo
$lienzo=imagecreatetruecolor($ancho_final,$alto_final);

//Copiar original en lienzo
imagecopyresampled($lienzo,$original,0,0,0,0,$ancho_final, $alto_final,$ancho,$alto);

//Destruir la original
imagedestroy($original);

//Crear la imagen y guardar en directorio upload/

$archivo_ok=move_uploaded_file(imagejpeg($lienzo,$_FILES['fileToUpload']['tmp_name']),$target_file);


}

elseif($archivo_ok !== false){







//condicion original sin sezise
//if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"],$target_file)) {

//actuzlizar datos en db para vista previa
if(isset($_POST['vista_previa']))
{
require '../settings_admin.php';
$actualizar  = "UPDATE post SET
post_imagen='".basename($_FILES["fileToUpload"]["name"])."'
WHERE post_id = $id ";
mysqli_query($conn, $actualizar);
} else { };
//actuzlizar datos en db

                    echo "
<h3><span class='label label-success'>Carga completada</span></h3>
                        <p >El archivo ". basename( $_FILES["fileToUpload"]["name"]). " ha sido cargado con éxito.</p>
                        ";

                } else {
                    echo "
<h3><span class='label label-danger'>Error</span></h3>
<p>Error al cargar el archivo, vuelva a intentar.</p>
";
                }
            }

            ?>
           
           
           
            </div>

4  Programación / PHP / php mail en: 29 Septiembre 2016, 04:41 am
buen día a todos, tengo un problema con la respuesta automática de un formulario, todo funciona ok y se envia el mensaje completo, sin embargo este termina en la carpeta de spam, aun dandole en que no es espam, los nuevos mensajes vuelven a la carpeta spam, ya he probado con varios headers perso no logro evitar los filtros:

Código:

$server_name='Mi web';
$server_email='info@miweb.com';

$headers_out = "MIME-Version: 1.0" . "\r\n";
$headers_out .= "From: ".$server_name." <".$server_email."> " . "\r\n" ;
$headers_out .= "Reply-To: ".$server_email."" . "\r\n";
$headers_out .= "Return-Path: Servidor <".$server_email.">". "\r\n";
$headers_out .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers_out .= "X-Priority: 3" ."\r\n";
$headers_out .= "X-Mailer: PHP". phpversion() ."\r\n";
$headers_out .= "X-MSMail-Priority: Normal" ."\r\n";

$mail_out= mail ($to_out,'=?utf-8?B?'.base64_encode($subject_out).'?=',$mensaje_out,$headers_out,'-f'.$email);
5  Programación / PHP / Php y Mysql error en base de datos en: 23 Agosto 2016, 20:14 pm
Buen día con todos.

Tengo el siguiente código en el que todo parece estar bien, pues el código funciona correctamente en la misma base de datos pero en otras tablas, sin embargo en la tabla "website" solo funciona con la primera columna y después aparece el un mensaje de error donde el resultado es:

Webste id:1
Webste dominio:
Notice: Undefined index: website_dominio

Por lo que me parece que es un problema en la tabla pero no he podido identificarlo, agradeceré vuestra ayuda

Código:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "website";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT * FROM website WHERE website_id = '1' ";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
mysqli_close($conn);
?>


Webste id:<?php echo $row["website_id"] ?><br>
    Webste dominio:<?php echo $row["website_dominio"] ?><br>


6  Programación / PHP / Cargar páginas con PHP en: 17 Agosto 2016, 01:21 am
Buen día con todos, tengo el siguiente código y funciona correctamente al cargar los links del tipo:

index.php?page=pagina_1

sin embargo no logro cargar la página de inicio o pagina por defecto

espero que alguien me ayude a resolver el problema

Código:
<?php

if(isset($_GET['page']))
{
$page = $_GET['page'];
if (!empty($page)) {
$page .= '.php';
include($page);
}
else {
include('inicio.php');
}
}
?>
7  Programación / PHP / Validación de formulario y envió de datos en: 3 Agosto 2016, 21:50 pm
Buen día con todos, tengo un problema con el siguiente formulario, pasa que cuando solo lleno los campos que no requieren validación, e intento mandar el formulario, alerta los campos requeridos pero se borra la información de los campos llenados, igualmente si lleno todo el formulario, realiza el envió y la inserción en mysql pero solo de los campos validados, agradecería vuestra ayuda para encontrar y corregir el error o una solución alternativa

tome como base el formulario de

http://www.w3schools.com/php/showphp.asp?filename=demo_form_validation_complete



Código:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Formulario de Contacto</title>


</head>

<body>


<div class="formulario_imc">

<?php

// define variables and set to empty values
$apellido = $nombre = $telefono = $email = $distrito = $objetivo = $mensaje = $form_ok = "";
$telefono_Err = $email_Err = "";
$telefonoclass = $email_class = "";


if ($_SERVER["REQUEST_METHOD"] == "POST") {

$form_ok = TRUE; //verifica que el formulario esta ok


if (empty($_POST["telefono"])) {
$telefono_Err = "Ingresa tu número telefónico";
$telefono_class = "has-error";
$form_ok = FALSE;
} else {  
$telefono = test_input($_POST["telefono"]);
// check if phone only contains numbers
if (!preg_match("/^[0-9]*$/",$telefono)) {
$telefono_Err = "Solo se permiten números";
$telefono_class = "has-error";
$form_ok = FALSE;
}
}
   
   
    if (empty($_POST["email"])) {
$emailErr = "Ingresa tu email";
$email_class = "has-error";
$form_ok = FALSE;
} else {
$email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Ingresa un correo válido";
$email_class = "has-error";
$form_ok = FALSE;
}
}
 
 
 
  if (empty($_POST["apellido"])) {
$apellido = "";
} else {
$apellido = test_input($_POST["apellido"]);
}
 
  if (empty($_POST["nombre"])) {
$nombre = "";
} else {
$nombre = test_input($_POST["nombre"]);
}

if (empty($_POST["distrito"])) {
$distrito = "";
} else {
$distrito = test_input($_POST["distrito"]);
}

if (empty($_POST["objetivo"])) {
$objetivo = "";
} else {
$objetivo = test_input($_POST["objetivo"]);
}

if (empty($_POST["mensaje"])) {
$mensaje = "";
} else {
$mensaje = test_input($_POST["mensaje"]);
}



}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;

}



//despues de verificar el contenido del formulario
if($form_ok) {


$to_in = "info@miweb.com";

$subject_in = "Nuevo Cliente registrado:".$apellido.", ".$nombre." (".$email.") " ;

$message_in = "

<html>

<html>
<head>
<title>Nuevo Cliente registrado</title>

<style>

table, tr, th, td {
border: 1px;
}

th {
background:#000;
color:#FFF;
}

table {
width:100%;
}


</style>

</head>
<body>

<table>

<tr>
<th>Categoría</th>
<th>Apellidos y nombre</th>
<th>Teléfono</th>
<th>Email</th>
<th>Distrito</th>
<th>Objetivo</th>
</tr>
<tr>
<td>".$categoria."</td>
<td>".$apellido.",".$nombre."</td>
<td>".$telefono."</td>
<td>".$email."</td>
<td>".$distrito."</td>
<td>".$objetivo."</td>

</tr>

</table>
<table>

<tr>
<th>Mensaje</th>
</tr>
<tr>
<td>".$mensaje."</td>
</tr>

</table>
</body>
</html>

";

$subject_out .= "Confirmación de recepción de mensaje" ;

$message_out .= "

<html>

<head>
<title>Confirmación de recepción de mensaje</title>
</head>

<body>

<p><strong>Confirmación de recepción de mensaje</strong></p>

<p>Hemos recibido tu mensaje, nos comunicaremos contigo en un plazo máximo de 48 horas.</p>

<p></p>

<p>Atentamente</p>


</body>

</html>

" ;



$headers_in = "MIME-Version: 1.0" . "\r\n";
$headers_in .= 'From: web Server <miweb@miweb.com>' . "\r\n" ;
$headers_in .= "Content-type:text/html;charset=UTF-8" . "\r\n";

$headers_out = "MIME-Version: 1.0" . "\r\n";
$headers_out .= 'From: web <info@miweb.com> ' . "\r\n" ;
    $headers_out .= 'Reply-To: info@miweb.com' . "\r\n";
$headers_out .= "Content-type:text/html;charset=UTF-8" . "\r\n";



"X-Mailer: PHP/" . phpversion();


$mail_in = mail($to_in,'=?utf-8?B?'.base64_encode($subject_in).'?=',$message_in,$headers_in);

$mail_out= mail ($email,'=?utf-8?B?'.base64_encode($subject_out).'?=',$message_out,$headers_out);



if ($mail_in) {

require("../admin/settings.php");

$categoria=$_POST['categoria'];
$apellido=$_POST['apellido'];
$nombre=$_POST['nombre'];
$telefono=$_POST['telefono'];
$email=$_POST['email'];
$distrito=$_POST['distrito'];
$objetivo=$_POST['objetivo'];
$mensaje=$_POST['mensaje'];
$opcion_1="no_determinado";
$opcion_2="no_determinado";
$fecha_registro=$_POST['fecha_registro'];
$fecha_contacto="";

$insertar= "INSERT INTO contactos (

categoria,
apellido,
nombre,
telefono,
email,
distrito,
objetivo,
mensaje,
opcion_1,
opcion_2,
fecha_registro,
fecha_contacto

)

VALUES (
'$categoria',
'$apellido',
'$nombre',
'$telefono',
'$email',
'$distrito',
'$objetivo',
'$mensaje',
'$opcion_1',
'$opcion_2',
'$fecha_registro',
'$fecha_contacto'

)";


if (mysqli_query($conn, $insertar)) {
   //echo "Registro creado con éxito";
} else {
echo "Error: " . $insertar . "<br>" . mysqli_error($conn);
}

mysqli_close ($conn);


?>

<div class="email_table">
                            <div class="email_table_cell">
                                <p><span class="btn btn-success">Registro completado</span></p>
                                <p>Se enviaron los datos satisfactoriamente, muy pronto nos pondremos en contacto contigo!</p>
                            </div>
                        </div>
                       
     
<?php


}} else { {

?>
                       
  <p>Solicita mayor información y con gusto te responderemos.</p>
               
               
                <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" enctype="multipart/form-data" name="calculadora_imc">
   
                    <div class="form-group">
                            <label for="apellido">Apellido</label>
                            <input type="text" class="form-control input-sm" nombre="apellido" id="apellido" placeholder="Apellido" value="<?php echo $apellido;?>" >
                            </div>
                           
                            <div class="form-group">
                            <label for="nombre">Nombre</label>
                            <input type="text" class="form-control input-sm" nombre="nombre" id="nombre" placeholder="Nombre" value="<?php echo $nombre;?>" >
                            </div>
     
                                         
                            <div class="form-group <?php echo $telefono_class;?>">                                                                   
                            <label for="telefono">Telefono</label> <span class="error"> * <?php echo $telefono_Err;?></span>
                            <input type="text" class="form-control input-sm has-error" name="telefono" id="telefono" placeholder="Telefono" value="<?php echo $telefono;?>">
                            </div> 
                           
                            <div class="form-group <?php echo $email_class;?>">                                                                   
                            <label for="email">Email</label> <span class="error"> * <?php echo $email_Err;?></span>
                            <input type="text" class="form-control input-sm has-error" name="email" id="email" placeholder="Email" value="<?php echo $email;?>">
                            </div>
                           
                            <div class="form-group">
                            <label for="distrito">Distrito</label>                           
                            <input type="text" class="form-control input-sm" nombre="distrito" id="distrito" placeholder="Distrito" value="<?php echo $distrito;?>" >
                            </div> 
                           
                            <div class="form-group">
                           <label for="objetivo">Objetivo</label>
                           <select class="form-control input-sm" nombre="objetivo" id="objetivo" >
                              <option value="<?php echo $objetivo;?>" selected><?php echo $objetivo;?></option>
                              <option value="Reducción de grasa corporal">Reducción de grasa corporal</option>
                              <option value="Aumento de masa muscular">Aumento de masa muscular</option>
                              <option value="Tonificación">Tonificación</option>
                              <option value="Mejora de energía">Mejora de energía</option>
                              <option value="Bienestar físico y emocional">Bienestar físico y emocional</option>
                              <option value="Coordinación">Coordinación</option>
                              <option value="Otros">Otros</option>
                            </select>
                            </div>
                           
                            <div class="form-group">
                            <label for="mensaje">Mensaje</label>
                            <textarea class="form-control input-sm " nombre="mensaje" id="mensaje" placeholder="Mensaje" rows="3"><?php echo $mensaje;?></textarea>
                            </div>   
                           
                                                     
                            <p><span class="error"> * Datos mínimos requeridos</span></p>                           
                                                       
                            <input class="btn btn-primary btn-sm" type="submit" name="enviar" id="enviar" value="Enviar"/>
                           
                            <input id="categoria" name="categoria" type="hidden" value="Cliente" >
                           
                            <input id="fecha_registro" name="fecha_registro" type="hidden" value="<?php echo date("Y-m-d")?>">                         

                           
                                           
            </form>
         
                   
                   
                    <?php

} }//end of else block

?>
                   
                   
   
</div>




</body>
</html>

8  Programación / PHP / Galería de imágenes PHP y Css en: 20 Julio 2016, 02:15 am
Buen día a todos, quería ver si me pueden ayudar con el siguiente archivo. La idea es generar una galería de forma automatizada con las imágenes de una carpeta que contenga archivos jpg y cuyos nombres sean aleatorios.
He generado las miniaturas y la ventana modal de la vista completa y hasta ahí todo funciona bien, pero necesito ayuda para generar los vínculos correctos para la imagen anterior y siguiente, les dejo el código y espero alguien encuentre una solución

Adicionalmente, en mi archivo, para cerrar la ventana modal he incluido un link a la miniatura de la imagen aunque lo ideal sería cerrar el modal con un data-dismiss="modal", pero por algún motivo no funciona.

Código:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no ">

<title>Galería</title>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<style>



.miniatura {
display:block;
padding:10px;


}

.miniatura .imagen_miniatura {
width:100%!important;
padding-bottom:66%;
display:flex;
justify-content:center;

}


/*------MODAL-------*/


.modal:target {
display:table !important;
position:fixed;
top:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.95);
margin:auto;
}

.modal .imagen_contenedor {
display:table-cell;
vertical-align:middle;
width:100%;
height:100%;
margin:auto;
text-align:center;
}

.imagen_modal {
display:block;
height:100% !important;
width:100% !important;

}

.modal a {
color:#fff;
font-size:25px;
}

.control {
z-index:100;
}

.anterior {
position:fixed;
top:50%;
left:30px;
}

.siguiente {
position:fixed;
top:50%;
right:30px;
}





</style>

</head>

<body>

<div class="container">

<?php
    $directory="images/";
    $dirint = dir($directory);
    while (($archivo = $dirint->read()) !== false)
    {
        if ( preg_match("/\b(\.jpg|\.JPG)\b/", $archivo)){
            echo '

<div class="miniatura col-xs-12 col-sm-6 col-md-4 col-lg-2" id="'.$archivo.'">
<a href="#modal_'.$archivo.'"  class="imagen_miniatura img-responsive img-thumbnail"  style="background: url('.$directory."/".$archivo.') center; background-size:cover "  title="'.$archivo.'"></a>

</div>

<div class="modal" id="modal_'.$archivo.'" aria-hidden="true">

<div class="imagen_contenedor">
<a class="control anterior" href="'.$archivo.'-1"><span class="glyphicon glyphicon-chevron-left"></span></a>
<a class="imagen_modal cerrar" href="#'.$archivo.'" style="background: url('.$directory."/".$archivo.') center no-repeat; background-size:contain; "></a>
<a class="control siguiente" href="'.$archivo.'+1"><span class="glyphicon glyphicon-chevron-right"></span></a>

</div>

</div>


'."\n";
        }
    }
    $dirint->close();
?>



</div>


   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>


</body>
</html>




Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines