Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/12/2005, 05:48
Avatar de caricatos
caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Gracias Panino5001:

Creo que haré algo como lo que propones, ya que creo que es difícil conseguir mi objetivo de otra manera.

Lo que tengo por ahora es:

Código:
<?php 
function extension($cadena)	{
	if ($cadena == "image/png") return "png";
	if ($cadena == "image/gif") return "gif";
	if ($cadena == "image/jpg") return "jpg";
	return "php";
}
function crearImagen($f, $e)	{
	if ($e == "png") return imagecreatefrompng($f);
	if ($e == "gif") return imagecreatefromgif($f);
	if ($e == "jpg") return imagecreatefromjpg($f);
	return imagecreatefromgd($f);
}
function mostrarImagen($imagen, $e)	{
	switch ($e)	{
	case "png":
		imagepng($imagen);
		break;
	case "gif":
		imagegif($imagen);
		break;
	case "jpg":
		imagejpg($imagen);
		break;
	}
}
if(isset($_GET['id'])) { 
$elId = $_GET['id'];

$servidor = $_SERVER["SERVER_NAME"];
if ($servidor == "localhost")	{
	include("variables-localhost.php");
}
else	{
	include("variables-remotas.php");
}

$conexion=mysql_connect($host,$usuario,$clave) or die ("no se ha podido conectar a la BD"); 
mysql_select_db($basedatos) or die ("no se ha podido seleccionar la BD"); 
$sql = "SELECT archivo_binario,archivo_tipo, activo FROM $tabla WHERE id='".$_GET['id']."'"; 
$consulta = mysql_query($sql,$conexion);
//$vale = mysql_result($consulta,0,"activo");
$vale = mysql_num_rows($consulta);
if ($vale == 0)	{
	$sql = "SELECT archivo_binario, archivo_tipo FROM $tabla WHERE id=97";
	$consulta = mysql_query($sql,$conexion);
}
$datos = mysql_result($consulta,0,"archivo_binario"); 
$tipo = mysql_result($consulta,0,"archivo_tipo"); 
$fichero = "temporal/id$elId.".extension($tipo);
$f = fopen($fichero, "w");
if (fwrite($f, $datos) === FALSE) {
       echo "Cannot write to file ($f)";
       exit;
}
fclose($f);
$imagen = crearImagen($fichero, extension($tipo));
mostrarImagen($imagen, extension($tipo));
} 
?>
Sé que se puede mejorar, pero en localhos me funciona... ahora probaré lo de borrar el archivo temporal.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo