Foros del Web » Programando para Internet » PHP »

extraer extension a nombre de archivo

Estas en el tema de extraer extension a nombre de archivo en el foro de PHP en Foros del Web. Estoy subiendo imagen a traves del siguiente formulario. INDEX.PHP Código PHP: < form method = 'post'  action = 'subirimagen2.php'  enctype = "multipart/form-data"  >        < input type = ...
  #1 (permalink)  
Antiguo 10/09/2009, 11:15
 
Fecha de Ingreso: octubre-2005
Mensajes: 405
Antigüedad: 18 años, 6 meses
Puntos: 1
extraer extension a nombre de archivo

Estoy subiendo imagen a traves del siguiente formulario.
INDEX.PHP
Código PHP:
<form method='post' action='subirimagen2.php' enctype="multipart/form-data" >
       <
input type="file" name="image" id="image" />   
       <
input type="hidden" name="MAX_FILE_SIZE" value="100000">
       <
input type="submit" name="send" value="Subir Imagen"/>        
</
form
Donde recibo el dato (subirimagen2.php), necesito recuperar el nombre del archivo sin extension para generar un direcctorio y guardar ahi la imagen a la vez generar un tumbs de ella en otro directorio.
SUBIRIMAGEN2.PHP
Código PHP:
<?  
  $crea
=0;
  
$temp explode(".",$image);
  
//print_r ($temp);
  
$codigo=trim($temp);
  
//Datos del Archivo
  
$url ="catalogo/".$codigo;
  
$nombre_archivo ="catalogo/".$codigo."/";  
  
$nombre_archivo $nombre_archivo.$_FILES['image']['name'];      
  
$tipo_archivo $HTTP_POST_FILES['image']['type']; 
  
$tamano_archivo $HTTP_POST_FILES['image']['size']; 
  
//compruebo si las caracteristicas del archivo son las que deseo 
  
if (!((strpos($tipo_archivo"jpg") || strpos($tipo_archivo"jpeg")) && ($tamano_archivo 100000))) { 
    
$mensaje="La extension (jpg) o el tamano de los archivos (> 100 Kb), no es correcta.";
  }else{
    if(
$crea == 0)
     {      
            
//Crea carpeta con nombre de codigo  
            
@mkdir("catalogo/".$codigo,0777);
            
//Crea carpeta thumbs en carpeta creada
            
@mkdir("catalogo/".$codigo."/".$codigo."_thumb",0777);
            
//Crea cambia a1, catalogo creado        
     

    if (
move_uploaded_file($HTTP_POST_FILES['image']['tmp_name'], $nombre_archivo)){ 
       
//Origen $nombre_archivo
       
$dest ="catalogo/".$codigo."/".$codigo."_thumb/".$_FILES['image']['name'];
       
$width_d=41// ancho de salida
       
$height_d=37// alto de salida
       //obtengo informacion del archivo
       
list($width_s$height_s$type$attr) = getimagesize($nombre_archivo$info2); 
       
$gd_s imagecreatefromjpeg($nombre_archivo); // recurso gd para el origen
       
$gd_d imagecreatetruecolor($width_d$height_d); // recurso gd para la salida
       //desactivo el procesamiento automatico de alpha
       
imagealphablending($gd_dfalse);
       
//hago que el alpha original se grabe en el archivo destino
       
imagesavealpha($gd_dtrue);
       
imagecopyresampled($gd_d$gd_s0000$width_d$height_d$width_s$height_s); 
       
//redimensiona
       
imagejpeg($gd_d$dest); // graba
       //Se liberan recursos
       
imagedestroy($gd_s);
       
imagedestroy($gd_d);
       
$mensaje="El archivo ha sido cargado correctamente.";
    }else{ 
       
$mensaje="Ocurrio algun error al subir el fichero. No pudo guardarse."
    } 
}
?>
Cunado recupero el nombre del archivo, para crear directorio me lo crea como Array[0], en blanco, generandome los directorios pertinentes pero con el nombra Array.
por ejemplo:
subo archivo: 4215015.jpg
el directorio debe llamarse 4215015 y alli guardar la imagen 4215015.jpg

¿Quien me puede ayudar con esta aplicación, porfavor..?
  #2 (permalink)  
Antiguo 10/09/2009, 11:33
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: extraer extension a nombre de archivo

Probaste haciendo algo como esto?
Código PHP:
$nombre 'test.jpg';
$archivo pathinfo($nombre);
$sinExtension str_replace('.'.$archivo['extension'],'',$nombre);
echo 
$sinExtension
No es la manera mas linda pero funciona =)

Mas informacion de las funciones:
pathinfo()
str_replace()

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 10/09/2009, 11:53
 
Fecha de Ingreso: octubre-2005
Mensajes: 405
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: extraer extension a nombre de archivo

Gracias por la informacion funciono..

Como informacion adicional:
Es posible que cuando grabe la imagen original en el directorio correspondiente, pueda guardarla con esta dimension 139x82. Tumbs medida correcta.

Gracias
  #4 (permalink)  
Antiguo 10/09/2009, 13:49
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: extraer extension a nombre de archivo

Tendrias que redimensionarla antes de guardarla =)

Aca hay un ejemplo.

Ten en cuenta que el codigo que encontraras aca tiene imagejpg y que existe la funcion para png y gif y si no me equivoco la funcion que estan usando ahi esta deprecated... asi que tendrias que usar imagejpeg().

Funciones: imagejpeg(), imagepng(), imagegif()

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:33.