Sobre las urls amigables...

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

Avatar de Usuario
PulpiXioN

Sobre las urls amigables...

Mensaje por PulpiXioN » Mar Ago 01, 2006 4:16 pm

Hola a todos, soy el webmaster de Subir - Fotos .com.
Mi web es de subir imágenes, y he preparado un script para que, cada vez que alguien cuelgue una imagen, pueda haber una miniatura automática de la misma. Para eso, creé el archivo redimensionar.php con el siguiente código:

<?php
$anchura=120;
$hmax=120;
$nombre=basename($_GET[imagen]);
$datos = getimagesize($nombre);
if($datos[2]==1){$img = @imagecreatefromgif($nombre);}
if($datos[2]==2){$img = @imagecreatefromjpeg($nombre);}
if($datos[2]==3){$img = @imagecreatefrompng($nombre);}
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);
if($altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
$thumb = imagecreatetruecolor($anchura,$altura);
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
if($datos[2]==1){header("Content-type: image/gif"); imagegif($thumb);}
if($datos[2]==2){header("Content-type: image/jpeg");imagejpeg($thumb);}
if($datos[2]==3){header("Content-type: image/png");imagepng($thumb); }
?>


Así, si la url de una imagen es: http://www.subir-fotos.com/uploads2/d6cac3fff7.jpg, su miniatura estaría en esta url: http://www.subir-fotos.com/uploads2/[b] ... c3fff7.jpg[/b]

El problema está en que los foros phpBB2 están programados de modo que si alguien introduce una url que no sea de una imagen entre las etiquetas [img]%20y%20[/img], pues, directamente, se muestra lo escrito como texto, ya que si la url no es realmente de una imagen, no tiene por qué entenderlo así el foro, a pesar de que esté entre etiquetas de imagen. Y, precisamente por esto, el foro no acepta esta url: http://www.subir-fotos.com/uploads2/[b] ... c3fff7.jpg[/b] como imagen. Para evitarlo, querría saber si fuese posible crear una url amigable, del estilo de http://www.subir-fotos.com/uploads2/[b] ... c3fff7.jpg[/b], ya que esto sí que sería aceptado por el foro como url real de una imagen.

Ya he probado a usar este código en el archivo redimensionar.php, pero no ha servido para nada:

<?php
if(isset($PATH_INFO)) {
$vardata = explode('/', $PATH_INFO);
$num_param = count($vardata);
if($num_param % 2 == 0) {
$vardata[] = '';
$num_param++;
}
for($i=1; $i<$num_param; $i+=2) {
$$vardata[$i] = $vardata[$i+1];
$total=$total + $$vardata[$i];
}
}
?>


Si alguien pudiese explicarme por qué no funciona así o, en todo caso, cómo podría hacerlo funcionar como yo quiero, le estaría harto agradecido.

Gracias por adelantado.

Un saludo, el webmaster de Subir - Fotos .com: PulpiXioN.

Avatar de Usuario
ABCdatos
Administrador foro
Mensajes: 673
Registrado: Dom Mar 03, 2002 1:00 am
Contactar:

Mensaje por ABCdatos » Mar Ago 01, 2006 5:25 pm

Si el servidor HTTP que utilizas es Apache y puedes disponer de mod_rewrite, estúdiate su funcionamiento y haz que puedas acceder a http://www.subir-fotos.com/uploads2/red ... c3fff7.jpg
con URLs del estilo http://www.subir-fotos.com/uploads2/min ... c3fff7.jpg

De este modo, cuando un foro phpBB encuentre esa URL, no tendrá dudas de que se trata de una imagen.
Equipo ABCdatos.
http://www.abcdatos.com/

Avatar de Usuario
PulpiXioN

Muchas gracias, pero ya lo intenté...

Mensaje por PulpiXioN » Mar Ago 01, 2006 7:49 pm

Gracias por la rápida respuesta, pero ya intenté eso, pues probé con el código que antes mencioné y con otro similar que creo que usaba el mod_rewrite. Pero luego ponía la dirección y no funcionaba; daba error el script de redimensionar imágenes, supongo que porque la variable imagen no le llegaba correctamente.

Gracias de todos modos, pero si alguien sabe una solución más concreta (un código para incluir en redimensionar.php o algo así), que no dude en comunicármelo.

SALU2!

Avatar de Usuario
ABCdatos
Administrador foro
Mensajes: 673
Registrado: Dom Mar 03, 2002 1:00 am
Contactar:

Mensaje por ABCdatos » Mar Ago 01, 2006 9:32 pm

A ver, si el problema lo tienes con los foros phpBB porque la URL no termina en .jpg, por mucho que hagas dentro del script PHP no vas a poder variar su URL aparente. Insisto en que mires mod_rewrite, el problema lo has de resolver en el servidor HTTP, no en el código PHP. Configurando el httpd.conf adecuadamente, puedes hacer que los accesos a http://www.subir-fotos.com/uploads2/min ... c3fff7.jpg se tratasen internamente como si fueran http://www.subir-fotos.com/uploads2/red ... c3fff7.jpg, y eso es lo que entiendo que resuelve tu problema.
Equipo ABCdatos.
http://www.abcdatos.com/

Avatar de Usuario
PulpiXioN

Gracias

Mensaje por PulpiXioN » Mié Ago 02, 2006 10:25 am

Gracias por la información. De todos modos, ya había leído eso antes por ahí, pero no lo había aplicado porque no sé cómo acceder al httpd.conf en mi servidor (Aruba).

De todos modos, y como ya he dicho, muchísimas gracias por las rápidas y útiles respestas.

SALU2!

Avatar de Usuario
PulpiXioN

Ya lo conseguí

Mensaje por PulpiXioN » Mié Ago 02, 2006 12:26 pm

Ya no importa, lo solucioné de otro modo.

Gracias igualmente.

SALU2!

Responder