Foros del Web » Programando para Internet » PHP »

Como grabar una imágen

Estas en el tema de Como grabar una imágen en el foro de PHP en Foros del Web. Necesito grabar una imágen de una URL propia a mi servidor. He seguido los ejemplos del Capítulo 20. Manejo de envío de ficheros del manual ...
  #1 (permalink)  
Antiguo 04/01/2003, 18:03
 
Fecha de Ingreso: enero-2003
Mensajes: 1
Antigüedad: 14 años, 11 meses
Puntos: 0
Como grabar una imágen

Necesito grabar una imágen de una URL propia a mi servidor.

He seguido los ejemplos del Capítulo 20. Manejo de envío de ficheros del manual de PHP pero sin éxito.
He realizado pruebas con el formulario y script siguientes:

FORMULARIO:
<form enctype="multipart/form-data" action="graba.php?" method="post">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>

SCRIPT:
<?php
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "pepe.jpg");
} else {
echo "K.O. file upload. Filename: " . $HTTP_POST_FILES['userfile']['name'];
}
?>


Esto funciona si es desde un PC cliente al servidor, pero desde una URL al servidor, el archivo queda grabado con 0 bytes.

(cambiando la función "move_uploaded_file ..." por:
copy($HTTP_POST_FILES['userfile']['tmp_name'], "/place/to/put/uploaded/file");
el resultado es el mismo).

¿Cómo debo hacerlo?
¿hay algún script de ejemplo?
Supongo que debe ser una perogullada de fácil pero estoy en mis pinitos.

Salu2.
  #2 (permalink)  
Antiguo 04/01/2003, 18:44
 
Fecha de Ingreso: diciembre-2001
Mensajes: 348
Antigüedad: 16 años
Puntos: 0
zerone:

Puede ser en ftp:

$host = "ip o nombre del servidor";
$username = "";
$userpasswd = "";
$ftpstream = ftp_connect ($host);
ftp_login ($ftpstream, $username, $userpasswd);
ftp_put ($ftpstream, "nombre_remoto", "nombre_local", FTP_BINARY);

El caso es que me daba error con este código, pero no era el código, era el formulario con un error en el multipart / form-data.

Saludos

RedeX
  #3 (permalink)  
Antiguo 04/01/2003, 19:38
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Creo que la solucion de RedeX solo funciona si la imagen esta en un servidor FTP. Si tu PHP esta configurado para usar 'fopen wrappers', puedes usar las funciones propias de manejo de ficheros (fopen(), ...) pasandoles como nombre de fichero la URL completa (http://www.dominio.com/imagen.gif).

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 09:33.