Foros del Web » Programando para Internet » PHP »

ayuda con galería php

Estas en el tema de ayuda con galería php en el foro de PHP en Foros del Web. al quere subir el .jpg no sube nada y marca false2 y falsebig. <? session_start(); header("Cache-control: private"); if (!$_SESSION['estado']=="firmado") //SI EL PASSWORD ANTERIOR ES IGUAL ...
  #1 (permalink)  
Antiguo 13/05/2009, 15:04
 
Fecha de Ingreso: septiembre-2007
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
ayuda con galería php

al quere subir el .jpg no sube nada y marca false2 y falsebig.

<?
session_start();
header("Cache-control: private");
if (!$_SESSION['estado']=="firmado") //SI EL PASSWORD ANTERIOR ES IGUAL AL DE AHORA {
echo "<h3><br><br><br><br><center>Sesión incorrecta</center></h3>";
echo"<META HTTP-EQUIV=\"refresh\" CONTENT=\"3;URL=..\administrador.html\">";
exit();
}
//inicia el guardado y modificacion de la imagen al tamaño deseado
$selectedimg = $_POST["selectedimg"];
$imagen = $_FILES['file'][ 'tmp_name' ];
$nombre_imagen_asociada = $selectedimg;

//indicamos el directorio donde se van a colgar las imágenes

$directorio = "./imagenes/" ;

//establecemos los límites de ancho y alto
$nuevo_ancho = 174 ;
$nuevo_alto = 131 ;

//Recojo información de la imágen
$info_imagen = getimagesize($imagen);
$alto = $info_imagen[1];
$ancho = $info_imagen[0];
$tipo_imagen = $info_imagen[2];

//Determino las nuevas medidas en función de los límites
if($ancho > $nuevo_ancho OR $alto > $nuevo_alto)
{
if(($alto - $nuevo_alto) > ($ancho - $nuevo_ancho))
{
$nuevo_ancho = round($ancho * $nuevo_alto / $alto,0) ;
}
else
{
$nuevo_alto = round($alto * $nuevo_ancho / $ancho,0);
}
}
else //si la imagen es más pequeña que los límites la dejo igual. {
$nuevo_alto = $alto;
$nuevo_ancho = $ancho;
}

$imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefromjpeg($imagen);
//cambio de tamaño…
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagejpeg($imagen_nueva, $directorio . $nombre_imagen_asociada)) echo "false2";
if (!imagejpeg($imagen_vieja, $directorio . "b_" . $nombre_imagen_asociada)) echo "false big";
break;

}
echo "<meta HTTP-EQUIV='refresh' content='1;url=galeria.php'>";
?>
  #2 (permalink)  
Antiguo 13/05/2009, 15:26
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
Respuesta: ayuda con galería php

Intenta cambiar

$directorio = "./imagenes/" ;

por

$directorio = "/ruta/completa/desde/la/raiz/imagenes/" ;

a ver si asi se soluciona ... no estoy seguro pero podria funcinar
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #3 (permalink)  
Antiguo 13/05/2009, 15:33
 
Fecha de Ingreso: septiembre-2007
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: ayuda con galería php

Temaqueja gracias pero no funciona así lo tenía en un inicio.
  #4 (permalink)  
Antiguo 13/05/2009, 18:43
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: ayuda con galería php

lunapop:

En ningun lado se ve que hayas subido una imagen.
Es decir que el codigo para subir la imagen NO ESTA en el codigo
que has puesto.

Te falta ->
if(is_uploaded_file($_FILES['archivo']['tmp_name'])) { }
y
if(move_uploaded_file($_FILES['archivo']['tmp_name'], $SUBIRA)) { }

Esto es muy importante NO puedes utilizar break; con if. Se utiliza con
do(While), for(...), whille(::::), switch() .

Siempre asegurate de tener el error_reporting en ON del php.ini
y revisa el log de errores del servidor para ver que exactamente paso!!!.

Saludos
Franco
  #5 (permalink)  
Antiguo 14/05/2009, 19:55
 
Fecha de Ingreso: septiembre-2007
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: ayuda con galería php

Cita:
Iniciado por franco190453 Ver Mensaje
lunapop:

En ningun lado se ve que hayas subido una imagen.
Es decir que el codigo para subir la imagen NO ESTA en el codigo
que has puesto.

Te falta ->
if(is_uploaded_file($_FILES['archivo']['tmp_name'])) { }
y
if(move_uploaded_file($_FILES['archivo']['tmp_name'], $SUBIRA)) { }

Esto es muy importante NO puedes utilizar break; con if. Se utiliza con
do(While), for(...), whille(::::), switch() .

Siempre asegurate de tener el error_reporting en ON del php.ini
y revisa el log de errores del servidor para ver que exactamente paso!!!.

Saludos
Franco
Hola Franco muchas gracias por tu aporte.
Lo que pasa es que hace una copia de la imagen con imagecopyresampled

y si tienes razón con lo del break lo uqe pasa es que lo tengo así
// dependiendo del tipo de imagen tengo que usar diferentes funciones
switch ($tipo_imagen) {
case 1: //si es gif …
$imagen_nueva = imagecreate($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefromgif($imagen);
//cambio de tamaño…
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagegif($imagen_nueva, $directorio . $nombre_imagen_asociada)) echo "false";
break;

case 2: //si es jpeg …
$imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefromjpeg($imagen);
//cambio de tamaño…
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagejpeg($imagen_nueva, $directorio . $nombre_imagen_asociada)) echo "false";
if (!imagejpeg($imagen_vieja, $directorio . "b_" . $nombre_imagen_asociada)) echo "false big";
break;

case 3: //si es png …
$imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefrompng($imagen);
//cambio de tamaño…
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagepng($imagen_nueva, $directorio . $nombre_imagen_asociada)) echo "false";
break;
}

En un servidor si me funciona perfecto pero en otro me marca esos falsos, no se si son permisos de carpetas o que pero bueno gracias por tu ayuda.

Saludos.
  #6 (permalink)  
Antiguo 14/05/2009, 19:59
Avatar de razcoll  
Fecha de Ingreso: abril-2005
Mensajes: 76
Antigüedad: 19 años
Puntos: 1
Respuesta: ayuda con galería php

Puedes probar dándole todos los permisos a esa carpeta... pues si sólo es de lectura, no vas a poder subir aunque tu script esté perfecto.
  #7 (permalink)  
Antiguo 14/05/2009, 21:16
 
Fecha de Ingreso: septiembre-2007
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: ayuda con galería php

Gracias a todos por sus respuestas ya encontré en dónde está el problema.

Es la primera vez que hago esto y no sabía que me faltaba header("Content-type: image/jpeg"); y listo ya funciona.

Si alguien tiene este problema en PHP5 chequen tener bien el $_POST solamente sin el HTTP, y tener la librería GD instalada versión 2.0.1 en delante.

Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:09.