$dia, "mes"=>$mes, "anyo"=>$anno, "hora"=>$hora, "minuto"=>$minuto, "segundo"=>$segundo); return $output; } /********************************************************** * * * Función: dias_mes * * Entrada: ordinal de un mes (1->Enero, 2->Febrero, etc.) * * Salida: devuelve el numero de dias de un mes concreto * * * **********************************************************/ function dias_mes($mes, $anyo=""){ $anyo_actual = ($anyo == "") ? date('Y'):$anyo; switch ($mes){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: $dias = 31; break; case 4: case 6: case 9: case 11: $dias = 30; break; default: // Febrero if ( ((($anyo_actual % 4) == 0) && (($anyo_actual % 100) != 0)) || (($anyo_actual % 400) == 0) ) $dias = 29; else $dias = 28; } return $dias; } /********************************************************** * * * Función: numero_dias * * Entrada: 2 fechas en formato europeo: dd-mm-YYYY * * Salida: devuelve el numero de dias entre esas 2 fechas * * * **********************************************************/ function numero_dias($hoy, $entrada){ $numero_dias = 0; $dias_mes = array('01' => 31, '02' => 29, '03' => 31, '04' => 30, '05' => 31, '06' => 30, '07' => 31, '08' => 31, '09' => 30, '10' => 31, '11' => 30, '12' => 31); list($dia_llegada, $mes_llegada, $ano_llegada) = split("[-/.:]", $entrada); list($dia_actual, $mes_actual, $ano_actual) = split("[-/.:]", $hoy); while (($dia_actual != $dia_llegada) || ($mes_actual != $mes_llegada) || ($ano_actual != $ano_llegada)){ $numero_dias++; // // Ahora incrementamos la fecha en un dia // if ($dia_actual == $dias_mes[$mes_actual]){ $dia_actual = "01"; if ($mes_actual == "12"){ $mes_actual = "01"; $ano_actual++; } else $mes_actual++; } else $dia_actual++; if (strlen($dia_actual) == 1) $dia_actual = "0" . $dia_actual; if (strlen($mes_actual) == 1) $mes_actual = "0" . $mes_actual; } return $numero_dias; } function sumar_dia ($dia, $mes, $anyo){ if ($dia == dias_mes($mes, $anyo)){ $dia = 1; if ($mes == 12){ $mes = 1; $anyo++; } else $mes++; } else $dia++; $dia = str_pad($dia, 2, "0", STR_PAD_LEFT); $mes = str_pad($mes, 2, "0", STR_PAD_LEFT); $output = array($dia, $mes, $anyo); return $output; } /******************************************************************************** * * * Función: fecha_hoy * * Entrada: * * Salida: devuelbe la fecha de hoy en el formato $dia." de ".$mes." de ".$anno; * * * *********************************************************************************/ function fecha_hoy(){ // Dia del mes $dia=date("d"); // Mes del año $mes=date("m"); switch ($mes) { case 1: $mes="Enero"; break; case 2: $mes="Febrero"; break; case 3: $mes="Marzo"; break; case 4: $mes="Abril"; break; case 5: $mes="Mayo"; break; case 6: $mes="Junio"; break; case 7: $mes="Julio"; break; case 8: $mes="Agosto"; break; case 9: $mes="Septiembre"; break; case 10: $mes="Octubre"; break; case 11: $mes="Noviembre"; break; case 12: $mes="Diciembre"; break; } // Año actual $anno=date("Y"); $fecha=$dia." de ".$mes." de ".$anno; return $fecha; } /****************************************************************************************** * * * Función: fecha_legible * * Entrada: fecha del tipo mysql. Trabaja con el tipo DATE de mysql, es decir, YYYY-mm-dd * * Salida: devuelbe la fecha introducida en el formato $dia." de ".$mes." de ".$anyo; * * * *******************************************************************************************/ function fecha_legible($fecha){ list ($anyo, $mes, $dia) = split('[-/.]', trim($fecha)); // Mes del año switch ($mes) { case "01": $mes="Enero"; break; case "02": $mes="Febrero"; break; case "03": $mes="Marzo"; break; case "04": $mes="Abril"; break; case "05": $mes="Mayo"; break; case "06": $mes="Junio"; break; case "07": $mes="Julio"; break; case "08": $mes="Agosto"; break; case "09": $mes="Septiembre"; break; case "10": $mes="Octubre"; break; case "11": $mes="Noviembre"; break; case "12": $mes="Diciembre"; break; } $fecha=$dia." de ".$mes." de ".$anyo; return $fecha; } ?> $height_default){ $ratio = $height_default / $height; $newheight = $height_default; $newwidth = round($width * $ratio); } } else if ($width_default != ""){ if ($width > $width_default){ $ratio = $width_default / $width; $newwidth = $width_default; $newheight = round($height * $ratio); } } // Now handle are file based on file_type if ($type == 1) { $src = imagecreatefromgif("$upload/$found"); $im = imagecreate($newwidth,$newheight); imagecopyresized($im,$src,0,0,0,0,$newwidth,$newheight,$width,$height); // made the resize now lets put the new image where it needs to go..... imagegif($im, $new_name) or die ("The Thumb could not be created"); imagedestroy($src); imagedestroy($im); } else if ($type == 2) { $src = imagecreatefromjpeg("$upload/$found"); $im = imagecreatetruecolor($newwidth,$newheight); if (function_exists("imageCopyResampled")) imagecopyresampled($im,$src,0,0,0,0,$newwidth,$newheight,$width,$height); else imagecopyresized($im,$src,0,0,0,0,$newwidth,$newheight,$width,$height); // made the resize now lets put the new image where it needs to go..... imagejpeg($im, "$new_name", 95) or die ("The Thumb could not be created"); imagedestroy($src); imagedestroy($im); } else if ($type == 3) { $src = imagecreatefrompng("$upload/$found"); $im = imagecreate($newwidth,$newheight); imagecopyresized($im,$src,0,0,0,0,$newwidth,$newheight,$width,$height); // made the resize now lets put the new image where it needs to go..... imagepng($im, "$new_name") or die ("The Thumb could not be created"); imagedestroy($src); imagedestroy($im); } } /****************************************************************** * * * Función: upload_file * * * ******************************************************************/ function upload_file($nombre_fichero, $fichero, $tipo_fichero, $dir_fs_upload, $dir_upload, $alto, $ancho, $alto_minimo, $ancho_minimo, $medida="ancho"){ if ( (ereg("jpg", strtolower($tipo_fichero)) == false) && (ereg("jpeg", strtolower($tipo_fichero)) == false)){ return @copy ($fichero, $dir_fs_upload . $nombre_fichero); } if ( ($fichero != "") && ($fichero != "none") ){ if ($medida == "alto"){ // Discrimina primero por altura $medida = "ancho"; $resize_alto = $alto; $resize_ancho = ""; } else if ($medida == "ancho"){ // Discrimina por ancho $medida = "alto"; $resize_alto = ""; $resize_ancho = $ancho; } else if ($medida == "minimo"){ $tam_fichero = getimagesize($dir_upload . $nombre_fichero); if ($tam_fichero[0] > $tam_fichero[1]){ // Es mayor el ANCHO $medida = "minimo"; $resize_alto = ""; $resize_ancho = $ancho; } else { // Es mayor el ALTO $medida = "minimo"; $resize_alto = $alto; $resize_ancho = ""; } } if ( (ereg("jpg", strtolower($tipo_fichero))) || (ereg("jpeg", strtolower($tipo_fichero))) ){ resize_image($dir_fs_upload, $fichero, $nombre_fichero, $tipo_fichero, $resize_alto, $resize_ancho, 60); if ($medida != "minimo"){ // Si la otra medida también se ha dado, hacemos la comprobación de que no se sobrepasa if ( ($$medida != "") && ($$medida > 0) ){ $tam_fichero = getimagesize($dir_upload . $nombre_fichero); if ($medida == "ancho"){ // Ancho $tam = $tam_fichero[0]; $resize_alto = ""; $resize_ancho = $ancho; } else { // Altura $tam = $tam_fichero[1]; $resize_alto = $alto; $resize_ancho = ""; } if ($tam > $$medida) resize_image($dir_fs_upload, $fichero, $nombre_fichero, $tipo_fichero, $resize_alto, $resize_ancho, 60); } //////////////////////////// $tam_fichero_redimensionado = getimagesize($dir_upload . $nombre_fichero); $ancho_redi = $tam_fichero_redimensionado[0]; // Ancho de la imagen $alto_redi = $tam_fichero_redimensionado[1]; // Alto if (($ancho_redi>=$ancho_minimo) && ($alto_redi>=$alto_minimo)){ return true; // Subido y todo bien }else{ // Borrar imegen subida, con cumple con las medidas delete_file($dir_fs_upload, $nombre_fichero); return false; } //////////////////////////// } // Fin if ( ($$medida != "") && ($$medida > 0) ){ return true; } // Fin if (($tipo_fichero == "image/x-png") || ($tipo_fichero == "image/pjpeg") || ($tipo_fichero == "image/jpeg")){ else { copy ($fichero, $dir_fs_upload . $nombre_fichero); $tam_fichero = getimagesize($dir_upload . $nombre_fichero); $tam_alto = $tam_fichero[1]; $tam_ancho = $tam_fichero[0]; if ( (($alto > 0) && ($alto != "") && ($tam_alto > $alto)) || (($ancho > 0) && ($ancho != "") && ($tam_ancho > $ancho)) ){ unlink ($dir_fs_upload . $nombre_fichero); $nombre_fichero = ""; return false; } else return true; } } // Fin if ( ($fichero != "") && ($fichero != "none") ){ else { return false; } } // Fin de la funcion /**************************************************************************************************************************** * * * Función: process_file * * Descripción: Toma un fichero y lo sube al servidor reescalado (si es una imagen). Y lo borra si así se indica * * Entrada: todos los parámetros de entrada son: * * - file: nombre del tipo file del formulario * * - dir_fs_upload: directorio físico donde subir las imagenes * * - alto: alto máximo de la imagen * * - ancho: ancho máximo de la imagen * * - redimensionar: indica que parametro hay que tener en cuenta al redimensionar * * - resolucion * * - prefijo: prefijo al nombre de la imagen. Util para poner la misma imagen en el mismo directorio varias veces * * - mat_permitidos: array con las extensiones de ficheros permitidas (todas por defecto) * * * ****************************************************************************************************************************/ function process_file($file, $dir_fs_upload, $dir_upload, $alto = "", $ancho = "", $alto_minimo="", $ancho_minimo="" , $redimensionar="ancho", $resolucion = "60", $prefijo="", $type="", $mat_permitidos = array()){ $nombre_fichero = strtolower($prefijo . nombre_foto($_FILES[$file]['name'])); $fichero = $_FILES[$file]['tmp_name']; $tipo_fichero = strtolower($_FILES[$file]['type']); $borrar_fichero = "eliminar_$file"; $fichero_anterior = $file . "_anterior"; $fichero_borrado = false; if ( ($_POST[$borrar_fichero]) || (($fichero != "") && ($fichero != "none"))){ if (delete_file($dir_fs_upload, $_POST[$fichero_anterior])){ $fichero_borrado = true; } } if (count($mat_permitidos) > 0){ if (!in_array($tipo_fichero, $mat_permitidos)){ // No se ha subido una imagen -- PELIGRO $nombre_fichero = ""; $fichero = ""; $tipo_fichero = ""; } } $upload_fichero = upload_file($nombre_fichero, $fichero, $tipo_fichero, $dir_fs_upload, $dir_upload, $alto, $ancho, $alto_minimo, $ancho_minimo, $redimensionar); if (!$upload_fichero) $nombre_fichero = ""; if (($fichero_borrado) || ($nombre_fichero != "")) $actualizar_fichero = 1; else $actualizar_fichero = 0; $output = array($nombre_fichero, $actualizar_fichero, $tipo_fichero); return $output; } /******************************** ** Función: procesar_imagen ** ** Entrada: ** - nombre de la imagen en el formulario ** - ruta lógica de upload ** - ruta física de upload ** - alto ** - ancho ** - redimensionar -- Indica si se restringe por ancho o por alto ** - nombreDefecto -- Si no se sube ningún fichero que texto poner en Base de Datos ** Salida: ** - nombre de la imagen que se inserta en la Base de Datos ** - internamente procesa la imagen y la borra, inserta y/o modifica en la carpeta correspondiente **************************************/ function procesar_imagen ($foto, $dir_upload, $dir_fs_upload, $alto = "", $ancho = "", $alto_minimo = "", $ancho_minimo = "", $type="", $nombreDefecto = "", $prefijo="", $redimensionar="ancho"){ $matFoto = process_file($foto, $dir_fs_upload, $dir_upload, $alto, $ancho, $alto_minimo, $ancho_minimo, $redimensionar, "60", $prefijo, $type); $nombre_foto = ($matFoto[1] == 1)? $matFoto[0]: $nombreDefecto; return $nombre_foto; } ?> Maquinaria Hidalgo e Hijos

Nuestra meta es que tus proyectos se hagan realidad.

Con una clara vocación de servicio en nuestro sector, uniendo juventud y experiencia, con un parque de maquinaria nuevo, constantemente renovado y compuesto de las marcas líderes del mercado, incorporando siempre las últimas tecnologías, tanto en el terreno industrial como en el de seguridad. Una gran oferta que une precio, calidad y servicio, centrados siempre en la atención a nuestros clientes. Con una flota propia de vehículos de reparto, para poder conseguir mayor agilidad en el servicio, tanto en costes como en tiempos de entrega o recogida. Todo ello para ayudarte a que tus proyectos se puedan convertir en realidad.