Foros del Web » Programando para Internet » PHP »

Ayuda con este código, por favor

Estas en el tema de Ayuda con este código, por favor en el foro de PHP en Foros del Web. A ver, hice una pregunta acerca de subir una imagen que mide un tamaño y de forma automática la convierta a otro y la guarde ...
  #1 (permalink)  
Antiguo 05/12/2004, 14:17
 
Fecha de Ingreso: diciembre-2004
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
Ayuda con este código, por favor

A ver, hice una pregunta acerca de subir una imagen que mide un tamaño y de forma automática la convierta a otro y la guarde en otra carpeta, bueno lo he conseguido pero......
el script es este
Código PHP:
<?
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto $_POST["cadenatexto"];
echo 
"Escribió en el campo de texto: " $cadenatexto "<br><br>";

//datos del arhivo
$nombre_archivo $_FILES['userfile']['name']; //nombre original del archivo
$nombre_archivo2 $_FILES['userfile2']['name'];
$tipo_archivo $_FILES['userfile']['type'];
$tamano_archivo $_FILES['userfile']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg") || strpos($tipo_archivo"JPEG") ) && ($tamano_archivo 1000000000))) {
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
    if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],"temporal/".$nombre_archivo))
    if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],"temporal/".$nombre_archivo2)){
        echo 
"El archivo ha sido cargado correctamente.";
    }else{
        echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.";
    }
}
// hago la priemera reducción de tamaño
function thumbjpeg($imagen,$altura) { 
     
// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande". 
     
$dir_thumb "thumbs/"
     
// Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg", 
     // el thumbnail se llamaría "tn_imagen1.jpg" 
     
$prefijo_thumb "tn_"

     
// Aquí tendremos el nombre de la imagen. 
     
$nombre=basename($imagen); 
     
// Aquí la ruta especificada para buscar la imagen. 
     
$camino=dirname($imagen)."/temporal/"

     
// Intentamos crear el directorio de thumbnails, si no existiera previamente. 
     
if (!file_exists($camino.$dir_thumb)) 
          @
mkdir ($camino.$dir_thumb0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb); 

     
// Aquí comprovamos que la imagen que queremos crear no exista previamente 
     
if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) { 
          echo 
$camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>\n"
          
$img = @imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n"); 

          
// miramos el tamaño de la imagen original... 
          
$datos getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n"); 

          
// intentamos escalar la imagen original a la medida que nos interesa 
          
$ratio = ($datos[1] / $altura); 
          
$anchura round($datos[0] / $ratio); 

          
// esta será la nueva imagen reescalada 
          
$thumb imagecreatetruecolor($anchura,$altura); 

          
// con esta función la reescalamos 
          
imagecopyresampled ($thumb$img0000$anchura$altura$datos[0], $datos[1]); 

          
// voilà la salvamos con el nombre y en el lugar que nos interesa. 
          
imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre); 
     } 
}

//ejecuto la acción
thumbjpeg($nombre_archivo125); 
thumbjpeg($nombre_archivo2125); 

?>
Me sube una imagen a una carpeta llamada temporal con su tamaño original y automáticamente crea un thumbnail que lo guarda en otra carpeta llamada thumbs que está a su vez dentro de temporal, bien hasta ahí no hay ningún problema, el problema lo tengo a la hora de conectar con la bd y decirle que guarde el path del thumbnail es decir de la imagen que se ha creado después de subir la original, tengo este otro script para conectar con la base de datos pero al meterlo en el anterior me dá error porque no sé muy bien como meterlo
Código PHP:
$conexion mysql_connect("localhost","root","") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("mon",$conexion) or die("No se puede seleccionar BD"); 

//insertamos los datos en la BD. 
$consulta_insertar "INSERT INTO pisos (id, ,imagen,comentario) VALUES ('',temporal/thumbs/$thumb','".$_POST['comentario']."')"
echo 
$consulta_insertar;
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos."); 
header("location: index.php?s=1"); // si ha ido todo bien 
exit; 



    }
    else{ 
       echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse."
    } 
Siendo la base de datos mon y la tabla pisos y el campo de la foto imagen como le digo que me meta los datos anteriores en la misma,
Otra historia que tengo es que esto lo necesito hacer a la vez con cuatro fotos y no sé muy bien, pero vamos a ir por partes, gracias de antemano

Última edición por pipo2005; 05/12/2004 a las 14:20
  #2 (permalink)  
Antiguo 06/12/2004, 02:49
 
Fecha de Ingreso: diciembre-2004
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
No se preocupen, ya lo solucioné, gracias de todas formas por las ayudas anteriores, chao
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 15:52.