|
Encuesta: ¿Es este un foro para exponer este tipo de dudas/problemas? Esta encuesta esta cerrada. |
| Si |
   |
4 |
80.00% |
| No |
   |
0 |
0% |
| NS |
   |
1 |
20.00% |
|
¿Se puede cambiar los privilegios a un archivo que se te es enviado en PHP?
|
|
|
|
|
Mensaje: #1
¿Se puede cambiar los privilegios a un archivo que se te es enviado en PHP?
Bien, no se si este sera un foro donde se puedan preguntar, así como poner dudas como estas para ayudarnos entre nosotros si alguien tiene alguna duda... pero yo probaré, a ver lo que sale de aquí ;)
Bien la cosa es que se me envían unos archivos, txt, odt y doc... todos archivos de texto, pero cuando los tengo en el servidor solo me deja verlos, no puedo trabajar con ellos, por lo que tengo que cambiarle los privilegios, porque no voy a mostrar en mi web un texto que sea ofensivo para alguien o se meta con la gente, así que como el administrado quiero poder acceder a el archivo en cuestión y eliminar lo que sea indebido, y poder dar la opción de modificarlo.
Así que si saben como pudo cambiarle los privilegios antes de guardarlo desde PHP os lo agradecería mucho ;)
|
|
| 08-07-2011 09:03 PM |
|
|
|
Mensaje: #2
RE: ¿Se puede cambiar los privilegios a un archivo que se te es enviado en PHP?
No sé como se podría hacer eso. Intentaré buscar y te digo.
Pero si te puedo responder a esto:
Cita:Bien, no se si este sera un foro donde se puedan preguntar, así como poner dudas como estas para ayudarnos entre nosotros si alguien tiene alguna duda... pero yo probaré, a ver lo que sale de aquí ;)
Sí. Este es un foro para ayudarnos además de mostrar lo que hacemos. Cualquier duda puede ser resuelta siempre y cuanto esté dentro de lo legal. Ánimo con tu problema. Tal vez alguien sepa. Suerte.
|
|
| 08-07-2011 11:14 PM |
|
|
|
Mensaje: #3
RE: ¿Se puede cambiar los privilegios a un archivo que se te es enviado en PHP?
Lo único que se me ocurre es usar la función chmod() de PHP.
Un ejemplo sencillo:
Lenguaje PHP
<?php
if (chmod("index.php",0777) == TRUE)
{
echo 'Cambiado con éxito.';
}else{
echo 'Error...';
}
?>
Puedes armarte una función que cambie los permisos de todos los archivos que necesites, :P
P.D.:
Cita:Bien, no se si este sera un foro donde se puedan preguntar, así como poner dudas como estas para ayudarnos entre nosotros si alguien tiene alguna duda... pero yo probaré, a ver lo que sale de aquí ;)
¡Claro que se puede preguntar! Como te dijo Sifaw, cualquier duda es bienvenida, siempre y cuando esté dentro de lo legal.
"The only thing they can't take from us are our minds."
(Este mensaje fue modificado por última vez en: 09-07-2011 12:04 AM por .:WindHack:..)
|
|
| 08-07-2011 11:59 PM |
|
|
|
Mensaje: #4
RE: ¿Se puede cambiar los privilegios a un archivo que se te es enviado en PHP?
He probado con el chmod... con los documentos en txt que me llegan lo puedo editar sin problemas pero los odt y doc no... a demás cuando los abro en la web me salen simbolos raros como si no pudiese leer el formato... y no me cambia los permisos y puse todos 777 es decir:
Código PHP:
$elemento0 = $_POST['elemento0']; $elemento0 = str_replace(' ','_',$elemento0); $Ext= $_FILES["elemento1"]['type']; $Ext = trim($Ext); if($Ext == 'plain/text'){$tip = 'txt';} if($Ext == 'application/msword'){$tip = 'doc';} if($Ext == 'application/vnd.oasis.opendocument.text'){$tip = 'odt';} chmod("$Arch", 0777); move_uploaded_file($_FILES["elemento1"]['tmp_name'],"/home/xXx/www/textos/$Arch");
De todas maneras voy ha probar ha hacer la comprobación ha ver lo que me sale...
Porque con el txt me sale al enviar solo lectura pero puedo trabajar perfectamente con él.
Haciendo la comprobación he visto que solo me cambiar los registros del archivo temporal... pero es ese el que luego se mueve a los demás sitios no??
Así que ese es el que me vale o no es así?
Los demás da error porque no existen... porque por lo que veo solo son las variables que le dan nombre al archivo, no son el archivo en si.
EDITO: He visto que el que importa es el que ponga en el move_upload_file... vere como me las apaño, pero gracias por sus aportes ;)
(Este mensaje fue modificado por última vez en: 09-07-2011 12:52 AM por HelptoMake.)
|
|
| 09-07-2011 12:20 AM |
|
|
|
Mensaje: #5
RE: ¿Se puede cambiar los privilegios a un archivo que se te es enviado en PHP?
La parte de los archivos .odt y .doc no se pueden editar de la misma forma que los .txt ya que no son de texto plano. No sé si existan librerías para PHP que faciliten el trabajo con estos tipos de formato...
Encontré unas librerías para los .odt pero funcionan -por lo que ví- simplemente para escribir, pero no sé, quizá te sirvan de algo:
- http://phpdocwriter.sourceforge.net/
- http://www.odtphp.com/
Sí, el archivo del temporal es el que luego mueves, ahí lo tienes definido: tmp_name. Por cierto, qué valor tiene la variable $Arch?
"The only thing they can't take from us are our minds."
(Este mensaje fue modificado por última vez en: 09-07-2011 01:05 AM por .:WindHack:..)
|
|
| 09-07-2011 12:57 AM |
|
|
|
Mensaje: #6
RE: ¿Se puede cambiar los privilegios a un archivo que se te es enviado en PHP?
Lo del $Arch era el titulo + la extensiones, pero ya lo he quitado...
Puff... esto me va a volver loco... menos mal que me gusta que si no ya hace tiempo que lo hubiese dejado de lado...
Probare con lo de esos links a ver lo que se puede hacer...
|
|
| 09-07-2011 01:22 AM |
|
|
|
Mensaje: #8
RE: ¿Se puede cambiar los privilegios a un archivo que se te es enviado en PHP?
Gracias por el aporte, pero no me funciona tampoco... me cambia los permisos del tmp pero luego cuando es el archivo que finalmente acaba en mi server vuelve a tener los permisos 744...
Voy a seguir indagando haber lo que encuentro... a ver si hay alguna opción del php.ini que me permita poner los permisos por defecto o algo así...
Si no ya me apañare a base de pruebas o de lo que sea.
|
|
| 11-07-2011 09:57 PM |
|
Usuario(s) navegando en este tema: 1 invitado(s)
|