Foros del Web » Programando para Internet » PHP »

enviar imagen por formulario desde url

Estas en el tema de enviar imagen por formulario desde url en el foro de PHP en Foros del Web. Hola, antes que nada quiero agradecer a todos por su ayuda, llevo tiempo revisando consultas en ésta web y la encuentro realmente muy últil. GRACIAS ...
  #1 (permalink)  
Antiguo 14/01/2009, 08:22
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
enviar imagen por formulario desde url

Hola, antes que nada quiero agradecer a todos por su ayuda, llevo tiempo revisando consultas en ésta web y la encuentro realmente muy últil. GRACIAS GRACIAS

Escribo porque necesito cargar una imagen en un input=file de un formulario para copiarla en un servidor de una web externa. Hasta aqui, todo bien, solo que el origen de la imagen no es un archivo local, sino un archivo que está en una Url
Buscando encontré este script que copia el archivo de origen desde una url

Cita:
function recibe_imagen ($url_origen,$archivo_destino){
$mi_curl = curl_init ($url_origen);
$fs_archivo = fopen ($archivo_destino, "w");
curl_setopt ($mi_curl, CURLOPT_FILE, $fs_archivo);
curl_setopt ($mi_curl, CURLOPT_HEADER, 0);
curl_exec ($mi_curl);
curl_close ($mi_curl);
fclose ($fs_archivo);
}

pero no me sirve porque NO tengo un archivo de destino donde volcar esos datos, ni permisos para hacerlo ya que la web donde quiero cargar la imagen no me pertenece. Pensé simular localmente un form que levante dinámicamente la imágen y la envíe via post.
ahora bien, como hago con el input file?
el Input file no admite value
como texto tampoco consigo subirlo...
con qué tipo de control puedo reemplazarlo?
a lo mejor lo que quiero hacer es una burrada... pero si alguien sabe como hacerlo
Gracias otra vez
  #2 (permalink)  
Antiguo 14/01/2009, 08:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: enviar imagen por formulario desde url

con formularios, imposible así...

piensa.... si el server escribe el formulario, y ¿se envía al mismo server?? ¿¿porque no evitar esta transacción???

debes usar cURL como hasta ahora.... y leer su información binaria, una ves así...

pues... escribes el archivo en tu servidor, ¿listo??


PDTA: por favor, no repitas temas... se coherente!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 14/01/2009, 08:42
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: enviar imagen por formulario desde url

Hola pateketrueke, creo que no he sabido explicarme bien...
el archivo necesito copiarlo en un servidor que no es mío.
Para esto en esa web hay un form del que puedo leyendo el codigo de fuente, reproducirlo y ejecutarlo localmente para realizar el envío. Para cargar imágenes, éste form tiene un input file con su botón de examinar para que puedas seleccionar el archivo local y postearlo
Ahora bien, aquí el problema, la imagen no la tengo guardada localmente sino que está en una url
(www.porejemplo.com/imagen.jpg)
Entonces lo que necesito hacer es reprogramar el form para que levante la foto desde el url y lo inyecte (?) en el input file o como se deba de hacer, que es lo que no sé
Gracias, por tu respuesta
  #4 (permalink)  
Antiguo 14/01/2009, 10:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: enviar imagen por formulario desde url

volvemos a lo mismo... con cURL puedes enviar paquetes POST, de modo que simular el formulario es innecesario...

solo has tu lectura binaria, y luego la posteas hacia tu otro server... usando cURL

lo digo, por que de ninguna manera es posible inyectar el value (como decías) al <input type="file"/> ya que sería una falla de seguridad..


revisa bien el manual de PHP ...

http://php.net/curl
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 14/01/2009, 10:41
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: enviar imagen por formulario desde url

Cita:
solo has tu lectura binaria, y luego la posteas hacia tu otro server... usando cURL
Hola Pateketrueke: es que el otro server no es mío, no tengo permisos para crear un archivo
la única posibilidad de grabar un registro en ese server es utilizando el formulario que han puesto a esos efectos.
El input type="file" comprendo perfectamente que por cuestiones de seguridad no se pueda manipular, pero me preguntaba que pasa si reemplazo éste controlador por algún otro que si me permita pasar el jpg en el formulario de la web...

lo que necesito concretamente es leer un jpg desde una url y meterlo en un form dentro de algún control
mil gracias otra vez!!
  #6 (permalink)  
Antiguo 14/01/2009, 10:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: enviar imagen por formulario desde url

Tal como te indica Paketetrueke:

1.- Creas el objecto cURL y pides la imagen desde www.otro.com/imagen.jpg, la almacenas en una variable temporal.
2.- Creas otro request cURL y construyes tu Query String, y pasas tambien la imagen en binario (lee la documentación para cURL).
3.- Haces el envio y lees la respuesta.

Todo esto lo haces sin formularios o HTML, ya que toda la logica la manejas en PHP.

Saludos
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 21:50.