PHP - Quiero separar en tablas las imagenes

 
Vista:
sin imagen de perfil

Quiero separar en tablas las imagenes

Publicado por adicionado (11 intervenciones) el 02/12/2017 04:05:17
¡Buenas!

Llevo un par de días con un código que me está dando bastante dolores de cabeza, aclaro que no se mucho sobre PHP por no decir prácticamente nada...

Tengo en mi website un apartado donde los usuarios (que yo quiera) puede subir imágenes. Al subir estas imágenes estas aparecen públicadas en una página a parte en "tiempo real". Esto lo he conseguido con el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Imágenes dinámicas de una carpeta en php</title>
</head>
 
<body>
<table border="1" width="10">
<tr>
 
 
<?php
	$directory="DirectorioDondeTengoLasImagenes";
    $dirint = dir($directory);
    while (($archivo = $dirint->read()) !== false)
    {
        if (eregi("gif", $archivo) || eregi("jpg", $archivo) || eregi("png", $archivo)){
echo '<td><img src="'.$directory."/".$archivo.'"></td>'."\n";
 
        }
    }
    $dirint->close();
?>
 
</tr>
</table>
</body>
</html>

Lo que quiero hacer (y he estado intentado hacer cambiando el tamaño de la tabla y demás) es que cuando tenga 4 imágenes en una línea, pasar a otra. Es decir, no tener más de 4 imágenes por línea o en caso de ser con tablas <td>.

No tengo ni idea si se puede limitar los "echo" de alguna manera o si hay solución para lo que quiero hacer... Espero que alguien de aquí pueda ayudarme,
¡Muchas gracias!
:)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de facundo

Quiero separar en tablas las imagenes

Publicado por facundo (185 intervenciones) el 02/12/2017 05:20:18
Hola adicionado,

no funciona porque estas haciendo un solo <tr> para toda la tabla, osea una sola fila.

El codigo seria asi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
 
<?php
 
$directory="IMGG";
$dirint = dir($directory);
$i = 0;
$a= 0;
 
 
?>
<table>
<?php
while (($archivo = $dirint->read()) !== false)	{
	if ($archivo == '.' || $archivo == '..') {
		continue;
	}
	if ($i == 0 ) {
		echo '<tr>';
	}
 
?>
   <td><img src="IMGG/<?php echo $archivo ?>" style="width: 250px; height: 250px"></td>
<?php
 
    $i++;
	if ($i == 4 || $i == ($a + 4)) {
		 $a = $i;
		echo '</tr><tr>';
	}
}
 
?>
 
 </table>
</body>
</html>
Si vez el codigo html con chrome, vas a ver que la ultima fila no se cierra, le falta el ultimo </tr>
, habria que hacer algo como contar la cantidad de archivos del directorio, y preguntas si el valor de $i es igual a la cantidad de archivos que hay, entonces mostras el ultimo </tr>
No me acuerdo que funcion hace eso de contar la cantidad de archivos pero con lo que te pase ya tenes mas que suficiente si queres ir aprendiendo php

Fijate si lo podes entender mas o menos que hace, hay mucha info, cualquier cosa pregunta!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Quiero separar en tablas las imagenes

Publicado por adicionado (11 intervenciones) el 02/12/2017 12:22:06
¡Buenas!

Con el código que me has pasado he conseguido hacer lo que quería! Gracias por la respuesta tan rápida.

Un saludo
:)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Quiero separar en tablas las imagenes

Publicado por adicionado (11 intervenciones) el 02/12/2017 12:43:01
Hola... Me he puesto a copiar todo y me ha surjido una duda sobre este mismo tema...

¿Podria añadirle un link (que la persona que suba la foto diera) a esas imagenes?

Es decir, por un lado yo tengo la web donde se suben los archivos (nuevo.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<html lang="es">
	<head>
		<link href="css/bootstrap.min.css" rel="stylesheet">
		<link href="css/bootstrap-theme.css" rel="stylesheet">
		<script src="js/jquery-3.1.1.min.js"></script>
		<script src="js/bootstrap.min.js"></script>
	</head>
 
	<body>
		<div class="container">
			<div class="row">
				<h3 style="text-align:center">NUEVO REGISTRO</h3>
			</div>
 
			<form class="form-horizontal" method="POST" action="guardar.php" enctype="multipart/form-data" autocomplete="off" enctype="multipart/form-data">
 
				<div class="form-group">
					<label for="archivo" class="col-sm-2 control-label">Archivo</label>
					<div class="col-sm-10">
						<input type="file" class="form-control" id="archivo" name="archivo">
					</div>
					<br><br><br>
				<div class="form-group">
					<label for="link" class="col-sm-2 control-label">Link</label>
					<div class="col-sm-10">
						<input type="text" class="form-control" id="link" name="link">
					</div>
 
				</div>
 
				<div class="form-group">
					<div class="col-sm-offset-2 col-sm-10">
						<button type="submit" class="btn btn-primary">Guardar</button>
					</div>
				</div>
			</form>
		</div>
	</body>
</html>

He añadido un nuevo campo al formulario llamado Link, para que el usuario pueda introducir el link que quiera.

Este es el documento que hace que se guarde la información (lo llamamos en el formulario de la parte del código de arriba) (guardar.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
	require 'conexion.php';
 
	if($_FILES["archivo"]["error"]>0){
		echo "Error al cargar archivo";
		} else {
 
		$permitidos = array("image/gif","image/png","image/jpg");
		$limite_kb = 200;
 
		if(in_array($_FILES["archivo"]["type"], $permitidos) && $_FILES["archivo"]["size"] <= $limite_kb * 1024){
 
			$ruta = 'files/'.$id_insert.'/';
			$archivo = $ruta.$_FILES["archivo"]["name"];
 
			if(!file_exists($ruta)){
				mkdir($ruta);
			}
 
			if(!file_exists($archivo)){
 
				$resultado = @move_uploaded_file($_FILES["archivo"]["tmp_name"], $archivo);
 
				if($resultado){
					echo "Archivo Guardado";
					} else {
					echo "Error al guardar archivo";
				}
 
				} else {
				echo "Archivo ya existe";
			}
 
			} else {
			echo "Archivo no permitido o excede el tamaño";
		}
 
	}
 
?>
 
<html lang="es">
	<head>
 
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="css/bootstrap.min.css" rel="stylesheet">
		<link href="css/bootstrap-theme.css" rel="stylesheet">
		<script src="js/jquery-3.1.1.min.js"></script>
		<script src="js/bootstrap.min.js"></script>
	</head>
 
	<body>
		<div class="container">
			<div class="row">
				<div class="row" style="text-align:center">
					<?php if($resultado) { ?>
						<h3>REGISTRO GUARDADO</h3>
						<?php } else { ?>
						<h3>ERROR AL GUARDAR</h3>
					<?php } ?>
 
					<a href="index.php" class="btn btn-primary">Regresar</a>
 
				</div>
			</div>
		</div>
	</body>
</html>

Y por último tendriamos el código que me pasaste tú hace unas horas (galeria.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html>
 
<html>
 
<head>
 
	<title></title>
 
</head>
 
<body>
 
 
 
<?php
 
 
 
$directory="files";
 
$dirint = dir($directory);
 
$i = 0;
 
$a= 0;
 
 
 
 
 
?>
 
<table>
 
<?php
 
while (($archivo = $dirint->read()) !== false)	{
 
	if ($archivo == '.' || $archivo == '..') {
 
		continue;
 
	}
 
	if ($i == 0 ) {
 
		echo '<tr>';
 
	}
 
 
 
?>
 
   <td><img src="files/<?php echo $archivo ?>" style="width: 40px; height: 40px"></td>
 
<?php
 
 
 
    $i++;
 
	if ($i == 4 || $i == ($a + 4)) {
 
		 $a = $i;
 
		echo '</tr><tr>';
 
	}
 
}
 
 
 
?>
 
 
 
 </table>
 
</body>
 
</html>


Había pensado crear una variable en mi guardar.php que llamara al "link"... Pero no se me ha ocurrido como asignarlo a cada imagen tampoco :I
En caso que sea necesario usar MYSQL se puede usar sin problemas, aunque para no mentir, tampoco estoy muy metido en ese tema.

¡Disculpa las molestias!
:P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de facundo

Quiero separar en tablas las imagenes

Publicado por facundo (185 intervenciones) el 02/12/2017 18:39:54
Hola, no entiendo bien lo del link, lo que queres hacer es que cada imagen sea un link que cuando se le hace click te lleve a la pagina que ingresa el usuario?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Quiero separar en tablas las imagenes

Publicado por adicionado (11 intervenciones) el 02/12/2017 22:01:31
Sí, exactamente eso!!!

Gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de facundo

Quiero separar en tablas las imagenes

Publicado por facundo (185 intervenciones) el 03/12/2017 00:48:56
Para eso a cada imagen le tendrias que poner un link (etiqueta a)

<a href="$pagina"> <img src="imagen.jpg"> </a>


la variable $pagina guarda la url que ingresa el usuario mediante algun formulario, me imagino que sabes agarrar un dato del form mediante post no?

Para que el usuario ingrese la url en el form crea un <input type="url" name="url"> o un <input type="text" name="url">
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Quiero separar en tablas las imagenes

Publicado por adicionado (11 intervenciones) el 03/12/2017 03:53:40
Buenas! No consigo hacer que funcione...

Modifiqué mi archivo galeria.php con lo siguiente:
<a href="$link"> <img src="imagen.jpg"> </a>

Y en mi archivo nuevo.php añadi el formulario que me quedó algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form class="form-horizontal" method="POST" action="guardar.php" enctype="multipart/form-data" autocomplete="off">
 
	<div class="form-group">
		<label for="archivo" class="col-sm-2 control-label">Archivo</label>
		<div class="col-sm-10">
			<input type="file" class="form-control" id="archivo" name="archivo">
		</div>
		<br><br><br>
	</div>
 
	<div class="form-group">
		<label for="link" class="col-sm-2 control-label">Link</label>
		<div class="col-sm-10">
			<input type="url" class="form-control" id="link" name="link">
		</div>
		</div>
 
	<div class="form-group">
		<div class="col-sm-offset-2 col-sm-10">
			<button type="submit" class="btn btn-primary">Guardar</button>
		</div>
	</div>
</form>

Efectivamente ahora hay links en las imágenes pero todas me redirecciona a:
miweb.com/$link

Es decir, no está obteniendo la variable... :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jesus

Quiero separar en tablas las imagenes

Publicado por jesus (5 intervenciones) el 03/12/2017 04:39:31
Hola adicionado, para recibir datos en php desde un formulario necesitas fundamentos basicos y para guardar los link necesitas una base de datos puede ser para practicar un txt pero te recomiendo mysql

vamos con php
Manejo de formularios PHP 5
Los superglobales PHP $ _GET y $ _POST se usan para recopilar datos de formulario.
PHP - Un formulario HTML simple
El siguiente ejemplo muestra un formulario HTML simple con dos campos de entrada y un botón de enviar:
1
2
3
4
5
6
7
8
9
10
11
<html>
<body>
 
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
 
</body>
</html>

Cuando el usuario rellena el formulario de arriba y hace clic en el botón de enviar, los datos del formulario se envían para su procesamiento a un archivo PHP llamado "welcome.php". Los datos del formulario se envían con el método HTTP POST.

Para mostrar los datos enviados, simplemente puede hacer un eco de todas las variables. El "welcome.php" se ve así:

1
2
3
4
5
6
7
8
<html>
<body>
 
Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>
 
</body>
</html>

La salida podría ser algo como esto:

1
2
Welcome John
Your email address is john.doe@example.com

El mismo resultado también se puede lograr utilizando el método HTTP GET:

si quieres informacion mas detallada te recomiendo: http://www.jesusramoni.com/webmaster/w3schools/php/php_forms.php
para usar base de dato mysql: http://www.jesusramoni.com/webmaster/w3schools/php/php_mysql_intro.php

Saludos
Jesús Ramoni
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Quiero separar en tablas las imagenes

Publicado por adicionado (11 intervenciones) el 03/12/2017 17:43:57
Buenas chicos, gracias por la ayuda, pero no consigo hacerlo... Os explico más o menos:

Por un lado tengo este documento en el que tengo un formulario que guarda las variables (o así lo entiendo yo) en el archivo guardar.php. No sé si es aquí donde tengo que poner el nuevo formulario... ni en que parte ponerlo...:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<html lang="es">
	<head>
		<link href="css/bootstrap.min.css" rel="stylesheet">
		<link href="css/bootstrap-theme.css" rel="stylesheet">
	</head>
 
	<body>
		<div class="container">
			<div class="row">
				<h3 style="text-align:center">AGREGAR UNA PLACA</h3>
			</div>
 
			<form class="form-horizontal" method="POST" action="guardar.php" enctype="multipart/form-data" autocomplete="off">
 
				<div class="form-group">
					<label for="archivo" class="col-sm-2 control-label">Archivo</label>
					<div class="col-sm-10">
						<input type="file" class="form-control" id="archivo" name="archivo">
					</div>
				</div>
	<br>
	<br>
				<div class="form-group">
					<label for="link" class="col-sm-2 control-label">Link</label>
					<div class="col-sm-10">
						<input type="url" class="form-control" id="link" name="link">
					</div>
				</div>
 
				<div class="form-group">
					<div class="col-sm-offset-2 col-sm-10">
						<button type="submit" class="btn btn-primary">Guardar</button>
					</div>
				</div>
			</form>
		</div>
	</body>
</html>

Por otro lado tengo el guardar.php que no sé si aquí tengo que tocar algo (?):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
	if($_FILES["archivo"]["error"]>0){
		echo "Error al cargar archivo";
		} else {
 
		$permitidos = array("image/gif","image/png","image/jpg");
		$limite_kb = 200;
 
		if(in_array($_FILES["archivo"]["type"], $permitidos) && $_FILES["archivo"]["size"] <= $limite_kb * 1024){
 
			$ruta = 'files/'.$id_insert.'/';
			$archivo = $ruta.$_FILES["archivo"]["name"];
 
			if(!file_exists($ruta)){
				mkdir($ruta);
			}
 
			if(!file_exists($archivo)){
 
				$resultado = @move_uploaded_file($_FILES["archivo"]["tmp_name"], $archivo);
 
				if($resultado){
					echo "Archivo Guardado";
					} else {
					echo "Error al guardar archivo";
				}
 
				} else {
				echo "Archivo ya existe";
			}
 
			} else {
			echo "Archivo no permitido o excede el tamaño";
		}
 
	}
 
?>
 
<html lang="es">
	<head>
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="css/bootstrap.min.css" rel="stylesheet">
		<link href="css/bootstrap-theme.css" rel="stylesheet">
	</head>
 
	<body>
		<div class="container">
			<div class="row">
				<div class="row" style="text-align:center">
					<?php if($resultado) { ?>
						<h3>REGISTRO GUARDADO</h3>
						<?php } else { ?>
						<h3>ERROR AL GUARDAR</h3>
					<?php } ?>
 
					<a href="index.php" class="btn btn-primary">Regresar</a>
 
				</div>
			</div>
		</div>
	</body>
</html>

Y por último tengo el archivo donde se ven las imágenes llamado galeria.php. En este archivo intenté cambiar el href por el código <?php echo $_POST["link"]; ?> pero tampoco ha funcionado...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!DOCTYPE html>
<html>
	<head>
	</head>
	<body>
<?php
$directory="files";
$dirint = dir($directory);
$i = 0;
$a= 0;
?>
 
<table>
 
<?php
 
while (($archivo = $dirint->read()) !== false)	{
	if ($archivo == '.' || $archivo == '..') {
		continue;
	}
	if ($i == 0 ) {
		echo '<tr>';
	}
?>
 
  <td><a href="#"><img src="files/<?php echo $archivo ?>" style="width: 40px; height: 40px"></a></td>
 
<?php
    $i++;
	if ($i == 4 || $i == ($a + 4)) {
		 $a = $i;
		echo '</tr><tr>';
	}
}
?>
 
</table>
	</body>
</html>


Lo siento por ser tan pesado... pero es un lenguaje que no domino para nada y mirando esos tutoriales tampoco he descubierto nada :S
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Quiero separar en tablas las imagenes

Publicado por preguntas (26 intervenciones) el 03/12/2017 18:12:57
Formulario -> guardar -> galeria. Todos funcionan correctamente no?

Voy a ponerme al dia.

Tu web, sube una imagen a una carpeta llamada files, y en galeria.php recupera las imágenes y las muestra en una tabla. Todo bien hasta ahí?

Ahora.. Lo que quieres hacer es que cada imagen tenga un link que al presionar lleva a una nueva página para que muestre individualmente la foto? Es eso?

Solamente es el link que te da problemas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Quiero separar en tablas las imagenes

Publicado por adicionado (11 intervenciones) el 03/12/2017 18:39:18
¡Buenas!

Efectivamente, el usuario puede subir una imagen desde el formulario que se almacena en la carpeta files y se muestran en galeria.php.

Ahora, lo que quiero hacer es que cada imagen tenga su link individual, un link que de el usuario, donde podrá encontrar más información sobre dicha imagen.

Te pongo un ejemplo rápido:

Yo subo una foto sobre un mapache y añado un link hacia alguna wikipedia donde encontrarán más información sobre los mapaches.
Al día siguiente subo una foto sobre un león y añado otro link hacia otra wikipedia.

Solamente tengo este problema, la visualización de las imágenes y el guardado de las mismas funciona perfectamente... Lo que no logro hacer es que cada imagen tenga su link único.

Para más información solo decirte que tengo muy pocos conocimientos sobre este lenguaje y no sé gran cosa... Tengo a mi disposición un servidor de MYSQL que me proporciona el mismo proveedor web (donde únicamente puedo añadir tablas en una DB ya creada por el mismo proveedor).

Y nada más, eso es todo ^^
Muchas gracias por interesarte en este tema :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Quiero separar en tablas las imagenes

Publicado por preguntas (26 intervenciones) el 03/12/2017 18:53:54
Ok entonces.

Deberías tener una tabla(SQL) "imagenes" [id, nombre_archivo, link_descripcion].
En guardar.php tendrias que abrir una conexion a tu base de datos.
Entonces cuando ya valides la imagen y la subas a la carpeta, deberías insertar en la tabla "imagenes" de la base de datos el nombre de la imagen (con extensión para evitar problemas), y el link del formulario (este lo recibes en guardar.php como $_POST['link']).

Luego en galeria.php deberias recorrer los registros de la tabla "imagenes" y no directamente la carpeta de las imagenes.
Por cada fila mostrar la imagen y el link.

Problema resuelto.

PHP/MySQL básico: http://php.net/manual/es/mysql.examples-basic.php

Nos comentas como te fué.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de facundo

Quiero separar en tablas las imagenes

Publicado por facundo (185 intervenciones) el 03/12/2017 18:58:15
Che, fijate que para eso primero que nada tenes que hacer la etiqueta de vinculos con una imagen adentro, para eso es asi:

<a href="$pagina"> <img src="imagen.jpg"> </a>

la variable $pagina va a tomar el valor que el usuario ingresa en el form, como haces eso? Muy facil, lo haces asi:

1
2
3
4
5
6
7
<?php
if ($_SERVER['REQUEST_METHOD'] ++ 'POST') { //esto significa "si el usuario toco el boton de submit"
	$pagina = $_POST['paginasss'];                             //entonces se procede a guardar en la variable $pagina lo que el usuario ingreso
                                                                                    //en el input text o input url con un name="paginasss"
}
 
?>

por lo tanto si el usuario ingresa www.google.com.ar entonces te quedaria asi la etiqueta con imagen:

<a href="www.google.com.ar"> <img src="imagen.jpg"> </a>

Te recomiendo que si queres aprender php estudies y leas mucho, y que intentes esto que te digo de a poco, osea, agarra y hace un archivo nuevo que solo tenga el codigo necesario para hacer eso para que lo puedas entender bien

Mira es muy senciloo, aca te dejo el codigo echo, vos ahi introducis una url y cuando tocas agregar la imagen esa pasa a ser un link de la url

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<form method="post" action="">
	<input type="url" name="pagina">
	<input type="submit" value="agregar">
</form>
 
 
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
	$pagina = $_POST['pagina'];
}
$pagina = isset($_POST['pagina'])?$_POST['pagina']:'';
?>
 
<a href="<?=$pagina?>"> <img src="imagen.jpg"> </a>

Ya sabes como funciona, ahora te toca trabajar tu cabeza para poder implementarlo en tu pagina :P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Quiero separar en tablas las imagenes

Publicado por adicionado (11 intervenciones) el 04/12/2017 20:15:00
¡Vale chicos perfecto! Me puse a trastear unas cuantas horas en un documento a parte y lo he conseguido (con ayuda de un compañero). La verdad que ha sido un lio, por que no queria guardar las imagenes en la DB ya que es de espacio limitado, al final hemos conseguido guardar las imágenes en una carpeta del servidor (con una referencia en la DB) y un link hacia esa referencia.

Ahora, antes de irme le quería preguntar a Facundo (que fue el que me ayudó en el primer código) o a alguien que sepa... ¿Si yo quiero visualizar las imagenes de más reciente a más antigua en este código, como lo haría?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html>
 
<html>
 
<head>
 
	<title></title>
 
</head>
 
<body>
 
 
 
<?php
 
 
 
$directory="IMGG";
 
$dirint = dir($directory);
 
$i = 0;
 
$a= 0;
 
 
 
 
 
?>
 
<table>
 
<?php
 
while (($archivo = $dirint->read()) !== false)	{
 
	if ($archivo == '.' || $archivo == '..') {
 
		continue;
 
	}
 
	if ($i == 0 ) {
 
		echo '<tr>';
 
	}
 
 
 
?>
 
   <td><img src="IMGG/<?php echo $archivo ?>" style="width: 250px; height: 250px"></td>
 
<?php
 
 
 
    $i++;
 
	if ($i == 4 || $i == ($a + 4)) {
 
		 $a = $i;
 
		echo '</tr><tr>';
 
	}
 
}
 
 
 
?>
 
 
 
 </table>
 
</body>
 
</html>

Este es el código que me pasaste tú que agrupa las imagenes en líneas de 4. Para otro apartado de la web no necesito agruparlas de 4 en 4 pero si que se vean de más recientes a mas antiguas. ¿Crees que es posible hacer algo al respecto?

¡Gracias a todos por la ayuda!
:)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de facundo

Quiero separar en tablas las imagenes

Publicado por facundo (185 intervenciones) el 05/12/2017 02:52:09
las imagenes deberian tener una fecha asignada, eso se puede hacer agregando a la database una tabla imagenes, entonces en el primer campo varchar estaria el nombre de la imagen y en el segundo campo tipo date o varchar, esta la fecha, entonces lo podes ordenar por fecha desde que lo traes de la database si es mysql le tenes que agregar (ORDER BY fecha ASC) o DESC en vez de ASC (ascendente, descendente)

o bien guardas todos los nombres de las imagenes en un array y despues lo ordenar de menor a mayor .


Comenta como te fue
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Quiero separar en tablas las imagenes

Publicado por adicionado (11 intervenciones) el 05/12/2017 03:25:18
¡Hola!

¿Tienes algún tutorial a mano que pueda seguir para ordenarlos por array? :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Quiero separar en tablas las imagenes

Publicado por adicionado (11 intervenciones) el 05/12/2017 08:43:12
Buenas!

He probado con el siguiente código que me ha pasado un amigo de un tutorial, pero no me funciona... En teoria este código te muestras las imagenes por fecha más nueva a más vieja pero lo único que consigo es verdad un error en pantalla...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$directorio="files";
 
if ($gestor = opendir($directorio))
{
    # ponemos los valores en un array para poder ordenarlos
    $list=array();
    while (false !== ($arch = readdir($gestor)))
    {
        if ($arch != "." && $arch != "..")
        {
            $list[$arch]=filemtime($arch);
        }
    }
 
    # ordenamos el array
    asort($list);
 
    # mostramos el contenido del array
 
        foreach($list as $fileName=>$time)
        {
            echo "
                <img src='.$directorio."/".$fileName.' width='40' height='40'>
               (".date("d/m/Y H:i:s",$time).")
                \n";
        }
 
    closedir($gestor);
}
?>


¿Alguna idea? Estoy utlizando los array y todo pero no sé por que no va....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Quiero separar en tablas las imagenes

Publicado por xve (6935 intervenciones) el 05/12/2017 18:07:42
Tienes un problema de comillas...

tienes esto:
1
2
3
4
echo "
<img src='.$directorio."/".$fileName.' width='40' height='40'>
(".date("d/m/Y H:i:s",$time).")
\n";

y tiene que ser esto:
1
2
3
4
echo "
<img src=".$directorio."/".$fileName." width='40' height='40'>
(".date("d/m/Y H:i:s",$time).")
\n";


Tambien tendrias que especificar la ruta absoluta en la variable $directorio, y ese directorio tiene que ser accesible por el servidor web para poder ser mostrado.
En la ruta del <img...> la ruta no es absoluta del disco duro, sino que la ruta absoluta del servidor web.... también tienes que tener en cuenta, que a lo mejor no todos los archivos son imagenes... aquí te he modificado un poco el código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
$directorio="/home/xve/www/";
$directorioWeb="/";
 
if ($gestor = opendir($directorio))
{
    # ponemos los valores en un array para poder ordenarlos
    $list=array();
    while (false !== ($arch = readdir($gestor)))
    {
        if ($arch != "." && $arch != "..")
        {
            $list[$arch]=filemtime($directorio.$arch);
        }
    }
 
    # ordenamos el array
    asort($list);
 
    # mostramos el contenido del array
 
	foreach($list as $fileName=>$time)
	{
		echo "
			<img src=".$directorioWeb.$fileName." width='40' height='40'>
			(".date("d/m/Y H:i:s",$time).")
			\n";
	}
 
    closedir($gestor);
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Quiero separar en tablas las imagenes

Publicado por adicionado (11 intervenciones) el 05/12/2017 20:01:14
¡Hola!

Ya he conseguido visualizar las imagenes, pero me siguen apareciendo al fina la última que he subido y lo que quiero conseguir es que se vea al principio...

Dejo aquí una imágen de como ha quedado:

https://gyazo.com/f11fb10949ee72e88409ba9fc47fa8fa

Gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Quiero separar en tablas las imagenes

Publicado por xve (6935 intervenciones) el 06/12/2017 07:25:00
en vez de utilizar asort() utiliza arsort() que lo ordena descendente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar