<?php session_start(); // Comprobamos si existe la variable if ( !isset ( $_SESSION['id'] ) ) { // Si no existe //header("Location: ../../../includes/error.php"); // echo "hola mundo2"; } $alerta=""; $imagen= $_REQUEST['id_imagen']; //if($_REQUEST['u'] == "escritorio") {$respuesta = "escritorio/";} // Script Que copia el archivo temporal subido al servidor en un directorio. $tipo = $_FILES['fileUpload']['type']; if($tipo=="image/png") {$ext = ".png"; } elseif($tipo=="image/jpeg") {$ext = ".jpg"; } elseif($tipo=="image/gif") {$ext = ".gif"; } else {$ext = "novalida";} // Definimos Directorio donde se guarda el archivo //$dir = '../../../images_secure'; // Intentamos Subir Archivo // (1) Comprobamos que existe el nombre temporal del archivo if (isset($_FILES['fileUpload']['tmp_name'])) { $size= $_FILES['fileUpload']['size']; // $nombre =MD5(time()).".jpg"; // (2) - Comprobamos que se trata de un archivo de imágen //if ($tipo == 'image/jpeg' AND $size <= 4000000 ) { $upload_size = ($_SESSION['upload_size']*1024*1024); if (($tipo == 'image/jpeg' or $tipo =='image/png') AND $size <= $upload_size ) { // (3) Por ultimo se intenta copiar el archivo al servidor. $name = MD5(time())."$ext"; $nombre= "$_SESSION[path_images_secure]/full/".$name; $imagenX = $_FILES['fileUpload']['tmp_name']; $coordenadas = leer_exif($imagenX); //$link = "$_SESSION[url]mapero.php?lat=$coordenadas[lon]&lon=$coordenadas[lat]&zoom=16&id=$name"; if($coordenadas !='') { $coordenadas = "$coordenadas"."&id=$_REQUEST[campo_mapa]"."[0]"; $alerta = "alert(' Se han detectado coordenadas en los metadatos de la imagen y se ubicará el mapa en ese lugar.');"; } //if (!copy($_FILES['fileUpload']['tmp_name'],"$nombre")) if (!move_uploaded_file($_FILES['fileUpload']['tmp_name'],$nombre)) //move_uploaded_file($tmp_name, "$uploads_dir/$name"); //chown($nombre,www-data); echo '<script>parent.resultadoUpload(1, " '.$size.'");</script> '; else{ /* echo generar_miniatura_alto($name,"150"); echo generar_miniatura_alto($name,"300"); echo generar_miniatura_alto($name,"600"); */ echo generar_miniatura($name,"150"); echo generar_miniatura($name,"300"); echo generar_miniatura($name,"600"); ///$name= "$name?$coordenadas" echo " <script>parent.resultadoUpload(0, '$name','$_REQUEST[path]','$imagen','$coordenadas'); $alerta </script> "; } } else echo "<script>parent.resultadoUpload(2,'','$_REQUEST[path]','$imagen');</script> "; } else{ echo "<script>parent.resultadoUpload(3,'','".$imagen."');</script>"; } function generar_miniatura($file,$width) { //$archivo = $file; $archivo = "$_SESSION[path_images_secure]/full/".$file; // Ponemos el . antes del nombre del archivo porque estamos considerando que la ruta está a partir del archivo thumb.php $file_info = getimagesize($archivo); // Obtenemos la relación de aspecto $ratio = $file_info[0] / $file_info[1]; // Calculamos las nuevas dimensiones $newwidth = $width; $newheight = round($newwidth / $ratio); // Sacamos la extensión del archivo $ext = explode(".", $file); $ext = strtolower($ext[count($ext) - 1]); if ($ext == "jpeg") $ext = "jpg"; // Dependiendo de la extensión llamamos a distintas funciones switch ($ext) { case "jpg": $img = imagecreatefromjpeg($archivo); break; case "png": $img = imagecreatefrompng($archivo); break; case "gif": $img = imagecreatefromgif($archivo); break; } // Creamos la miniatura $thumb = imagecreatetruecolor($newwidth, $newheight); imagealphablending( $thumb, false ); imagesavealpha( $thumb, true ); // La redimensionamos imagecopyresampled($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $file_info[0], $file_info[1]); // La mostramos como jpg //header("Content-type: image/jpeg"); imagejpeg($thumb,"$_SESSION[path_images_secure]/".$width."/$file", 80); imagepng($thumb,"$_SESSION[path_images_secure]/".$width."/$file", 9); //imagegif($thumb,"$_SESSION[path_images_secure]/".$width."/$file"); //imagejpeg($thumb,null, 80); } function generar_miniatura_alto($file,$alto) { //$archivo = $file; $archivo = "$_SESSION[path_images_secure]/full/".$file; // Ponemos el . antes del nombre del archivo porque estamos considerando que la ruta está a partir del archivo thumb.php $file_info = getimagesize($archivo); // Obtenemos la relación de aspecto $ratio = $file_info[1]/$file_info[0]; // Calculamos las nuevas dimensiones $newheight = $alto; $newwidth = round($newheight / $ratio); // Sacamos la extensión del archivo $ext = explode(".", $file); $ext = strtolower($ext[count($ext) - 1]); if ($ext == "jpeg") $ext = "jpg"; // Dependiendo de la extensión llamamos a distintas funciones switch ($ext) { case "jpg": $img = imagecreatefromjpeg($archivo); break; case "png": $img = imagecreatefrompng($archivo); break; case "gif": $img = imagecreatefromgif($archivo); break; } // Creamos la miniatura $thumb = imagecreatetruecolor($newwidth, $newheight); imagealphablending( $thumb, false ); imagesavealpha( $thumb, true ); // La redimensionamos imagecopyresampled($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $file_info[0], $file_info[1]); // La mostramos como jpg //header("Content-type: image/jpeg"); imagepng($thumb,"$_SESSION[path_images_secure]/".$alto."/$file", 80); imagejpeg($thumb,"$_SESSION[path_images_secure]/".$alto."/$file", 80); //imagejpeg($thumb,null, 80); } // Convertir un string "1/123" a su representación float function exif_float($value) { $pos = strpos($value, '/'); if ($pos === false) return (float) $value; $a = (float) substr($value, 0, $pos); $b = (float) substr($value, $pos+1); return ($b == 0) ? ($a) : ($a / $b); } function leer_exif($file){ //$file = "/var/www/html/milfs/images/gps.jpg"; $exif = exif_read_data( $file ); if ( !empty($exif['GPSLongitude']) && !empty($exif['GPSLatitude']) ) { $d = (float) $exif['GPSLongitude'][0]; $m = exif_float($exif['GPSLongitude'][1] ); $s = exif_float( $exif['GPSLongitude'][2] ); $gps_longitude = (float) $d + $m/60 + $s/3600; if ( $exif['GPSLongitudeRef'] == 'W') $gps_longitude = -$gps_longitude; $d = $exif['GPSLatitude'][0]; $m = exif_float($exif['GPSLatitude'][1] ); $s = exif_float( $exif['GPSLatitude'][2] ); $gps_latitude = (float) $d + $m/60 + $s/3600; if ( $exif['GPSLatitudeRef'] == 'S') $gps_latitude = -$gps_latitude; if($gps_latitude !='') { $resultado = "../mapa.php?lon=$gps_latitude&lat=$gps_longitude&zoom=18&exif=exif"; }else{$resultado ="";} //$resultado = "$gps_longitude $gps_latitude"; return $resultado; } } ?>