sloak
Usuario Novato
Usuario Novato

Como puedo hacer una galeria en la que los usarios puedan subir fotos si mi@ no soporta GD ni ImageMagick???

Avatar Image
Machacateclados
Machacateclados

Prueba con 4images o con Coppermine.

«Kuon to tsumi o tsuranete ikiyo»
«So ga tsumi nuwan to seba»
«Zennin-na o mote tamashi no mukuwarezaru»
«Iwanya togabito o ya»
Avatar Image
@man / @woman
@man / @woman

Yo tuve una galeria de 4images en miarroba y funcionaba, con la salvedad que tenia que hacer las vistas en miniatura yo mismo...

Izena duen guztia omen da
Todo lo que tiene nombre, existe
elcomite
Usuario habitual
Usuario habitual

Funcionar funciona sin problemas, lo unico es que no hay forma automatica de redimensionar las imagenes o rebajarles un poco la calidad para que no ocupen tanto.
Como han dicho en el anterior post, tendras que hacerlo todo a mano, las fotos se quedaran conforme las subas.
Si lo que quieres es hacer la galeria tu mismo con PHP hay muchos ejemplos e 'ideas' por la red, si queires aprender es una buena practica :p yo lo tengo asi jeje

Fiestecillas del comite en Burriana,
Avatar Image
Usuario habitual
Usuario habitual

Aqui tienes una muy buena y customizable...
Ponle el nombre: galeria.php

____


<html>
<head>
<title>Directorio iconos</title>
</head>
<style>
/* Cuerpo del foro */
body,table {
font-family: verdana ;
font-size: 8pt ;
color: #000000 ;
text-align: justify ;
scrollbar-face-color: #eeeeee ;
scrollbar-darkshadow-color: #000000 ;
scrollbar-shadow-color: #aaaaaa ;
scrollbar-highlight-color: #ffffff ;
scrollbar-3dlight-color: #000000 ;
scrollbar-track-color: #ffffff ;
scrollbar-arrow-color: #000000 ;
}
/* Titulos */
.t1 {
color: #ffa500 ;
font-size: 10pt ;
font-weight: bold ;
filter: glow(color=#000000,strength=3) ;
height: 1 ;
}
.tema {
font-size: 10pt ;
font-weight: bold ;
}
/* Enlaces */
a {
color: #000000 ;
text-decoration: none ;
font-weight: bold ;
}
/* Negrita */
b {
color: #000000 ;
}
/* Tablas del foro */
.tabla_principal {
border: #000000 0 solid ;
}
.tabla_titulo {
border-left: #aaaaaa 2 solid ; border-top: #aaaaaa 2 solid ; border-right: #505050 2 solid ; border-bottom: #505050 2 solid ;
background: #757575 ;
}
.tabla_subtitulo {
border-left: #cccccc 2 solid ; border-top: #cccccc 2 solid ; border-right: #aaaaaa 2 solid ; border-bottom: #aaaaaa 2 solid ;
background: #bbbbbb ;
}
.tabla_mensaje {
border-left: #eeeeee 2 solid ; border-top: #eeeeee 2 solid ; border-right: #cccccc 2 solid ; border-bottom: #cccccc 2 solid ;
background: #dddddd ;
}
/* Formulario */
.form {
border: #000000 1 solid ;
background: #cccccc ;
font-family: verdana ;
font-size: 8pt ;
}
</style>
<body>
<?
// Nombre del archivo
if($la == "" | $an == "" ) {
$tam_largo = "16" ;
$tam_ancho = "16" ;
$la = "16";
$an = "16";
}
else
{
$tam_largo = "$la" ;
$tam_ancho = "$an" ;
}
?>
<div class="t1">Directorio iconos</div>
<br>
Total de imagenes :
<?
// abrimos el directorio
$dir = opendir(".");
while ($elemento = readdir($dir)) {
// Tamaño de la imagen medido en pixeles
$tamano = @getimagesize("$elemento") ;
$largo = $tamano[0] ;
$ancho = $tamano[1] ;
if($largo == $tam_largo) {
// leemos solo los que tengan ese tipo de extension
$elemento1 = strtolower($elemento);
if ((strpos($elemento1, ".gif") > 1) || (strpos($elemento1, ".jpg") > 1))
// mostramos el total de ficheros
$i++;
}
}
echo $i ;
?>
 | <a href="../">volver</a><br>
<br>
1) Tamaño de las imagenes :
<select name="select" class="form" onchange="window.location.href=this.options[selectedIndex].value; this.selectedIndex=0">
<option value="galeria.php?la=<? echo $la ?>&an=<? echo $an ?>" selected ><? echo $la ?>x<? echo $an ?></option>
<option value="galeria.php?la=16&an=16">Iconos pequeños (16x16)</option>
<option value="galeria.php?la=19&an=19">Iconos mensseger (19x19)</option>
<option value="galeria.php?la=20&an=20">Iconos medianos (20x20)</option>
<option value="galeria.php?la=30&an=30">Iconos medianos (30x30)</option>
<option value="galeria.php?la=32&an=20">Banderas (32x20)</option>
<option value="galeria.php?la=32&an=32">Caras (32x32)</option>
<option value="galeria.php?la=40&an=40">Iconos grandes (40x40)</option>
<option value="galeria.php?la=50&an=50">Iconos muy grandes (50x50)</option>
<option value="galeria.php?la=60&an=60">Avatares artisticos (60x60)</option>
<option value="galeria.php?la=70&an=70">Fotos (70x70)</option>
<option value="galeria.php?la=80&an=80">80x80</option>
<option value="galeria.php?la=90&an=90">90x90</option>
<option value="galeria.php?la=100&an=100">100x100</option>
<option value="galeria.php?la=150&an=150">150x150</option>
<option value="galeria.php?la=200&an=200">200x200</option>
<option value="galeria.php?la=250&an=impar">250x250</option>
<option value="galeria.php?la=300&an=300">300x300</option>
<option value="galeria.php?la=350&an=350">350x350</option>
<option value="galeria.php?la=400&an=400">400x400</option>
<option value="galeria.php?la=450&an=450">450x450</option>
<option value="galeria.php?la=468&an=60">Banners (468x60)</option>
<option value="galeria.php?la=500&an=500">500x500</option>
<option value="galeria.php?la=800&an=600">Fondos de escritorio (800x600)</option>
<option value="galeria.php?la=1024&an=768">Screenshot de paginas web (1204x768)</option>
</select>
<br>
<form method="post" action="galeria.php?la=<? echo $la ?>&an=<? echo $an ?>">
2) Especificar tamaño : (Enviar dos veces <br>
siempre, para situarse en el sitio correcto)<br>

Ancho :
<input name="la" class="form" value="<? echo $la ?>" size="6">
Alto:
<input name="an" class="form" value="<? echo $an ?>" size="6">
<input type="submit" name="enviar2" value="Enviar" class="form">
</form>
* Si no se descargan, utilizar boton derecho opcion <strong>guadar imagen como</strong>.<br>
<br>
<br>
<table width='250' border='0' cellpadding='0' cellspacing='0' align='center'>
<tr>
<td width="3%" height="0" ></td>
<td width="97%" height="0" ></td>
</tr>
<?php
// Forzar la descarga de ficheros
if ($a) {
$extensiones = explode(".",$a) ;
$num = count($extensiones) - 1 ;
if($extensiones[$num] != "gif" && $extensiones[$num] != "jpg") { exit ; }
$file = "$a";
header ("Content-Disposition: attachment; filename=".$file." ");
header ("Content-Type: image/octet-stream");
}
// Le damos valor a las variables de configuración
$Config['Path'] = "."; // Directorio donde stan los archivos a mostrar.
$Config['Show'] = 50; // Numero de archivos a mostrar por páginas.

$Show['50 Anteriores'] = 0; // Por defecto no se mostrara 10 Anteriores
$Show['50 Siguientes'] = 0; // Por defecto no se mostrara 10 Siguientes

if ($c == "") $c = 0; // Si $c no tiene valor es porque es la primera vez que se visita la página.
$dir = opendir($Config['Path']); // Abrimos el directorio donde estan los archivos
$Plus = $c; // Le damos el valor de $c a $plus porque el valor de $c se perdera y lo necessitaremos mas tarde.

while ($c > 0 && $elemento = readdir($dir)) // Mientras la variable $c sea mayor de 0 saltamos archivos.
{
$Show['50 Anteriores'] = 1;
$c--;
}

$Counter = 0; // Ponemos a 0 el contador

// Si es la primera vez que vez añadimos 2 filas, si no lo es se las quitamos.
if ($Show['50 Anteriores'] == 0) $Counter=$Counter-2; else {
$c = 2;
while ($c > 0 && $elemento = readdir($dir)) // Mientras la variable $c sea mayor de 0 saltamos archivos.
{
$Show['50 Anteriores'] = 1;
$c--;
}
}
echo"<tr>";
// Mostramos el numero de archivos que se tienen que mostrar por página.
while (($Counter != $Config['Show']) && ($elemento = readdir($dir)))
{
$Counter++;

$elemento1 = strtolower($elemento);
if ((strpos($elemento1, ".gif") > 1) || (strpos($elemento1, ".jpg") > 1)) {


if (($i % 2) == 0) {
echo "</tr><tr>";
}
}
// Definimos el nombre sin la extension
$extensiones = explode(".",$elemento) ;
$nombre = $extensiones[0] ;
$nombre2 = $extensiones[1] ;
// Tamaño de la imagen medido en pixeles
$tamano = @getimagesize("$elemento") ;
$largo = $tamano[0] ;
$ancho = $tamano[1] ;
if($largo == $tam_largo) {
?>
<td width="3%" height='34' ><div align="center">   </div></td>
<td height='34' ><div align="center"> <br>
<table border="0" cellpadding="0" cellspacing="0" width="268">
<tr>
<td width="42" height="55" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td height="43" valign="top"><img src="<?php echo $elemento ?>" border="0"></td>
</tr>
</table>
<br>
</td>
<td width="226" valign="top"> <table border="0" cellpadding="0" cellspacing="0" style='padding: 3px; border: solid 1px gray; width: 210px ; background: #dddddd ;'>
<tr>
<td><b><a href="galeria.php?a=<?php echo $elemento ?>"> <? echo $nombre ?></a>
-
<?
// asignamos el tamaño de los archivo
if(filesize($elemento) > 1000000) {
$tamano = filesize($elemento)/1024/1024;
$tamano = ceil($tamano) ;
echo "$tamano Mb";
}
else {
if(filesize($elemento) > 1000) {
$tamano = filesize($elemento)/1024;
$tamano = ceil($tamano) ;
echo "$tamano Kb";
}
else {
$tamano = filesize($elemento);
$tamano = ceil($tamano);
echo "$tamano bytes";
}
}
?>
</b></td>
</tr>
</table>
<?
// fecha de subida del archivo
$elementotiempo = filectime("$elemento");
$fecha=explode(",",date(",d,m,y,h,i",$elementotiempo));
$fecha="$fecha[1]/$fecha[2]/$fecha[3]";
echo "Fecha: $fecha";
?>
<br>
<a href="galeria.php?a=<?php echo $elemento ?>" > </a>

<?
echo "Tipo: $nombre2";
?>
</td>
</tr>
</table>
<br>
</div></td>
<?php
$i++;
}
}
echo"</tr>";

// Si sobran archivos pondremos el "10 Siguientes"
if ($elemento = readdir($dir))
{
$Show['50 Siguientes'] = 1;
}

//Cerramos el directorio
closedir($dir);
?>
<!-- inicio 5 siguientes arriba y abajo -->
<tr>
<td></td>
<td>
<?php
// Mostraos si es necessario el "10 Anteriores" y "10 Siguientes".
if ($Show['50 Anteriores'] == 1) echo("<a href=\"galeria.php?c=".($Plus-$Config['Show'])."&la=$la&an=$an\">50 Anteriores | </a>");
if ($Show['50 Siguientes'] == 1) echo(" <a href=\"galeria.php?c=".($Plus+$Config['Show'])."&la=$la&an=$an\">50 Siguientes</a></p>");
?></td>
</tr>
<!-- fin 5 siguientes arriba y abajo -->
</table>
<?
if($enviar) {
if($archivo != "" ) {
$extensiones = explode(".",$archivo_name) ;
$num = count($extensiones) - 1 ;
if($extensiones[$num] != "gif" && $extensiones[$num] != "jpg" ) { $error = "Sólo se permiten archivos .gif,.jpg<br>" ; }

if(file_exists("$archivo_name")) { $error = "Ya existe un archivo con este nombre.<br>" ; }
if($archivo_size > 256000 ) { $error .= "El archivo debe pesar menos de 250 kb<br>" ; }
// Tamaño de la imagen medido en pixeles
$tamano = @getimagesize("$archivo") ;
$largo = $tamano[0] ;
$ancho = $tamano[1] ;
if($largo > $tam_largo || $ancho > $tam_ancho) {
$error .= "El tamaño de la imagen debe ser igual a $tam_largo x $tam_ancho pixeles.<br>" ;
}
if($error) {
echo "
<p class=\"titulo\">Error
<p>$error
<p><a href=\"javascript:history.back()\">Regresar</a>
" ;
exit ;
}
move_uploaded_file($archivo,"$archivo_name") ;
echo "<div aling=left>El archivo <a href='$archivo_name' target='_blank'>$archivo_name</a> ha sido subido con éxito. <a href='$_SERVER[REQUEST_URI]' target='_top'>pulsa aqui</a></div>" ;
}
else {
echo "El archivo <b>$archivo_name</b> supera los 250 Kb" ;
}
}
?>
<br>
<form method="post" action="<? echo $_SERVER[REQUEST_URI] ?>" enctype="multipart/form-data">
<strong>Subir iconos</strong><br>
<strong>- </strong>Solo iconos de<strong> <? echo $tam_largo ?> x <? echo $tam_ancho ?></strong><br>
- Imagenes <strong>.gif</strong> y <strong>.jpg</strong><br>
Numero de ficheros :<br>
<br>
Archivo :<br>
<input type="file" name="archivo" class="form"><br>
<input type="submit" name="enviar" value="Enviar" class="form">
</form>

<div align="center"><br>
<a href="iconos.zip">Iconos</a> by elcidop</div>
</body></html>

-----------------

Saludos...

Avatar Image
Machacateclados
Machacateclados

MM... es muy interesante este Script PHP! Aunque yo le haria algunas modificaciones, las probare primero y despues las pondre en este Foro!

«Kuon to tsumi o tsuranete ikiyo»
«So ga tsumi nuwan to seba»
«Zennin-na o mote tamashi no mukuwarezaru»
«Iwanya togabito o ya»
ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 06/Ago/2009, 16:22
pepyringa demoniodehiel The-Keper-Urban ligoverto fb@100000598550446711kAug/13
Por: , el 26/May/2009, 13:35
danielcapo17 Juliova demoniodehiel43kMay/09
Por: , el 08/Sep/2004, 12:46
c0-Webmaster NoSetup.org1628Sep/04
Por: , el 29/Jun/2004, 03:48
.MaRiMc. NoSetup.org1717Jun/04