Foros del Web » Programando para Internet » PHP »

Problema con copy y move_uploaded_file

Estas en el tema de Problema con copy y move_uploaded_file en el foro de PHP en Foros del Web. hola Tengo un problema al subir una imagen al servidor. Cuando lo hago en local me funciona perfecto, sube el archivo, y lo copia en ...
  #1 (permalink)  
Antiguo 05/08/2007, 10:32
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 17 años, 3 meses
Puntos: 2
Problema con copy y move_uploaded_file

hola

Tengo un problema al subir una imagen al servidor. Cuando lo hago en local me funciona perfecto, sube el archivo, y lo copia en la carpeta correspondiente. Al subirlo desde el servidor me sale el siguiente error:

Código PHP:
Warningmove_uploaded_file(.../imagenes/Imagen0348.jpg) [function.move-uploaded-file]: failed to open streamNo such file or directory in /web/htdocs/www.kioner.com/home/fotomiru/administracion/subirfoto.php on line 13

Warning
move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpjfl1YR' to '.../imagenes/Imagen0348.jpg' in /web/htdocs/www.kioner.com/home/fotomiru/administracion/subirfoto.php on line 13 
Pensé que quizá la función move_uploaded_file estaria dehabilitada o algo así y entonces probé de sustituirlo por un copy. Y me salió error:

Código PHP:
Warningcopy(.../imagenes/Imagen0348.jpg) [function.copy]: failed to open streamNo such file or directory in /web/htdocs/www.kioner.com/home/fotomiru/administracion/subirfoto.php on line 13 
¿Es posible que dichas funciones no estén activas en el servidor? ¿Puede ser problema de los permisos de la carpeta? No sé si tendrá algo que ver, pero es un servidor linux.

Dejo el código que estoy usando:

Código PHP:
$nombre_archivo$HTTP_POST_FILES['imagen']['name'];
$tipo_archivo$HTTP_POST_FILES['imagen']['type'];
$tamano_archivo$HTTP_POST_FILES['imagen']['size'];

$destinodirname (".") . "../imagenes/" $nombre_archivo;
if (
move_uploaded_file ($HTTP_POST_FILES ['imagen']['tmp_name'],$destino))
echo (
"ok");
else
echo (
"error inesperado"); 
El move_uploaded_file lo cambio por el copy.

El formulario con el cual envio los datos tiene enctype="multipart/form-data" y el campo con el que subo el archivo se llama "imagen".

No sé que más hacer...

Muchas gracias a todos de antemano.
  #2 (permalink)  
Antiguo 05/08/2007, 10:57
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Problema con copy y move_uploaded_file

Fíjate en el mensaje de error, sobretodo en esto:

Código PHP:
Unable to move '/tmp/phpjfl1YR' to '.../imagenes/Imagen0348.jpg' 
Hay tres puntos antes del directorio imagenes. Esto es el reultado de concatenar el dirname("."), que devuelve un punto, con los siguiente. El sistema no encuentra la ruta donde quieres mover el fichero temporal porque no existe (lo raro es que te funcionara en Windows). Asegúrate de que la ruta hacia tu carpeta de imágenes es correcta y te funcionará. Algo que puede serte útil es usar $_SERVER['DOCUMENT_ROOT'] que te porporciona el directorio base para los scripts de tu host virtual (en este caso parece que es /web/htdocs/www.kioner.com/home o /web/htdocs/www.kioner.com). Con esto ya puedes apuntar a la carpeta de manera absoluta (sin preocupación de cuál es el directorio base).
  #3 (permalink)  
Antiguo 05/08/2007, 12:30
 
Fecha de Ingreso: agosto-2007
Mensajes: 6
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problema con copy y move_uploaded_file

Hola!!!!!
eSPERO ESTO TE SIRVA
nombre del archivo: move_file.php
<?php
#estas son las unicas lineas que necesitas para mover tus archivos
$destino="datos/";#Esta es una carpeta en el ROOTSERVER okis
move_uploaded_file( $HTTP_POST_FILES(['imagen']['tmp_name']), $datos.$HTTP_POST_FILES['imagen']['name'] );
?>
Recuerda que con esto puedes subir todo tipo de archivos, pero ojo si quieres mas de 2MB en adelante, tendras que modificar el php.ini, las variables de
post_max_size = 2M <--Maximo permitido para enviar por metodo POST
upload_max_filesize =8M <--Maximo que puedes cargar por archivo.

Cualquier duda aqui andamos vale
[email protected]
  #4 (permalink)  
Antiguo 05/08/2007, 14:51
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: Problema con copy y move_uploaded_file

GikaJavi muchísimas gracias, ya lo solucioné, era lo del dirname("."). Al final quedó así:

Código PHP:
$destino"../imagenes/" $nombre_archivo
Lo del $_SERVER['DOCUMENT_ROOT'] me parece realmente útil thx ; D

Gracias también a Menvel, tu código es más simple, me lo apunto! y lo de las variables del php.ini no lo sabia : D

Esta tonteria me ha traido dolores de cabeza eh? y joder.. es una chorrada en realidad..

Me alegra haber entrado en esta comunidad.

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 13:07.