Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2011, 18:30
salobo
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años, 7 meses
Puntos: 0
subir imagenes al servidor y ruta en base de datos

Buenas a todos.. Tengo un codigo para realizar la subida de las imagenes a mi servidor. Utilizo wamp server pero tengo problemas.

Código PHP:

if(isset($_FILES['fichero']['name'])) {   

   if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { 
    
    
   
//empieza la redimension, tomamos la imagen temporal subida 
   
$info getimagesize($_FILES['fichero']['tmp_name']);  
   
//segun el caso sera jpg, gif, png 
   
switch ($info[2]) { 
  case 
1
    
$imagen imagecreatefromgif($_FILES['fichero'] ['tmp_name']); break; 
  case 
2
    
$imagen imagecreatefromjpeg($_FILES['fichero'] ['tmp_name']); break; 
  case 
3
    
$imagen imagecreatefrompng($_FILES['fichero'] ['tmp_name']); break; 
  
// etcétera //  
  


$original $imagen
$original_w imagesx($original); 
$original_h imagesy($original); 

$maxw 95;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS 
$maxh 140;

if(
$original_w>$original_h) { 
    
$muestra_w $maxw
    
$muestra_h $maxh
    } else { 
    
$muestra_w $maxw
    
$muestra_h $maxh
    } 

$muestra imagecreatetruecolor($muestra_w,$muestra_h);  

imagecopyresampled($muestra,$original,0,0,0,0$muestra_w,$muestra_h,$original_w,$original_h); 
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya 


//imagedestroy($muestra); 
    
     // me verifica haya sido cargado el archivo  
        
$ruta_destino "../imagenes/"
        
$namefinaltrim ($_FILES['fichero']['name']);//quito espacios finales o al principio del nombre si los hay 
        
$namefinalereg_replace (" """$namefinal);//quito los espacios entre las palabtas del nombre si los hay 
        
$uploadfile$ruta_destino $namefinal
        if(
imagejpeg($muestra,$uploadfile,'100')) { // se coloca en su lugar final  
                    
echo "<b>Upload exitoso!. Datos:</b><br>";  
            echo 
"Nombre: <i><a href=\"".$uploadfile."\">".$_FILES['fichero']['name']."</a></i><br>";  
            echo 
"Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";  
                    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";  
                        echo 
"<br><hr><br>";  
                      
                 

}else{echo 
"no se guardo la foto, ni se inserto el articulo en la Base de Datos";} 
}else{echo 
"no se subio foto";} 
}else{echo 
"no se selecciono la foto";} 

$link_def "http://localhost/imagenes/" $namefinal;

        
        
$link mysql_connect("localhost","root","");
        
mysql_select_db("productos",$link);
        
        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        
mysql_query("INSERT INTO prod (modelo,precio,año,moneda,tipo,medida,descripcion,imagen1)
        VALUES ('"
.$modelo."','".$precio."','".$año."','".$moneda."','".$radiobutton."','".$medida."','".$descripcion."','".$link_def."' )",$link);

        
// Ahora comprobaremos que todo ha ido correctamente
        
$my_error mysql_error($link);

        if(!empty(
$my_error)) {

            echo 
$my_error
                

        } else {

            return 
true;
        

        }

    } else {

        echo 
"Error, no ha introducido todos los datos";
        

    }

aparentemente necesito permisos en la carpeta imagenes.. pero como se los asigno ?
porque me tira este error : ]: Unable to open '../imagenes/Penguins.jpg' for writing: No such file or directory in C:\wamp\www\cargaraviso.php on line 79

en la base de datos por su parte me crea correctamente la ruta de la imagen ..