Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] escoger una imagen de la compu y enviarla a un HTML

Estas en el tema de escoger una imagen de la compu y enviarla a un HTML en el foro de PHP en Foros del Web. Hola todos, Tengo un formulario que muestra un listado de pilotos y camiones a los que les asigna un numero de turno segun las cargas ...
  #1 (permalink)  
Antiguo 11/09/2017, 14:26
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Exclamación escoger una imagen de la compu y enviarla a un HTML

Hola todos,

Tengo un formulario que muestra un listado de pilotos y camiones a los que les asigna un numero de turno segun las cargas que tengan la empresa. Sin embargo hay ocasiones que hay pilotos nuevos, camiones nuevos o ambos. El hecho es que cuando un piloto no aparece en el listado debo agregarlo y esto incluye la imagen de la licencia de conducir.

Todo marcha bien, excepto por el hecho que en la hoja que debe imprimirle (que es un HTML que carga los detalles de la carga desde una MySQL BD) no encuentro como enviarle la imagen que contiene la licencia y que por supuesto no ha sido subida al servidor. El form ya tienen definido enctype=multipart/form-data

He aqui la parte donde se supone que asigno donde el HTML me localice la imagen en la compu, que se que no esta funcionando.
Código PHP:
$NombreChofer $_POST['TXTdriver'];
$ChoferNace $_POST['TXTdrv_dob'];
$ChoferLicenciaN $_POST['TXTdrv_license'];
$ChoferLicTipo $_POST['TXTdrv_licensetype'];
$ChoferLicEmite $_POST['TXTdrv_emisor'];
$ChoferLicPais $_POST['LSTdrv_pais'];
$ChoferTelefono $_POST['TXTdrv_phone'];
$ChoferA_Licencia $_FILES['LSTdrv_lic']['tmp_name'].'/'.$_FILES['LSTdrv_lic']['name']; 
Despues levanto un PHP con la orden usando JavaScript asi, sin embargo la variable $ChoferA_Licencia no lleva informacion de la imagen que pueda usar el archivo en el
Código PHP:
echo "<script>window.open('ordenes/frm_TRANSgisa_cl00001_.php?&drv=".$NombreChofer."&drvlic=".$ChoferA_Licencia."&drvdob=".$ChoferNace."&drvlicense=".$ChoferLicenciaN."&drvlicensetype=".$ChoferLicTipo."&drvemi=".$ChoferLicEmite."&drvpai=".$ChoferLicPais."&drvpho=".$ChoferTelefono."&porsedp=0','_blank');</script>"
El PHP que consulta en la BD esta funcionando bien, todo lo genera y asigna perfectamente, excepto que no toma la imagen seleccionada.
Código PHP:
<?php 
if ($_GET['porsedp']=='1'){
    
$DirectorioDeImagenes '../clientesdoc/'; }
else {
    
$DirectorioDeImagenes '';
}
?>
<img width=621 src="<?php echo $DirectorioDeImagenes.$_GET['drvlic']?>">
Agradezco de antemano!!
  #2 (permalink)  
Antiguo 11/09/2017, 14:40
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: escoger una imagen de la compu y enviarla a un HTML

Saludo

Bueno, eso puede ser por la concatenación de tmp_name y name del array $_FILES.

Esto porque si te fijas, el primero trae todo (ruta y nombre temporal) y el segundo solo el nombre (original)

Así que:
1. Intenta solo con el tmp_name
2. Si te funciona, lo mejor es que antes de dar valor a
$ChoferA_Licencia muevas el archivo subido a un directorio (licencias puede ser) y lo renombres con el nombre original, o si hay nombres repetidos, pues mejor genera un nombre único y ya esta.

Y claro, ese nombre nuevo es el que enviarías a la variable
$ChoferA_Licencia junto al directorio nuevo.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 11/09/2017, 21:12
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Respuesta: escoger una imagen de la compu y enviarla a un HTML

Cita:
Iniciado por mortiprogramador Ver Mensaje
Saludo

Bueno, eso puede ser por la concatenación de tmp_name y name del array $_FILES.

Esto porque si te fijas, el primero trae todo (ruta y nombre temporal) y el segundo solo el nombre (original)

Así que:
1. Intenta solo con el tmp_name
2. Si te funciona, lo mejor es que antes de dar valor a
$ChoferA_Licencia muevas el archivo subido a un directorio (licencias puede ser) y lo renombres con el nombre original, o si hay nombres repetidos, pues mejor genera un nombre único y ya esta.

Y claro, ese nombre nuevo es el que enviarías a la variable
$ChoferA_Licencia junto al directorio nuevo.
Gracias mortiprogramador,

Pero eso es lo mismo que "upload" la imagen al servidor web, cierto? y justamente es lo que quiero evitar porque es información temporal.

Aunque después de comentar en el foro me di cuenta que si no existen debían ser agregados a la BD porque igual a la empresa le sirve esa información. Voy a reunirme con la oficina a cargo y decidir si aprovecho para de una vez cargarles el piloto y el camión.
  #4 (permalink)  
Antiguo 11/09/2017, 21:43
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: escoger una imagen de la compu y enviarla a un HTML

Saludo

Ah, bueno, eso ya es otro asunto.

Si es temporal, entonces con el valor de tmp_name tal vez sea suficiente.

Sin embargo, tal vez a la oficina le interese más adelante
tener a la mano esa documentación, lo mejor sería almacenarla,
pero si no les parece, bueno, eso ya es agua de otro rio.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 12/09/2017, 11:55
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Respuesta: escoger una imagen de la compu y enviarla a un HTML

Cita:
Iniciado por mortiprogramador Ver Mensaje
Saludo

Ah, bueno, eso ya es otro asunto.

Si es temporal, entonces con el valor de tmp_name tal vez sea suficiente.

Sin embargo, tal vez a la oficina le interese más adelante
tener a la mano esa documentación, lo mejor sería almacenarla,
pero si no les parece, bueno, eso ya es agua de otro rio.
Bueno, no funciona con el tmp_name, ha de ser porque no trae cargado un nombre con extension JPG...

Vamos a almacenar la informacion, justo para lo que comentabamos... mejor que este almacenada porque sirve.

Sin embargo es buen ejercicio para cualquier necesidad, asi que dejare abierto el tema por si alguien tiene la solucion. En lo personal ya lo vi en una pagina vere si logro ver como lo hace.
  #6 (permalink)  
Antiguo 12/09/2017, 13:19
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: escoger una imagen de la compu y enviarla a un HTML

Saludo

Volví a revisar el asunto, y se me cruzaron los cables porque
yo estoy haciendo uso de un framework que ya gestiona más fácil la subida de archivos.

Pero revisando, claro, el tmp_name lo deja con una extensión tmp.
en cuyo caso el asunto es o hacer un replace de la extensión,
o renombrarlo completamente con el nombre original y ya esta.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #7 (permalink)  
Antiguo 12/09/2017, 14:45
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: escoger una imagen de la compu y enviarla a un HTML

Una opcion que no lo probe podria ser esta

tmp_img.php
Código PHP:
Ver original
  1. <?php
  2. header("Content-Type: image/jpeg");
  3. ?>

Entonces en tu upload

$tmp = $_FILES["archivo"]["tmp_name"];
<img src="tmp_img.php?img=$tmp" />

Ahora CREO y como no lo probe puede que el script apenas termina de ejecutarse el temporal es eliminado puede haber un conflico ahi, prueba tu
  #8 (permalink)  
Antiguo 14/09/2017, 11:23
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Respuesta: escoger una imagen de la compu y enviarla a un HTML

Mmmm

Revisando el contenido del tmp... es un path sin nombre de archivo al final.

Voy a ver la opción que me dan ustedes usando el imagecreate, no importa que se borre la imagen puesto que el usuario generalmente tienen en su computadora la original todo el tiempo.

Al final no están convencidos de que se cree el piloto desde este modulo porque parece que el departamento a cargo tiene un proceso antes de subir los datos al sistema. Es cuestión de ver que el usuario que ingrese la información sea suficientemente responsable.
  #9 (permalink)  
Antiguo 14/09/2017, 22:17
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: escoger una imagen de la compu y enviarla a un HTML

Saludo

Bueno, yo estuve probando la idea de la creación del jpg con la función,
pero al parecer (o al menos a mi no me funcionó) cuando el archivo
esta de forma temporal, la función no logra mostrar el contenido.

Por esto mismo, lo que hice fue bajar el archivo al directorio temporal
y renombrarlo, y de ese modo si muestra, en cuyo caso, pues
para esa gracia mejor bajarlo y mostrarlo directo, y una vez que
salgan de la vista en la que estan, borrar el archivo.

__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #10 (permalink)  
Antiguo 19/09/2017, 12:17
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
De acuerdo Respuesta: escoger una imagen de la compu y enviarla a un HTML

Cita:
Iniciado por mortiprogramador Ver Mensaje
Saludo

Bueno, yo estuve probando la idea de la creación del jpg con la función,
pero al parecer (o al menos a mi no me funcionó) cuando el archivo
esta de forma temporal, la función no logra mostrar el contenido.

Por esto mismo, lo que hice fue bajar el archivo al directorio temporal
y renombrarlo, y de ese modo si muestra, en cuyo caso, pues
para esa gracia mejor bajarlo y mostrarlo directo, y una vez que
salgan de la vista en la que estan, borrar el archivo.

Si tenes razón, no funciona con la creación del JPG. Llegué a la misma conclusión.

Crearé el registro con la gestión, subiré la imagen y después de un tiempo algún trigger que la borre con todo y las imagenes. De esta manera el HTML/PHP que las llama para llenar el formulario las tendrá disponible.

Etiquetas: formulario, html, javascript, mysql, nombre, variable
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:36.