PHP - Subir una imagen a traves del explorador

 
Vista:

Subir una imagen a traves del explorador

Publicado por raul (49 intervenciones) el 14/07/2005 22:32:01
Buenas, quiero q a traves de un elemento de un formulario poder subir una imagen, el problema es que tengo un elmento input type="fyle" y al lado un boton "subir" y quiero que al pulsar este boton llamar a una funcion para que me suba la imagen.

<td width="250" align="right">
<input type="file" name="filefoto0" align="right" class="text" value="">
<input name="subirimagen" align="right" type="button" class="text" value="Subir" onClick="llamar a funcion q suba la imagen del type=file">
</td>

Estos elementos estan dentro de un formulario y no quiero utilizar el action del formulario para hacer esto, he visto varios ejemplos y todos se basan en variables POST que pasa el formulario. No se como puedo pasar los datos q me interesan de esta forma.

Queria controlar que el archivo fuese un jpg y q el tamaño no fuese superior a 90000 KB.

En ejemplos que he visto lo controlan con las variables

is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])

$HTTP_POST_FILES['archivo']['size'] < 85000

$HTTP_POST_FILES['archivo']['type']=="image/jpg"

copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);

Tb habia pensado en poner un formulario para el input type=file pero no se pueden anidar formularios con lo q creo q asi seria imposible.

Un saludo. Gracias por vuestra ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Subir una imagen a traves del explorador

Publicado por Mike79 (669 intervenciones) el 16/07/2005 19:37:51
Con la etiqueta:

<input type="hidden" name="MAX_FILE_SIZE" value="1000">

Puedes restringuir el tamaño de los archivos que envia desde el navegador, aunque es muy facil que los navegador ignoren este limite asi que tambien checalo del lado del servidor, asi como habias dicho tu.

¿Para que quieres subir primero la imagen, antes de los demas datos?
Páginas como por ejemplo hotmail, lo que hacen es que guardan todos los datos del formulario en una tabla temporal, y luego restauran estos datos para dar la sensacion de que subiste el archivo, pero aun no has dado aceptar a lo demas.

Podrias hacer algo muy parecido, que al dar aceptar, le des submit a tu formulario, y que mande a llamar a la página para subir la imagen, y esa página te arroje otra ves todo el formulario, pero con todos los campos llenos, tal como los dejaste, pero con un indicador que la imagen ya esta arriba.

Con JavaScript puedes cambiar la propiedad action del formulario y puedes simular el evento submit.

Saludos!
-
Miguel Angel
Mike79

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar