Sobre las urls amigables...
Publicado: 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.
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.