Foros del Web » Programando para Internet » PHP »

Crear archivo TXT en linux y con un usuario

Estas en el tema de Crear archivo TXT en linux y con un usuario en el foro de PHP en Foros del Web. Buenos dias, tengo el siguiente codigo: Código PHP: $fh  =  fopen ( "/home/http/tendes/inventaris/$nom.txt" , "w+" );  $numarray =  count ( $carrito ); $numarray =  $numarray ...
  #1 (permalink)  
Antiguo 12/09/2005, 04:54
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Pregunta Crear archivo TXT en linux y con un usuario

Buenos dias,
tengo el siguiente codigo:
Código PHP:
$fh fopen("/home/http/tendes/inventaris/$nom.txt","w+"); 
$numarraycount($carrito);
$numarray$numarray-1;
$nom1="*".$_SESSION['id_tenda']." - ".$_SESSION['nomtenda']."-".$fecha."\r\n";
fwrite($fh,$nom1);
for(
$i=0;$i <= $numarray;$i++){
    
$valor $carrito[$i][0].";".$carrito[$i][1]."\r\n"
    
fwrite($fh,$valor); 
}
fclose($fh); 
if (isset(
$_SESSION['carrito'])){
    unset(
$_SESSION['carrito']); 

Al crear el archivo txt me lo crea con el usuario nobody... y tengo q dar permiso 777 para q me lo cree pero entonces dejo abierta esa carpeta a todo el mundo y eso no me interesa... lo q me gustaria saber es como crear ese archivo con el usuario q yo le diga¿¿¿???

gracias de antemano,

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #2 (permalink)  
Antiguo 12/09/2005, 05:01
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
puedes poner el archivo solo lectura y modificarlo sus permisos antes de crear la linea en el txt y despue volver a ponerlo en solo lectura

http://php.grn.es/manual/es/function.chmod.php

Un Saludo
  #3 (permalink)  
Antiguo 12/09/2005, 05:10
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
pero si hago eso solo cambio permisos. pero el archivo se me sigue creando con el usuario nobody... se puede cambiar este usuario x uno q yo quiera?

Saludos.
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #4 (permalink)  
Antiguo 12/09/2005, 08:03
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
alguien sabe como hacerlo? lo he estado buscando xo de momento no he tenido suerte... si alguien sabe algo o puede referenciarme...

Gracias de antemano,

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #5 (permalink)  
Antiguo 13/09/2005, 09:01
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Es posible hacerlo? es q el problema es q no quiero q todo el mundo tenga acceso a esa carpeta. tengo q asignar permisos a un grupo en concreto.
no ser si mhe explicado bien...

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #6 (permalink)  
Antiguo 14/09/2005, 00:35
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
No puedo hacer q se valide el usuario? q se ponga uno por defecto q no sea 'nobody'.

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #7 (permalink)  
Antiguo 14/09/2005, 06:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lo normal en estos casos es que:

1) te cambies de usuario a uno que tenga permisos para ejecutar los comandos necesarios para cambiar un archivo de propietario. Esto en Linux lo haces con Sudo (http://www.courtesan.com/sudo/) por ejemplo .. ejecutado desde PHP con funciones como exec() (www.php.net/exec)

2) Una vez con el usuario "root" o el que tenga permisos suficientes .. Ejecutas (otra vez vía exec()) los comandos necesarios para cambiar un archivo de propietario y así asignarle el que gustes (e incluso el grupo si corresponde). Esto en Linux lo haces con el comando: chown

A todo esto . .tendrás que tener permisos por parte de PHP (no usar modo seguro "Safe Mode") como para poder ejecutar las funciones del grupo exec() y afines.

Curiosidad: ¿para que quieres que tu archivo quede bajo X propietari?


Un saludo,
  #8 (permalink)  
Antiguo 14/09/2005, 06:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por sergi_climent
Es posible hacerlo? es q el problema es q no quiero q todo el mundo tenga acceso a esa carpeta. tengo q asignar permisos a un grupo en concreto.
no ser si mhe explicado bien...

Saludos
Cuando dices "que todo el mundo tenga acceso a esa carpeta" .. te refires a accesos por SHELL (consola) .. o por accesos vía HTTP (desde tu "navegador")?

Un saludo,
  #9 (permalink)  
Antiguo 14/09/2005, 10:22
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
te cuento un poko....
aqui en la empresa hay montados un servidor web, en el cual ya tenemos colgada la web de la empresa, un portal, servidor ftp...y ahora estoy haciendo la web para q las respectivas tiendas d la empresa puedan entrar pedidos e inventarios.... y tambien tenemos otro servidor samba. todos los usuarios funcionan con windows y ven la red a traves del samba. entonces las carpetas en donde yo grabo los archivos le tengo q poner permisos 777 para q el usuario nobody pueda escribir el archivo TXT. entonces esa carpeta q es visible para la red al tener esos permisos podria entrar cualquier usuario d mi red y eso no me interesa. si fuera para mi esa carpeta no la compartiria xo hay un par o tres de usuarios q tienen q ver esos TXT para controlarlo un poko.
x eso me interesa asignar un grupo o un usuario xq asi tendre controlados kien entra en esa carpeta.

x cierto, gracias x tu explicacio. intentare hacerlo y en caso de tener alguna duda o problema ya os lo hare llegar.

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
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 12:17.