Foros del Web » Programando para Internet » PHP »

SOS-Problema gordo en FTP por culpa de mkdir

Estas en el tema de SOS-Problema gordo en FTP por culpa de mkdir en el foro de PHP en Foros del Web. Hola a todos, vereis, estoy con un problema gordo que no se solucionar, estaba haciendo unas pruebas, creando con 'mkdir' un directorio, y dentro de ...
  #1 (permalink)  
Antiguo 30/10/2011, 13:12
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
SOS-Problema gordo en FTP por culpa de mkdir

Hola a todos, vereis, estoy con un problema gordo que no se solucionar, estaba haciendo unas pruebas, creando con 'mkdir' un directorio, y dentro de el poder guardar una foto subida por un usuario, el problema es que al subir la imagen me da un error, que no se puede subir, pero la carpeta si que me la crea, y no se por qué motivo no hay manera ni de acceder a ella ni de borrarla ni de cambiarle los permisos. No puedo deshacerme de ella!! Y estoy con un agobio encima que no veas.

Os comento a ver si alguien me puede ayudar, porque yo ya no se que mas hacer.

Este es el error que me salta en la página nada mas enviar el formulario para subir la imagen:

Cita:

Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 10047 is not allowed to access /var/www/vhosts/dominio.com/httpdocs/imagenes/6 owned by uid 48 in /var/www/vhosts/dominio.com/httpdocs/subir_foto/subir.php on line 18
Por otro lado, al intentar abrir la carpeta con FileZilla:

Cita:
Comando: CWD 5
Respuesta: 550 5: No such file or directory
Error: Error al recuperar el listado del directorio
Miro los permisos y los tengo:"700" leer, escribir, modificar (solo propietario)

Y si intento cambiarlos, no me deja....

Este es el código, de verdad que si llego a saber en el lio que me he metido...

SUBIR.PHP
Código PHP:
<?php
$usuario 
"6";     //$_SESSION['usuario']

$nombre_carpeta "../imagenes/".$usuario;

if(!
mkdir($nombre_carpeta0707true))
{
echo 
'Fallo al crear carpetas...';
}

$nombre "imagen";
$info pathinfo($_FILES[$nombre]['name']);
$uploadfile $nombre_carpeta."/avatar.".$info['extension'];

if (
move_uploaded_file($_FILES[$nombre]['tmp_name'], $uploadfile)) {
echo 
"<img src=".$uploadfile." />";
} else {
echo 
"mal";

?>
Y este es el formulario: (simple simple simple)

Código HTML:
                        
 <form action="subir.php" method="post" enctype="multipart/form-data">
Foto de perfil: <input type="file" name="imagen"><br />
          
<input type="submit" value="Guardar" >
</form></body> 
No entiendo que puede haber pasado, en localhost me funcionaba perfecto, y sin modificar el codigo ni nada de repente me pasa esto....

De verdad que si alguien me dice cualquier cosa, por poco que sea, será de gran ayuda.
  #2 (permalink)  
Antiguo 30/10/2011, 13:18
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: SOS-Problema gordo en FTP por culpa de mkdir

JUAAS pues la llevas guapa amigo. la culpa no es de mkdir si no tuya. cual es tu duda en realidad? borrar el directorio o hacer el script bien?
  #3 (permalink)  
Antiguo 30/10/2011, 13:24
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: SOS-Problema gordo en FTP por culpa de mkdir

¿Culpa mía? Pues no te voy a decir que no lo sea, pero ya que está hecho el daño, tendré que buscar una solución, y por eso pido ayuda, porque estoy perdida.

Mi duda en realidad, es saber por qué se ha producido esto, para no tropezar en la misma piedra dos veces, para aprender algo mas, y también porque pienso que si se de donde ha salido el problema pueda solucionarlo mejor, y hacer el script en condiciones, o configurar la ftp bien, o lo que sea que me esté provocando el error.

Edito para decir que mas o menos ya se por qué se ha producido el error, el mismo error me lo estaba diciendo
Cita:
SAFE MODE Restriction in effect
Y nada, he leido un poquillo y al parecer tengo activado el "Safe Mode", cosa que hasta ahora desconocía... Voy a probar a ver si puedo desactivarlo, aunque me quedan dudas al respecto y no se si esto sería la mejor solución...

Si alguien tiene alguna opinión/solución al respecto, soy todo oidos. Un saludo y gracias.

Última edición por TheScript; 30/10/2011 a las 13:38
  #4 (permalink)  
Antiguo 30/10/2011, 14:26
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: SOS-Problema gordo en FTP por culpa de mkdir

Hola a todos de nuevo, aquí dejo lo que hasta ahora es mi solución, por si alguien en un futuro, con un problema similar, accediera a este mensaje:

Por un lado:
Cita:
¿Cómo borro los directorios que he creado en la ftp y no puedo eliminar ni modificar sus permisos?
De la única manera que he podido, es directamente desde PHP:

Código PHP:
rmdir('/imagenes/5'); // Borra la carpeta "5" que es la que no había manera. 
Hasta ahí bien, solución simple, para tanto agobio con Filezilla y con permisos

Por otro lado me he estado informando, y al parecer NO es aconsejable dejar en off SAFE MODE (el cual se puede consultar con phpinfo() )

Así que esta es una de las pocas soluciones que he encontrado para poder hacer lo que deseo sin problemas, y sin tener que desactivarlo.

Código PHP:

if( ini_get('safe_mode') ) // si el servidor está en modo SAFE MODE ON
{
FtpMkdir("/httpdocs/mis_imagenes","vacaciones");
FtpCopyFile("mis_recuerdos/fotos/playa.jpg","playa.jpg","/httpdocs/mis_imagenes/vacaciones");
}
else 
// si el servidor no está en mode SAFE MODE
{
mkdir("mis_imagenes/vacaciones",0777);
copy ("mis_recuerdos/fotos/playa.jpg","mis_imagenes/vacaciones/playa.jpg");

Esta función, se encuentra mas detallada en este PDF en web, pero se puede descargar:

http://www.shadowsland.com/index2.ph...do_pdf=1&id=23


Espero que si alguien tiene un problema similar, le pueda ayudar. Un saludo.
  #5 (permalink)  
Antiguo 30/10/2011, 14:35
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: SOS-Problema gordo en FTP por culpa de mkdir

Cita:
Iniciado por TheScript Ver Mensaje
Por otro lado me he estado informando, y al parecer NO es aconsejable dejar en off SAFE MODE (el cual se puede consultar con phpinfo() )
Pues lo más recomendado es dejarlo OFF

Según el manual oficial:

Cita:
Esta opción ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.
http://php.net/manual/es/features.safe-mode.php
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 30/10/2011, 14:42
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: SOS-Problema gordo en FTP por culpa de mkdir

Hola andresdzphp, que alegría poder hablar con alguien! jejeje gracias por tu aportación, yo tengo PHP 5.1.6, consultaré si lo puedo poner en off o depende de la persona que me alojó el dominio en su servidor, en estos temas estoy realmente perdida sinceramente, y me voy guiando por información de la red, aunque como ha quedado claro después de tu mensaje. no siempre lo que se lee es la mejor opción, hay que llevar ojo con lo que se hace...

Muchas gracias.

Etiquetas: formulario, ftp, mkdir, usuarios
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

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 19:55.