Foros del Web » Programando para Internet » PHP »

Safe mode

Estas en el tema de Safe mode en el foro de PHP en Foros del Web. Hola, estoy subiendo imágenes a carpetas con todos los permisos (777) desde el navegador, pero me da el error Warning: copy(): SAFE MODE Restriction in ...
  #1 (permalink)  
Antiguo 28/01/2005, 05:16
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 20 años
Puntos: 0
Safe mode

Hola, estoy subiendo imágenes a carpetas con todos los permisos (777) desde el navegador, pero me da el error
Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 10066 is not allowed to access /home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/imagenes/chicas/17 owned by uid 48 in /home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/panel/imagen_anuncio.php on line 35

Mi código es este:
Código PHP:
                                if(copy ($imagen,"/home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/imagenes/chicas/".$id."/".$imagen_name)) 
Mil gracias por su tiempo.
  #2 (permalink)  
Antiguo 28/01/2005, 06:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En modo seguro .. no puedes usar copy() para mover un archivo que subes por HTTP (upload) .. Debes usar la función move_uploaded_file() en su lugar .. Esa es la única función que está permitida para usarse para tal fin en "safe mode".

Un saludo,
  #3 (permalink)  
Antiguo 28/01/2005, 06:57
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 20 años
Puntos: 0
qué significa eso de modo seguro, cómo y donde se configura?
Gracias cluster.
  #4 (permalink)  
Antiguo 28/01/2005, 08:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En tu php.ini o bien haciendo un phpinfo() lo puedes ver bajo la directiva:

safe_mode = ON u OFF

Te recomiendo leer al respecto:
http://www.php.net/features.safe-mode


Un saludo,
  #5 (permalink)  
Antiguo 28/01/2005, 08:45
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 20 años
Puntos: 0
Ahora al utilizar el move_upload_file me da el error siguiente

Warning: move_uploaded_file(/home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/imagenes/chicas/17): failed to open stream: Is a directory in /home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/panel/imagen_anuncio.php on line 36

Warning: move_uploaded_file(): Unable to move '/tmp/phpDyz5yN' to '/home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/imagenes/chicas/17' in /home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/panel/imagen_anuncio.php on line 36
  #6 (permalink)  
Antiguo 28/01/2005, 08:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues ahí te dice bien claro el error "...../17" es un directorio .. debes asignar un nombre de archivo!!!

De hecho ya lo haces en:
if(copy ($imagen,"/home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/imagenes/chicas/".$id."/".$imagen_name))

ese $image_name tal vez no tenga valor .. por eso tu ruta es interpretada como una ruta . revisalo.

Un saludo,
  #7 (permalink)  
Antiguo 28/01/2005, 18:10
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 20 años
Puntos: 0
Cierto, Cluster error de novatillo :$

Ahora que lo he puesto todo bien, me da otro error
Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 10066 is not allowed to access /home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/imagenes/chicas/18 owned by uid 48 in /home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/panel/imagen_anuncio.php on line 36

Warning: copy(/home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/imagenes/chicas/18/01.jpg): failed to open stream: No such file or directory in /home/httpd/vhosts/miraycontacta.com/httpdocs/preliminar/panel/imagen_anuncio.php on line 36

Creo que se debe a lo del modo safe, las carpetas en las q meto las imagenes las creo automáticamente con otro archivo php y les doy chmod 0777, pero curiosamente las creo desde el FTP y les doy permiso 0777 me permiten subir los archivos. Esto es de locos.
  #8 (permalink)  
Antiguo 29/01/2005, 04:47
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 20 años
Puntos: 0
He investigado duro y parece que el probleama reside en que al pasar la imagen por una carpeta temporal se le atribuye un usuario distinto del de la carpeta que se crea con la aplicación y el safe mode me impide esa mezcla de usuarios.

Alguién conoce alguna solución?
Gracias
  #9 (permalink)  
Antiguo 30/01/2005, 14:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Por tus ùltimas pruebas se vé que no has usado la funciòn move_uploaded_file() .. usala y luego nos comentas los errores que puedas obtener.

Desde ya te comento que PHP .. cuando ejecuta acciones en el S.O. tiene cierto usuario (dependiendo de la instalaciòn el en ese servidor .. puede ser "Apache" o "Nobody") .. NO es el mismo usuario que usas para subir tus archivos o verlos por FTP .. he de ahì que obtengas errores sobre usuarios.


Un saludo,
  #10 (permalink)  
Antiguo 31/01/2005, 13:33
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 2 meses
Puntos: 0
Perdón que moleste pero es que yo tengo un problma algo parecido y es que tengo que subir imagenes a un directorio al cual doy desde ftp permisos 777, el caso es que no consigo que los suba y en local va bien, he mirado el phpini del servidor y me pone el safe_mode = OFF uso esto para subir las imagenes
Código PHP:
 if (move_uploaded_file($_FILES['userfile']['tmp_name'], "inmotemp/".$nombre_archivo)){
   echo 
"<br>El archivo CON LA FOTO1 ha sido cargado correctamente en "."in....../".$nombre_archivo;
    
$carga1=1;} 
y me arroja warnings de error
Código PHP:
Warningmove_uploaded_file(in..../Copia.JPG): failed to open streamNo such file or directory in /../../../../....s.php on line 193

Warning
move_uploaded_file(): Unable to move '/tmp/phpFcioJu' to 'inmotemp/Copia.JPG' in /home/campinos/public_html/panelinmobiliaria/recojodatos.php on line 193 
y en la línea 193 tengo lo que puse arriba de if (move .............
la ruta está bien puesta, le digo que me suba la imagen a una carpeta para que luego me haga otra cosa con ella pero no consigo que me la suba, puede tener algo que ver con lo que estais tratando del modo safe y de disntinto usuario?, agradeceré cualquier idea al respecto, gracias y perdón por la molestia.....

Última edición por mon; 31/01/2005 a las 13:34
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:12.