Foros del Web » Programando para Internet » PHP »

Http_post_files

Estas en el tema de Http_post_files en el foro de PHP en Foros del Web. Hola a todos Tengo una duda referente a guardar un archivo tipo 'jpg' en el servidor de la web. Deseo que se renombre el archivo ...
  #1 (permalink)  
Antiguo 13/02/2011, 15:25
Avatar de pmike  
Fecha de Ingreso: marzo-2004
Ubicación: Barcelona
Mensajes: 313
Antigüedad: 20 años
Puntos: 7
Http_post_files

Hola a todos

Tengo una duda referente a guardar un archivo tipo 'jpg' en el servidor de la web.

Deseo que se renombre el archivo como 'imagen1.jpg'
Tengo un formulario que me enlaza con php y el problema está en la línea donde está el if

Código PHP:
//siendo siguientes  variables 

$nombre_archivo $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo $HTTP_POST_FILES['userfile']['size'];
 
$ext substr($tipo_archivostrrpos($tipo_archivo'.')); 
$ArchivoCambioimagen1;
$destino libros;


 if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $destino '/' $ArchivoCambio $ext)) 
La cuestion es que el archivo se renombra bien por imagen1 y lo sube bien pero su extension desconocida.

alguna sugerencia

gracias

Un saludo
__________________
www.visitaspirata.com
  #2 (permalink)  
Antiguo 13/02/2011, 16:29
davidbrepe
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Http_post_files

si únicamente van a ser archivos .jpg entonces la modifica la variable $ext por esto

Código PHP:
$ext '.jpg'
a ver si te vale!
  #3 (permalink)  
Antiguo 13/02/2011, 16:48
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Http_post_files

$HTTP_POST_FILES esta declarada obsoleta se usa $_FILE en el link que te deje que es la pagina oficial esta informado esto.

Ahora con el problema de la extensión cuando tu traes el $_FILE['campo_archivo']['name']; tienes el nombre original del archivo incluyendo la extension, que pudieras hacer un explode de este para obtener la extension ejemplo
Código PHP:
Ver original
  1. $nombre = explode('.',$_FILE['campo_archivo']['name'];
  2. $ext = $nombre[1];
de esta manera obtendrias la extension espero aberte ayudado, incluso en el type de esta variable se obtienen los tipo de variable
Cita:
[type] => image/png
lo que tendrias es que hacer el explode directamente a esta, yo hice una clase para subir archivos aunque hay bastantes la hice sencillita para un proyectico que tenia y la publique en un articulo por si gustas verla, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Última edición por carlos_belisario; 13/02/2011 a las 16:53
  #4 (permalink)  
Antiguo 15/02/2011, 09:44
Avatar de pmike  
Fecha de Ingreso: marzo-2004
Ubicación: Barcelona
Mensajes: 313
Antigüedad: 20 años
Puntos: 7
Respuesta: Http_post_files

Hola

Perdonar que no hubiese escrito antes.

Si es verdad 'davidbrepe' lo más facil hubiese sido directamente colocar la extensión

$ext = '.jpg';

Pero quería leer la extension el archivo subido.

Según 'carlos_belisario' era la forma más correcta aunque lo modifique así

$nombre = explode('.',$nombre_archivo);

$ext = '.' . $nombre[1];

faltaba concatenar el '.' del string del formato de la extensión.

Gracias a los dos

Ah mire la clase que hiciste, y me pareció interesante, yo he programado clases en c++, y la verdad son más laboriosas y tediosas que en PHP.
__________________
www.visitaspirata.com

Etiquetas: Ninguno
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 16:23.