Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/02/2013, 13:05
vani18
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 5
$files , mime, y demas cosas no entiendo

hola , quisiera saber , si me puede ayudar a entender este pedazo de codigo.,..
lo que veo es esto...



Código PHP:
        foreach($HTTP_POST_FILES as $name => $value){
                    
$newname explode('_',$name);
                    if(
$newname[0] == 'foto'){
                        if(isset(
$HTTP_POST_FILES[$name]) && file_exists($HTTP_POST_FILES[$name]['tmp_name'])){
                            
$datos_original getimagesize($HTTP_POST_FILES[$name]['tmp_name']);
                            
$ext str_replace('e','',str_replace('image/','',$datos_original['mime']));
                            if(
$ext == 'jpg'){
                                if((int)(
$newname[1])){
                                    
$query mysql_query("SELECT * FROM `locales_fotos` WHERE `id`='{$newname[1]}'");
                                    if(
$result mysql_fetch_assoc($query)){
                                        
$foto $result['name'];
                                    }
                                }else{
                                    
$foto uniqid();
                                    
mysql_query("INSERT INTO `locales_fotos` (`name`,`id_local`) VALUES ('$foto','$subseccion')");
                                }
                                
image($HTTP_POST_FILES[$name]['tmp_name'],600,395,'../locales/fotos/'.$foto.'.jpg');
                            }else{
                                
$mensaje .= 'La imagen debe ser tipo JPG<br/>';
                            }
                        }
                    }
                } 


en el array , http_post_files, tengo los archivos que se cargaron... el foreach, me tira los nombres de cada uno , mientras lo recorre..
se supone , que todos los nombre deben tener este formato...

foto_perro.jpg.
foto_gato.jpg
foto_pato.jpg

el explode, lo separa por el guion bajo.
despues verifica si tiene un valor , el archivo ,en su campo nombre, y si esta cargado temporalmente...

luego con la funcion ..getimagesize , puede extraer, el alto, ancho , tipo de archivo...lo extrae en el array, $datos_originales....

lo que no entiendo , para que sirve el valor MIME..? es como un thumbail, para correo electronico, no tengo idea...
lo que si veo , que realiza, varios str_replace, para terminar, en que tipo de archivo es ... pero no era mas facil saber el tipo de archivo, cuando la funcion getimagesize, me lo devolvia en el cuarto parametro,,,


en esta linea...
es

$ext = str_replace('e','',str_replace('image/','',$datos_original['mime']));
...

buenos despues me doy cuenta, que el formato del nombre de las imagenes, eran...

FOTO_"id_del_archivo", ya que vuelve a usar el array donde hizo el explode al principo,, para tomar el ID...
verifica si es entero..
y bueno busca los datos, en el SQL...creo que me traera un unico registro...
sera el nombre de la foto, para despues,

con la funcion image, me cargara la imagen...

en el caso de que no era entero este valor. genera un nuevo nombre, con uniquid()
y lo inserta,

osea la idea , fue PRIMERO cargar el nombre en la base de datos y DESDEPUES CARGAR LA IMAGEN AL SERVIDOR; no ? bueno, mi duda es si todo lo que escribi es correcto....