Foros del Web » Programando para Internet » PHP »

Leer archivo desde el HD del server y luego hacer un post

Estas en el tema de Leer archivo desde el HD del server y luego hacer un post en el foro de PHP en Foros del Web. Hola a todoso: Tengo el siguiente problema: En mi servidor con Debian tengo un directorio en www con imágenes, lo que estoy intentando hacer es: ...
  #1 (permalink)  
Antiguo 07/04/2009, 17:25
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 11 años, 9 meses
Puntos: 0
Leer archivo desde el HD del server y luego hacer un post

Hola a todoso:

Tengo el siguiente problema:

En mi servidor con Debian tengo un directorio en www con imágenes, lo que estoy intentando hacer es:
1. Desde PHP, leer una de esas imágenes del directorio del server
2. Hacer un post a otra página(en el mismo server) con la imágen.

El tema es que si la leo por ejemplo con fopen, o con gd me da o la imagen en si o un apuntador a la imágen, y cuando la tomo luego de hacer el post, no funciona, ya que estuve viendo que los post de FILE son un array....

Muchas gracias por su tiempo.

Saludos.
  #2 (permalink)  
Antiguo 07/04/2009, 17:36
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.978
Antigüedad: 11 años, 4 meses
Puntos: 2192
Respuesta: Leer archivo desde el HD del server y luego hacer un post

No necesitas pasar la imagen en POST, solamente la ruta hacia el archivo y puedes hacer lo que quieras... renombrarla, copiarla, cambiarle tamaño, borrarla, etc.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 07/04/2009, 19:16
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Leer archivo desde el HD del server y luego hacer un post

Hola Triby:

Lo que me comentas ya lo probé, mira éste es el código que estoy usando:

Cita:
$postVars = array(
"encoding" => "iso-8859-15",
"imagen" => "RUTA_A_IMAGEN" //probe con poner la ruta desde /opt/apache/www/ot/imagen/imagen.jpg, /www/ot/imagen/imagen.jpg, ../../www/ot/imagen.jpg
);

$host = $_SERVER["HTTP_HOST"];
$path = "/cgi-bin/proc_perl/submit.cgi";
$data = http_build_query( $postVars );

$fh = fsockopen($host, 80, $errorNumber, $errorString);
$request = "POST ".$path." HTTP/1.1\r\n";
$request.= "Host: ".$host."\r\n";
$request.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0\r\n";
$request.= "Content-Type: application/x-www-form-urlencoded\r\n";
$request.= "Content-Length: ".strlen($data)."\r\n";
$request.= "Connection: close\r\n\r\n";
$request.= $data;

fwrite( $fh, $request );
$response = "";
while( !feof( $fh ) ) {
$response .= fread( $fh, 1024 );
}
fclose( $fh );
echo "Servidor respondio: " . $response;
Como ves es sencillo, luego de setear las variables, las mando con curl, a un script cgi...
Si hago un print desde perl veo perfectamente las variables, la de la imagen veo la ruta que mando desde php, pero desde el cgi me da error, ademas si hago el post a una página php y veo los valores de las variables, la de la imagen me muestra la ruta y no "Array" como mostraría su la subiese mediante un formulario con input type=file

Lo que me recomendaste no me funciona, con el código que posteo....¿Estaré haciendo algo mal?

Alguna otra idea?

Muchas gracias.

Última edición por nanomo; 07/04/2009 a las 19:23
  #4 (permalink)  
Antiguo 07/04/2009, 20:30
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.978
Antigüedad: 11 años, 4 meses
Puntos: 2192
Respuesta: Leer archivo desde el HD del server y luego hacer un post

Cita:
Iniciado por nanomo
veo la ruta que mando desde php, pero desde el cgi me da error
El error que te da es de permisos?

Que es lo que vas a hacer con la imagen en PERL?
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 07/04/2009, 21:29
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Leer archivo desde el HD del server y luego hacer un post

Triby:

SI tomo el post con la ruta desde una página php, y hago un echo $_FILES["imagen"]["name"]; me sale vacio...o sea no muestra nada....

Nose....

Saludos.
  #6 (permalink)  
Antiguo 08/04/2009, 13:20
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.978
Antigüedad: 11 años, 4 meses
Puntos: 2192
Respuesta: Leer archivo desde el HD del server y luego hacer un post

Si, por $_FILES no vas a recibir nada si solo mandas la ruta de la imagen, igual como crees el campo, lo recibes en $_POST, por ejemplo: $_POST['ruta_imagen']

Teoricamente, lo unico que necesitarias hacer es leer la imagen, para lo que tienes varias opciones:
file_exists()
is_file()
copy()
readfile()
... (un largo etc.)

Y regreso con la duda original: Para que necesitas enviar por FILES la imagen si el formulario se va a procesar en el mismo servidor?
__________________
- León, Guanajuato
- GV-Foto
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 07:58.