Foros del Web » Programando para Internet » PHP »

Problemas con permisos 0777

Estas en el tema de Problemas con permisos 0777 en el foro de PHP en Foros del Web. Hola amigos, saludos a todos... Tengo un problemita que no se si sera porque estoy en localhost o no se porque??? quiero subir una imagen ...
  #1 (permalink)  
Antiguo 03/01/2007, 20:44
Avatar de lrunge  
Fecha de Ingreso: agosto-2005
Ubicación: En algun lugar de Caracas
Mensajes: 165
Antigüedad: 19 años, 3 meses
Puntos: 4
Problemas con permisos 0777

Hola amigos, saludos a todos...

Tengo un problemita que no se si sera porque estoy en localhost o no se porque???

quiero subir una imagen por medio de un form de esta manera:

Código PHP:
$destino 'fotos' 
move_uploaded_file $_FILES 'imagen' ][ 'tmp_name' ], $destino '/' $_FILES 'imagen' ][ 'name' ]); 
Funciona de maravilla!!! el problema es cuando quiero cambiar el nombre de la imagen, por un nombre que yo escoja (cambiando esto: $_FILES [ 'imagen' ][ 'name' ];) me da este error:

Warning: move_uploaded_file(fotos) [function.move-uploaded-file]: failed to open stream: Permission denied in C:\...\subir.php on line 6

Porque con el nombre original de la imagen si puedo subir, y al cambiarselo no me deja por razones de permiso?

Como podria hacer, agradeceria al que pueda ayudarme

Salu2
__________________
"La sencillez de una respuesta, sera inversamente proporcional a su explicacion" Luis Runge

Última edición por lrunge; 03/01/2007 a las 22:24
  #2 (permalink)  
Antiguo 04/01/2007, 07:33
Avatar de lrunge  
Fecha de Ingreso: agosto-2005
Ubicación: En algun lugar de Caracas
Mensajes: 165
Antigüedad: 19 años, 3 meses
Puntos: 4
Re: Problemas con permisos 0777

Bueno, reformulo mi pregunta... com hago para cambiar el nombre del archivo que estoy subiendo???

Lo estoy subiendo por medio de un formulario, de esta manera:

Código PHP:
$destino 'fotos' ;  
move_uploaded_file $_FILES 'imagen' ][ 'tmp_name' ], $destino '/' $_FILES 'imagen' ][ 'name' ]); 
Salu2
__________________
"La sencillez de una respuesta, sera inversamente proporcional a su explicacion" Luis Runge
  #3 (permalink)  
Antiguo 04/01/2007, 08:36
Avatar de blakeyed  
Fecha de Ingreso: marzo-2004
Ubicación: Ahora mismo, Málaga
Mensajes: 78
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: Problemas con permisos 0777

Tienes permiso de escritura en el directorio $destino."/" ?¿
__________________
Saludos

Gaspar Fernández
Poesía Binaria
  #4 (permalink)  
Antiguo 04/01/2007, 09:54
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problemas con permisos 0777

um, por lo que veo intentas cambiar el nombre del archivo...
$_FILES [ 'imagen' ][ 'name' ] es una variable de solo lectura, no puede modificarse y contiene el nombre original de la imagen.
lo que debes ahcer es en el move_uploaded_file() poner otro nombre
ejemplo:
$nombre="mi_imagen.jpg";
move_uploaded_file($_FILES [ 'imagen' ][ 'tmp_name' ], $destino. "/" . $nombre);

tambien deberias ahcer una comprobacion if,para asegurarte que se sube correctamente:
if(move_uploaded_file(...)){
//se subio correctamente
}
else{
echo "ERROR AL SUBIR";
}
  #5 (permalink)  
Antiguo 04/01/2007, 09:59
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problemas con permisos 0777

Otro posible error es que no reibas nada es decir $_FILES['imagen'] No contenga nada. Comprueba que en el formulario del que recibes la imagen el formulario tiene puesta la propiedad:
<form name=".." method="POST" enctype="multipart/form-data">
y que el name delinput type file sea imagen y no Imagen, estas funciones son sensibles a mayusuclas y minusculas, al menos en mi servidor.
<input type="file" name="imagen">
  #6 (permalink)  
Antiguo 04/01/2007, 11:12
Avatar de lrunge  
Fecha de Ingreso: agosto-2005
Ubicación: En algun lugar de Caracas
Mensajes: 165
Antigüedad: 19 años, 3 meses
Puntos: 4
Re: Problemas con permisos 0777

Cita:
lo que debes ahcer es en el move_uploaded_file() poner otro nombre
ejemplo:
$nombre="mi_imagen.jpg";
move_uploaded_file($_FILES [ 'imagen' ][ 'tmp_name' ], $destino. "/" . $nombre);
Sip, eso mismo trate de hacer y me daba el mismo error... Warning: move_uploaded_file(fotos) [function.move-uploaded-file]: failed to open stream: Permission denied in C:\...\subir.php on line 6


Cita:
Otro posible error es que no reibas nada es decir $_FILES['imagen'] No contenga nada.
Eso anda de maravilla, si no cambio el nombre de la imagen, la sube perfectamente con su nombre original... el problema viene es cuando le cambio el nombre (de la manera que me dices)

No se si sea porque estoy trabajando en localhost... Pero al crear la carpeta con MKDIR, la creo con permisos 0777..

Si tengo chmod 777, porque me dice Permission denied ???

Saludos
__________________
"La sencillez de una respuesta, sera inversamente proporcional a su explicacion" Luis Runge
  #7 (permalink)  
Antiguo 04/01/2007, 14:12
Avatar de blakeyed  
Fecha de Ingreso: marzo-2004
Ubicación: Ahora mismo, Málaga
Mensajes: 78
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: Problemas con permisos 0777

Una cosilla, el archivo sobre el que intentas escribir existe en $destino."/" ¿?
En el caso de que exista, tiene este también permisos +r+w ¿?
__________________
Saludos

Gaspar Fernández
Poesía Binaria
  #8 (permalink)  
Antiguo 04/01/2007, 17:01
Avatar de lrunge  
Fecha de Ingreso: agosto-2005
Ubicación: En algun lugar de Caracas
Mensajes: 165
Antigüedad: 19 años, 3 meses
Puntos: 4
Re: Problemas con permisos 0777

Creo que ya lo resolvi... el problema es que estoy cambiando

move_uploaded_file ( $_FILES [ 'imagen' ][ 'tmp_name' ], $destino . '/' . $_FILES [ 'imagen' ][ 'name' ]);

por esto:

move_uploaded_file ( $_FILES [ 'imagen' ][ 'tmp_name' ], $destino . '/' . $nombre_de_la_imagen);

El problema esta en que por ningun lado estoy diciendo la extension del archivo y en vez de subir una imagen del tipo imagen.jpg, sube inmagen(Sin extension)

Lo que se me ocurre es agregar

$_FILES['imagen']['type'] que me da como resultado MINE (image/jpg)
y con una funcion, cambiar el image/jpg por .jpg y asi con todos las extensiones de imagenes conocidas.

Lo hice manualmente y me funciono... ahora vere si con un poco de programacion, funciones e IFs.. me funcione

Muchas gracias por su ayuda!!!

Salu2
__________________
"La sencillez de una respuesta, sera inversamente proporcional a su explicacion" Luis Runge
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 14:46.