Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2010, 09:04
rufus
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
problema con script de php + mysql

necesito meter un script para subir fotos a una base de datos para una pagina que estoy haciendo, he estado navegando por internet y e probado varios scripts pero ninguno me funciona ahora con este que os voy a poner aqui tampoco me funciona me da varios errores.. pongo el codigo haber si me podeis ayudar:


base de datos:

-- Servidor: localhost
-- Tiempo de generación: 24-02-2010 a las 16:03:00
-- Versión del servidor: 5.1.33
-- Versión de PHP: 5.2.9-2

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de datos: `fotos`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `fotos.foto_foto`
--

CREATE TABLE IF NOT EXISTS `fotos.foto_foto` (
`idfoto` int(11) NOT NULL AUTO_INCREMENT,
`foto_grande` mediumblob NOT NULL,
`foto_pequena` mediumblob NOT NULL,
PRIMARY KEY (`idfoto`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

datos.php:

Código PHP:
<?php
    $servidor
="localhost";
    
$nombre="root";
    
$clave="contraseña";
    
?>

index.php:
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php

	echo '<font size="1">';
	echo '<center>';
	echo'<form enctype="multipart/form-data" action="guardar_archivos.php" method="post">';
	echo 'Foto<br><input type="file" name="foto">';
	echo '<br><br>';
	echo 'Thum.<br><input type="file" name="thumbail"><br><br>';
	echo '<input type=hidden name=max_file_size value=1000000>';
	echo '<input type="submit" value="Enviar archivo">';
	echo '</form>';
	echo '<br><br><a href=descargar_archivo2.php>Ver album</a>';



        ?>
    </body>
</html>
guardar_archivos.php:
Código PHP:
<?php

    
require ("datos.php");
    echo 
'<center><font size=1>';
    
$conexion=@mysql_connect($servidor,$nombre,$clave);
    
$res=mysql_select_db("fotos",$conexion);
    if ( 
$conexion )
    {

        
$archivo $_FILES["foto"]["tmp_name"];
         
$tamanio $_FILES["foto"]["size"];
         
$tipo    $_FILES["foto"]["type"];
         
$nombre  $_FILES["foto"]["name"];
         
$archivo_thumb $_FILES["thumbail"]["tmp_name"];
         
$tamanio_thumb $_FILES["thumbail"]["size"];
         
$tipo_thumb    $_FILES["thumbail"]["type"];
         
$nombre_thumb  $_FILES["thumbail"]["name"];
         if ( 
$archivo != "none" && $archivo_thumb!="none")
         {
             
$fp fopen($archivo"rb");
                
$contenido fread($fp,$tamanio);
                
$contenido addslashes($contenido);
                
fclose($fp);
               
$fp_thumb fopen($archivo_thumb,"rb");
                
$contenido_thumb fread($fp_thumb,$tamanio_thumb);
                
$contenido_thumb addslashes($contenido_thumb);
               
fclose($fp_thumb);
                
$query "INSERT INTO fotos.foto_foto VALUES(null,'".$contenido."','".$contenido_thumb."')";
                
mysql_query($query);
                if(
mysql_affected_rows($conexion) > 0)print "Se ha guardado el archivo en la base de datos.";
                else print 
"NO se ha podido guardar el archivo en la base de datos.";
         }
         else print 
"No se ha podido subir el archivo al servidor";
    }else{
        echo 
'No conectado';
    }
    
//echo "<HTML><SCRIPT>document.location='index.php';</SCRIPT></HTML>"; 
?>


foto_grande.php
Código PHP:
<?php
    
require("datos.php");
    
$conexion=@mysql_connect($servidor,$nombre,$clave);
    
$res=mysql_select_db("fotos",$conexion);
    
$qry "SELECT foto_grande FROM fotos.foto_foto where idfoto='".$_GET["idfoto"]."'";
    
$res2 mysql_query($qry);
    
$foto=basename(tempnam(getcwd(),'tmp'));
    
$foto.=".jpg";
    
$contenido2=mysql_result($res2,0,0);
    
$ft=fopen($foto,"w");
    
fwrite($ft,$contenido2);
    
fclose($ft);
    echo 
'<center><img src='.$foto.'>   <br><br>';
    echo 
'<font size=1><a href=descargar_archivo2.php>Volver al album</a>';
    
?>


descargar_archivo.php:

Código PHP:
<?php
    
require ("datos.php");
    
$conexion=@mysql_connect($servidor,$nombre,$clave);
    
$res=mysql_select_db("fotos",$conexion);

    
$qry "SELECT idfoto,foto_pequena FROM fotos.foto_foto";
    
$res2 mysql_query($qry);
    for (
$j=0;$j mysql_num_rows($res2);$j++)
    for (
$i=0;$i mysql_num_fields($res2);$i++)
    {
        
$foto=basename(tempnam(getcwd(),'tmp'));
        
$foto.=".jpg";
        if (
$i==1)
        {
            
$contenido2=mysql_result($res2,$j,$i);
            
$ft=fopen($foto,"w");
            
fwrite($ft,$contenido2);
            
fclose($ft);
            echo 
'<a href=fotogrande.php?idfoto='.mysql_result($res2,$j,0).'><img src='.$foto.'>   ';
            echo 
'';
        }
    }
    echo 
'<br><br><font size=1><center><a href=form.php>Insertar nuevas fotos</a>';
    
?>




El fallo es que no me consigue guardar las imagenes en la base de datos