Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/02/2010, 22:00
esaenz22
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: [APORTE] mantenimiento de datos con su respectiva imagen si que esta se pi

gracias por sus respuestas. si en caso hubiera mas registros con la misma imagen, lo primero que tendria que hacer es crear una cadena aleatoria, crear una variable y almacenarla para que subiera las fotos respectivamente.

seria de esta manera.

Código PHP:
Ver original
  1. if(!isset($_POST['editar'])){//preguntamos si el valor editar esta definida y si es diferente, que haga el insert.
  2.     //preguntamos si el archivo foto esta vacio
  3.     if(is_uploaded_file($_FILES['foto']['tmp_name'])) {
  4.    
  5.         /*prefijo de cadena*/
  6.         $str = "abcdefghijklmnopqrstuvwxyz1234567890";
  7.         $cad = "";
  8.         for($i=0;$i<12;$i++) {
  9.             $cad .= substr($str,rand(0,36),1);
  10.         }      
  11.    
  12.         #imagen del dato.
  13.         $foto       = $_FILES['foto']['name'];
  14.         $nuevo_foto = str_replace(' ','_',$foto);
  15.         $test       = explode(".",$foto);
  16.        
  17.         $path = "fotos/";
  18.        
  19.         if(strtoupper($test[1])=="JPG" || strtoupper($test[1])=="JPEG")
  20.         {
  21.             $tamano = $_FILES['foto']['size']; // Leemos el tamaño del fichero
  22.             $tamano_max="1048576"; // Tamaño maximo permitido
  23.            
  24.             if($tamano <= $tamano_max){ // Comprovamos el tamaño
  25.                 $nueva_imagen_aleatoria = $cad.'.'.$test[1]; //creamos una variable para almacenar la cadena aleatoria concatenandola con la variable $test[1].                    
  26.                 move_uploaded_file($_FILES['foto']['tmp_name'],$path.$nueva_imagen_aleatoria);
  27.                 agregardatos($nombres,$apellidos,$direccion,$edad,$telefono,$email,$opcion,$nueva_imagen_aleatoria);
  28.             }else{
  29.                 echo "<div align = 'center'>La imagen que intenta grabar, excede el peso requerido. El maximo de peso es 500KB.</div>";
  30.                 echo "<br /><br /><br />";
  31.                 echo "<div align = 'center'><a href='javascript:history.back()'>&lt;&lt; Clic aqui para regresar.</div></a>";
  32.             } //cerramos el primer if.
  33.            
  34.         }else{
  35.             echo "<div align = 'center'>La imagen que intenta grabar, debe ser de formato JPG.</div>";
  36.             echo "<br />";
  37.             echo "<div align = 'center'><a href='javascript:history.back()'>&lt;&lt; Clic aqui para regresar.</div></a>";
  38.         } //cerramos el segundo if.
  39.    
  40.     //Si no hay imagen para agregar en la agenda, procederemos a agregar los datos sin la imagen.
  41.     }else{
  42.         agregardatos($nombres,$apellidos,$direccion,$edad,$telefono,$email,$opcion,$nueva_imagen_aleatoria);
  43.        
  44.     } //cerramos el tercer if.
  45.    
  46. } //cerramos el if principal.
  47.  
  48. if(isset($_POST['editar'])){ //preguntamos si el valor editar esta definida.
  49.     if($_POST['editar']=='1'){ //preguntamos si el valor editar es igual a 1.
  50.    
  51.             #editamos la foto del producto.
  52.             if($_FILES['foto']['size'] != '0' ){ //preguntamos si el tamaño del archivo es diferente a 0, que edite los datos con la imagen.          
  53.                
  54.                 /*prefijo de cadena*/
  55.                 $str = "abcdefghijklmnopqrstuvwxyz1234567890";
  56.                 $cad = "";
  57.                 for($i=0;$i<12;$i++) {
  58.                     $cad .= substr($str,rand(0,36),1);
  59.                 }                  
  60.                
  61.                 $foto = $_FILES['foto']['name'];
  62.                 $nuevo_foto = str_replace(' ','_',$foto);
  63.                 $test = explode(".",$foto);
  64.                
  65.                 $path = "fotos/";
  66.                
  67.                     if(strtoupper($test[1])=="JPG" || strtoupper($test[1])=="JPEG"){
  68.                         $tamano = $_FILES['foto']['size']; // Leemos el tamaño del fichero
  69.                         $tamano_max="1048576"; // Tamaño maximo permitido
  70.                         if($tamano <= $tamano_max){ // Comprovamos el tamaño
  71.                             $nueva_imagen_aleatoria = $cad.'.'.$test[1]; //creamos una variable para almacenar la cadena aleatoria concatenandola con la variable $test[1].                    
  72.                             move_uploaded_file($_FILES['foto']['tmp_name'],$path.$nueva_imagen_aleatoria); 
  73.                             editardatos($_POST['codigo'],$nombres,$apellidos,$direccion,$edad,$telefono,$email,$opcion,$nueva_imagen_aleatoria);
  74.                         }else{
  75.                             echo "<div align = 'center'>La imagen que intenta grabar, excede el peso requerido. El maximo de peso es 500KB.</div>";
  76.                             echo "<br /><br /><br />";
  77.                             echo "<div align = 'center'><a href='javascript:history.back()'>&lt;&lt; Clic aqui para regresar.</div></a>";
  78.                         }
  79.                        
  80.                     }else{
  81.                         echo "<div align = 'center'>La imagen que intenta grabar, debe ser de formato JPG.</div>";
  82.                         echo "<br />";
  83.                         echo "<div align = 'center'><a href='javascript:history.back()'>&lt;&lt; Clic aqui para regresar.</div></a>";
  84.                     } //cerramos el primer if.
  85.                                                            
  86.              //caso contrario, procedera a editar los datos sin la foto.   
  87.                                
  88.             }else{
  89.                         $nueva_imagen_aleatoria = $_POST['nombreFoto'];
  90.                         editardatos($_POST['codigo'],$nombres,$apellidos,$direccion,$edad,$telefono,$email,$opcion,$nueva_imagen_aleatoria);
  91.                        
  92.             } //cerramos el segundo if.                                        
  93.            
  94.  
  95.     } //cerramos el tercer if.
  96.    
  97. } //cerramos el if principal.

esa seria la solucion para el problema.

Nota. si por alguna razon desean probar mi aporte en su hosting, deben crear la carpeta fotos y darle permisos 0777.

saludos.

Última edición por esaenz22; 17/02/2010 a las 16:36 Razón: correccion.