Foros del Web » Programando para Internet » PHP »

Ayuda al subir imagen...

Estas en el tema de Ayuda al subir imagen... en el foro de PHP en Foros del Web. Hola a todos! Estoy probando un script para subir avatares al servidor. Lo pruebo en mi apache local y me sirve pero en el servidor ...
  #1 (permalink)  
Antiguo 18/02/2004, 13:29
 
Fecha de Ingreso: octubre-2003
Mensajes: 62
Antigüedad: 14 años, 2 meses
Puntos: 0
Ayuda al subir imagen...

Hola a todos!
Estoy probando un script para subir avatares al servidor. Lo pruebo en mi apache local y me sirve pero en el servidor real no me sirve. Este es:

Formulario para subir el avatar:

<input type=file name=archivo enctype=multipart/form-data>

Programacion:

if($archivo != "" ) {
$partes = explode(".",$archivo) ;
$a = count($partes) - 1 ;
if($partes[$a] != "gif" && $partes[$a] != "jpg" && $partes[$a] != "png" && $partes[$a] != "bmp" ) { $error = "Sólo se permiten archivos .gif, .jpg, .png y .bmp <br>" ; }
if($archivo_size >= 100000 ) { $error = "El archivo debe pesar menos de 100 Kb.<br>" ; }
if($error) {
echo "
<p>Error en el Avatar<br>
$error
" ;
exit ;
}
copy($archivo,"varios/avatares/$datos[id].$partes[$a]") ;
$descarga = 1 ;
move_uploaded_file($archivo,"varios/avatares/$datos[id].$partes[$a]") ;
}

Y me aparece este error:

Warning: copy(D:\\Mis Documentos\\varios\\avatares\\avatar\\1.gif): failed to open stream: No such file or directory in /home/cornamen/public_html/ueditar.php on line 43


Alguien sabe que quiere decir o donde esta el error? La linea 43 del error dice esto:

copy($archivo,"varios/avatares/$datos[id].$partes[$a]") ;

Les agradezco mucho su ayuda, hasta luego!
  #2 (permalink)  
Antiguo 18/02/2004, 14:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Fijate en la ruta del error que da en copy() ..

PHP al subir tu archivo por HTTP (por tu formulario con ese campo file) ..sube a un directorio "temporal" donde va a quedar hasta que decidas que hacer con el .. si leerlo, copiarlo . moverlo .. etc.

Ese nombre y ruta temporal lo obtienes con la propiedad "tmp_name" ..

$archivo_tmp_name

Te recomiendo usar en lugar de copy() la función move_uploaded_file() (se usa exactamente igual).

Revisa la documentación de PHP al respecto .. sobre todo para usar métodos seguros para tu Upload ($_FILES['archivo']['propiedad'] en lugar de $archivo como global ..)

http://www.php.net/manual/en/features.file-upload.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 18/02/2004, 15:03
 
Fecha de Ingreso: octubre-2003
Mensajes: 62
Antigüedad: 14 años, 2 meses
Puntos: 0
Hola! muchas gracias por tu respuesta, el error ya dejo de salir, pero hay un problemilla, y es que cuando se sube una imagen con un nombre que ya existe, no se remplaza y queda la misma imagen como avatar, y yo quisiera que se remplazara. Como se puede hacer eso?

Gracias de nuevo
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 17:37.