Foros del Web » Programando para Internet » PHP »

Problemas con los archivos y directorios.

Estas en el tema de Problemas con los archivos y directorios. en el foro de PHP en Foros del Web. Bueno termine una plicacion en PHP en la cual existe un anejador de archvos y directorios. La cosa es que ya tengo contratado el hosting ...
  #1 (permalink)  
Antiguo 07/06/2005, 22:19
 
Fecha de Ingreso: enero-2005
Mensajes: 45
Antigüedad: 12 años, 11 meses
Puntos: 0
Problemas con los archivos y directorios.

Bueno termine una plicacion en PHP en la cual existe un anejador de archvos y directorios. La cosa es que ya tengo contratado el hosting y tengo mi acceso a FTP y todo, pero tengo el problema de que mi codigo php crea una carpeta dentro de mi servidor y luego pone archivos dentro de la misma, pero cuando lo ejecuto me salia que el MKDIR me denegaba el permiso, asi que me fui al ftp y cambie los permisos en la carpeta superior y bueno paso esto pero ahora viene el otro problema, el codigo PHP me crea la carpeta, hasta ahi bien, pero no sube nada a la carpeta

Warning: move_uploaded_file(carpeta/): failed to open stream: Is a directory in /home/****/*********.php on line 127

es decir que no me deja subir, mire en la carpeta que creo mi codigo y tiene permisos 755, pero si trato de cambiarlo con el programa de FTP a 777 me dice que no tengo permiso para hacerlo

550 Could not change perms on /www_root/*****/carpeta: Bad file descriptor
ERROR:> Requested action not taken (e.g., file or directory not found, no access).


y el problema es que despues de que mi codigo crea la carpeta esta queda con esos permisos y no me deja cambiarlos ni me deja borrar la carpeta.

el codigo en donde hago la carpeta es este

$carpeta=0;
if(!file_exists($nombre)){
if(!mkdir($nombre,0777)){
echo "ERROR, no se pudo crear la carpeta";
$carpeta=1;

como ven le asigno permisos 777 (se que es demasiado pero quiero que ande primero) y uso variables como nombre de carpeta, como dije lo mas que he logrado es que el mkdir no me de error pero me cree esta carpeta con esos permisos (755) que no me sirven y son distintos a lo que yo le impongo. Asi que si pudieran ayudarme ya que la aplicacion esta lista y en localhost de mi PC funcionaba bien

Ah, y otra cosa que acabo de notar, todos los archivos y directorios que tengo en el host tienen en la columna owner el nombre de mi sitio, excepto las dos carpetas que he creado con mi codigo ya arriba en el servidor que en lugar de tener el nombre de mi pagina tiene un 99 en la columna owner.

Última edición por lostguy; 07/06/2005 a las 22:42
  #2 (permalink)  
Antiguo 08/06/2005, 02:38
Avatar de illman  
Fecha de Ingreso: mayo-2001
Mensajes: 115
Antigüedad: 16 años, 7 meses
Puntos: 0
Estas ejecutando PHP como CGI? parece como si el PHP se estuviera ejecutando como un usuario diferente, y por tanto perteneciente a un grupo y privilegios diferentes.
  #3 (permalink)  
Antiguo 08/06/2005, 10:20
 
Fecha de Ingreso: enero-2005
Mensajes: 45
Antigüedad: 12 años, 11 meses
Puntos: 0
Pues en el hosting esta la opcion CGI-BIN enabled: chequeada, osea activa, al desactivarla pues lo mismo las capetas queme crea el codigo PHP siguen con otros permisos y perteneciendo a 99 y no ami.

Claro que el hosting dice que todos los cambios que hago son aprovados en 12 horas, osea que aunque desactive CGI puede que todavia siga activo unas horas mas cierto?

Asi que aun no puedo estar seguro. Pero dime illman, si esta el CGI activo eso provoca que mi codigo haga carpetas con otro dueño? y con otros permisos distintos a los que yo le pongo? ya que realmente no es que yo sepa mucho del CGI.

Última edición por lostguy; 08/06/2005 a las 10:26
  #4 (permalink)  
Antiguo 08/06/2005, 16:11
 
Fecha de Ingreso: enero-2005
Mensajes: 45
Antigüedad: 12 años, 11 meses
Puntos: 0
Tambien les comento que el acceso SSi (.shtml, .htaccess) esta desactivado, tendra eso que ver con mi problema?

Incluso ejecutandolo local en mi PC con windos el prblema persiste

Warning: Unable to create 'carpeta/': Permission denied in c:\easyphp\www\sitio\new.php on line 140

por favor requiero su sabios consejos

Última edición por lostguy; 08/06/2005 a las 23:59
  #5 (permalink)  
Antiguo 09/06/2005, 16:32
 
Fecha de Ingreso: enero-2005
Mensajes: 45
Antigüedad: 12 años, 11 meses
Puntos: 0
Bueno gente aqui sigo batallando con este codigo. Alguno sabe porque en mi hosting cuando mi codigo PHP crea una carpeta en el hosting esta queda con permisos 755 aunque cuando hago el mkdir le digo ,0777? y ademas alguna idea de porque esta carpeta queda con un owner diferente a mi?
  #6 (permalink)  
Antiguo 09/06/2005, 19:52
 
Fecha de Ingreso: junio-2005
Mensajes: 15
Antigüedad: 12 años, 6 meses
Puntos: 0
crear directorios 0777

Aparentemente con esto solucionas tu problema:

$oldumask = umask(0);
mkdir($nuevo_dir,0777);
umask($oldumask);

Todavía no entiendo muy bien lo de la máscara, pero ya lo probe y funciona.

Se habla al respecto en los ultimos comentarios de la pagina:
http://www.php.net/manual/es/function.mkdir.php
  #7 (permalink)  
Antiguo 10/06/2005, 10:58
 
Fecha de Ingreso: enero-2005
Mensajes: 45
Antigüedad: 12 años, 11 meses
Puntos: 0
Bueno Patriciam, probe lo que me dijiste y aunque el nombre de owner sigue diferente esta vez la capeta creada SI QUEDA con permisos 777.

Parece que por fin logre crear un directorio 0777. Gracias.

Pero algo curioso es que el dia de hoy de pronto el hosting amanecio perfecto, porque hoy si me deja crear y borrar directorios, aun cuando queden com permisos 0755 ó 0777. Definitivamente debe ser el servidor.

Gracias a todos por la ayuda

Última edición por lostguy; 11/06/2005 a las 09:01
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 02:19.