Foros del Web » Programando para Internet » PHP »

permisos 777

Estas en el tema de permisos 777 en el foro de PHP en Foros del Web. Hola, soy bastante novato en php, y estoy intentando hacer una página con una base de datos que entre otras cosas permita a los usuarios ...
  #1 (permalink)  
Antiguo 28/08/2009, 13:03
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
permisos 777

Hola, soy bastante novato en php, y estoy intentando hacer una página con una base de datos que entre otras cosas permita a los usuarios subir ficheros con imágentes.

He intentado usar el move_uploaded_file, pero no me funciona. He leído que necesito poner permisos 777 a la carpeta, pero lo que he leído sobre cómo hacer esto no lo entiendo porque parece que todo lo que leo es para gente que ya sabe algo sobre el tema.

Yo sobre ftp y dreamweaver no tengo ni idea.

¿Alguien me puede explicar lo de los permisos desde cero o recomendarme un tutorial que lo explique todo desde el principio?
  #2 (permalink)  
Antiguo 28/08/2009, 13:24
Avatar de jenusys  
Fecha de Ingreso: diciembre-2008
Ubicación: Ahí mismo.
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 11
Respuesta: permisos 777

Hey! barájala más despacio porque entonces tienes una cantidad de trabajo por hacer y de cosas por aprender. A mi manera de ver debes empezar por aprender cuáles son los servicios que te ofrece tu servidor y de ahí en adelante empezar paso por paso: Cómo subir archivos y por qué protocolo, qué bases de datos vas a utilizar, qué lenguaje vas a trabajar fuera del HTML.
  #3 (permalink)  
Antiguo 28/08/2009, 14:20
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: permisos 777

Estoy empezando desde el principio a aprender con un servidor local. He instalado el paquete xampp. Qué bases de datos, pues mysql, lenguaje php, lo del protocolo ni idea. Si me dices qué debo leer te lo agradecería.
  #4 (permalink)  
Antiguo 28/08/2009, 14:37
 
Fecha de Ingreso: agosto-2009
Ubicación: Lanzarote - Canarias
Mensajes: 57
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: permisos 777

Puedes hacer un
Código PHP:
Ver original
  1. <?
  2. chmod("./carpeta_upload/",777);
  3. ?>

Tambien con un cliente FTP como filezilla u otro le das boton derecho sobre la carpeta y veras que en el menu desplegable sale algo para cambiar permisos
  #5 (permalink)  
Antiguo 29/08/2009, 04:28
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: permisos 777

He probado esa instrucción y no me funciona. El error debe estar en otra parte. Este es el código de las dos páginas: el formulario desde donde se mete el fichero y la página que lo recoge.

Tampoco tengo muy claro si el directorio ficheros debe colgar de htdocs o del directorio donde estan las páginas. He probado de las dos maneras y no funciona de ninguna de ellas. No me da ningún error. Simplemente el fichero no aparece en el directorio ficheros.

Código:
<?php
session_start ();
?>
<html>
    <?php
    $login=$_SESSION['login'];
    if (!$login){
                       die("USTED NO ESTÁ EN EL SISTEMA");
        }
    ?>
        <form enctype="multipart/form-data" action="insertimage.php" method="post">
        <input type="hidden" name="MAX_FILE_SIZE" value="1000">
        Introduce palabras clave: <input type = "text" name="claves"><br>
        Introduce la ruta del fichero: <input type ="file" name="fichero"><br>
        Introduce el código de clasificación:<input type = "text" name="codigo">
        <input type="submit" value="ENVIAR">
</html>
Código:
<?php
session_start ();
$login=$_SESSION['login'];
if (!$login){
    die("USTED NO ESTÁ EN EL SISTEMA");
}
$link=mysql_connect("localhost", "root","");
mysql_select_db(dbimagenes,$link);
$hoy=date('d.m.y');
$nick=$_SESSION['nick'];
$claves=$_POST['claves'];
mysql_query("insert into imagenes(fecha,autor,claves) VALUES ('$hoy','$nick','$claves')",$link) or die (mysql_error());
$fichero=$HTTP_POST_FILES['fichero']['name'];
chmod("./ficheros/",777);
move_uploaded_file($fichero,"./ficheros/");
?>
  #6 (permalink)  
Antiguo 29/08/2009, 05:33
 
Fecha de Ingreso: agosto-2009
Ubicación: Lanzarote - Canarias
Mensajes: 57
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: permisos 777

http://es.php.net/move_uploaded_file
  #7 (permalink)  
Antiguo 29/08/2009, 10:01
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: permisos 777

Gracias esdesign, pero creo que he seguido lo que se dice en el tutorial que me mandas, creo que la sintaxis es la correcta. o sé qué es lo que está mal.
  #8 (permalink)  
Antiguo 29/08/2009, 10:13
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Sonrisa Respuesta: permisos 777

Hola ... bájate el Filezilla, es un gestor de FTP, en el con el nombre de usuario, contraseña y tu dirección FTP podrás entrar en tu hosting, ahí simplemente le darán clic derecho sobre la carpeta que desees dar permissos 777 y listo .... esto es por si es problemas de permisos en el server remoto .. si estás probando localmente puedes debes dar permisos de lectura escritura (compartir con acceso total) la carpeta en cuestión....

... espero te sirva . salu2


-----------------------------------------------------------------------------------------------------
Cita:
Iniciado por PacoRuiz Ver Mensaje
Gracias esdesign, pero creo que he seguido lo que se dice en el tutorial que me mandas, creo que la sintaxis es la correcta. o sé qué es lo que está mal.
  #9 (permalink)  
Antiguo 31/08/2009, 05:02
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: permisos 777

Ya me he bajado el filezilla. Lo que me aprece arriba es un botón para concectarme al servidor. Imagino que debo poner localhost, root, en contraseña nada, y no sé qué poner en el puerto.

Donde pone sitio local no sé si debo seleccionar la carpeta xampp o cual. He hecho varias pruebas y no se conecta.

No tengo ni idea de nada sobre este programa
  #10 (permalink)  
Antiguo 31/08/2009, 13:50
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: permisos 777

Hola .. disculpa la tardanza de mi respuesta .. estuve por fuera .. pues si, primero abres ese boton de conectarte, ahí le das "nuevo sitio", ahí verás q puedes poner servidor, que es tu server, algo asi como ftp.tupagina....., pones tu nombre de usuario y contraseña para acceder a ftp, lo demas deja igual en esa pantalla .. luego ve a avanzado, y cambia el directorio local por defecto, ahí pon la ruta de tu sitio local, y ya está, te conectarás, ahí podrás hacer lo de los permisos de forma muy fácil ...esto pa cambiar los permisos de tus carpetas y directorios .. salu2


Cita:
Iniciado por PacoRuiz Ver Mensaje
Ya me he bajado el filezilla. Lo que me aprece arriba es un botón para concectarme al servidor. Imagino que debo poner localhost, root, en contraseña nada, y no sé qué poner en el puerto.

Donde pone sitio local no sé si debo seleccionar la carpeta xampp o cual. He hecho varias pruebas y no se conecta.

No tengo ni idea de nada sobre este programa
  #11 (permalink)  
Antiguo 01/09/2009, 08:18
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: permisos 777

En archivo pone gestor de sitios y abajo de archivo pone un botón de conectarte , que cuando se le da dice nuevo sitio, y debajo de ese botón pone servidor, nombre de usuario, contraseña y puerto.

Cita:
ahí verás q puedes poner servidor, que es tu server, algo asi como ftp.tupagina
Pone servidor, pero está vacío.

Cita:
pones tu nombre de usuario y contraseña para acceder a ftp
No sé que nombre de usuario ni qué contraseña. ya probé con localhost, root y sin contraseña, pero no me hace nada.

Cita:
luego ve a avanzado
No sé por donde avanzar, simplemente sale esa opción y ya, no dice avanzar ni nada por el estilo, se supone que se conecta y ya está, pero no lo hace.
  #12 (permalink)  
Antiguo 01/09/2009, 09:38
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 566
Antigüedad: 18 años, 5 meses
Puntos: 24
Respuesta: permisos 777

tienes que tener instalado un servidor ftp primero, pero si estas en local el ftp no es necesario, los permisos los pones tu con el boton derecho sobre cualquier archivo.
__________________
www.marcher.com.uy - Web personal
Nerd's Corner - Desarrollo de software a medida
  #13 (permalink)  
Antiguo 01/09/2009, 12:13
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: permisos 777

... hola .. es un simple gestor de FTP, pones direccion del server FTP, nombre de usuario y contraseña ... y estarás navegando en tu server ... claro, debes dar conectar antes :D .... en sencillo ... no entiendo tus dudas ... lo de ir avanzando, simplemente es dar aceptar y conectar .. una vez dentro de tus archivos, uses el gestor de ftp que sea, ya es aplicar los atributos a los archivos que desees ...

... un salu2!!!

Cita:
Iniciado por PacoRuiz Ver Mensaje
En archivo pone gestor de sitios y abajo de archivo pone un botón de conectarte , que cuando se le da dice nuevo sitio, y debajo de ese botón pone servidor, nombre de usuario, contraseña y puerto.



Pone servidor, pero está vacío.

No sé que nombre de usuario ni qué contraseña. ya probé con localhost, root y sin contraseña, pero no me hace nada.



No sé por donde avanzar, simplemente sale esa opción y ya, no dice avanzar ni nada por el estilo, se supone que se conecta y ya está, pero no lo hace.
  #14 (permalink)  
Antiguo 01/09/2009, 13:05
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: permisos 777

El servidor es local. Instalé xampp. Puse como servidor localhost, usuario root y contraseña ninguna, en donde pone puerto no sé qué poner y no puse nada. No se conecta. La duda es simple, no se conecta y no sé por qué. Algo debo hacer mal pero no sé qué es.

A lo de darle al botón derecho, ya lo he hecho, y le he dado a la opción control total, no encuentro donde darle un 777. El código sigue sin funcionar.
  #15 (permalink)  
Antiguo 01/09/2009, 14:00
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: permisos 777

no no no no no no amigo. ... si tu server es LOCAL no necesitas gestor alguno de FTP pa darle permisos 777 .. solo debes ir a la carpeta de XAMPP, buscar tu carpeta correspondiente a ese sitio, y darle permisos de lectura/escritura a lo que necesitas, los permisos 777 son permisos de lectura escritura ... solo eso .. :) .... salu2

Cita:
Iniciado por PacoRuiz Ver Mensaje
El servidor es local. Instalé xampp. Puse como servidor localhost, usuario root y contraseña ninguna, en donde pone puerto no sé qué poner y no puse nada. No se conecta. La duda es simple, no se conecta y no sé por qué. Algo debo hacer mal pero no sé qué es.

A lo de darle al botón derecho, ya lo he hecho, y le he dado a la opción control total, no encuentro donde darle un 777. El código sigue sin funcionar.
  #16 (permalink)  
Antiguo 02/09/2009, 00:45
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: permisos 777

Vale, me he ido al explorador y le he dado al botón derecho sobre la carpeta, ahí a propiedades y seguridad, ahí a permisos de usuarios identificados, editar y le he dado permiso de lectura y escritura a todos los usuarios que aparecen. Estoy en el windows vista.

El código sigue sin funcionar. Es el código que está más arriba. No me da error en ningún momento, pero meto un fichero en el formulario y luego no aparece dicho fichero en la carpeta correspondiente
  #17 (permalink)  
Antiguo 02/09/2009, 00:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: permisos 777

No uses $HTTP_POST_FILES ya esta obsoleto sino $_FILES. Te sugiero que en la página donde estas agregando el fichero con PHP uses este codigo

Código PHP:
Ver original
  1. echo $_FILES['fichero']['error'];

a ver que numero te indica. Cuando obtengas este dato compara el numero que te dio con esta informacion que te indica esta pagina http://us2.php.net/manual/en/feature...oad.errors.php
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #18 (permalink)  
Antiguo 02/09/2009, 13:57
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: permisos 777

ok, aparte de algún error que tenía en el código, me da error 2, que quiere decir que excedo el tamaño permitido de archivo. Muchas gracias.
  #19 (permalink)  
Antiguo 02/09/2009, 15:52
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: permisos 777

He cambiado el tamaño del MAX_FILE_SIZE y ahora me da error 0, es decir no hay error, pero no me graba el fichero. No sé cuál es el problema. Como he cambiado el código lo pongo como está ahora:

Código:
<?php
session_start ();
?>
<html>
    <?php
    $login=$_SESSION['login'];
    if (!$login){
                       die("USTED NO ESTÁ EN EL SISTEMA");
        }
    ?>
        <form enctype="multipart/form-data" action="insertimage.php" method="post">
        <input type="hidden" name="MAX_FILE_SIZE" value="100000">
        Introduce palabras clave: <input type = "text" name="claves"><br>
        Introduce la ruta del fichero: <input type ="file" name="fichero"><br>
        Introduce el código de clasificación:<input type = "text" name="codigo">
        <input type="submit" value="ENVIAR">
</html>
Código:
<?php
session_start ();
$login=$_SESSION['login'];
if (!$login){
    die("USTED NO ESTÁ EN EL SISTEMA");
}
$link=mysql_connect("localhost", "root","");
mysql_select_db(dbimagenes,$link);
$hoy=date('d.m.y');
$nick=$_SESSION['nick'];
$claves=$_POST['claves'];
mysql_query("insert into imagenes(fecha,autor,claves) VALUES ('$hoy','$nick','$claves')",$link) or die (mysql_error());
move_uploaded_file ( $_FILES [ 'fichero' ][ 'tmp_name' ], $ficheros . '/' . $_FILES [ 'fichero' ][ 'tmp_name' ]);
echo $_FILES['fichero']['error'];
?>
  #20 (permalink)  
Antiguo 02/09/2009, 19:22
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
De acuerdo Respuesta: permisos 777

hola ....


después de tu INSERT ponle esto:

$userfile_type = $_FILES['fichero']['type']; //Guarda la la extension del archivo.
$userfile_size = $_FILES['fichero']['size']; //Guarda el tamaño del archivo.

if (!((strpos($userfile_type, "gif") || strpos($userfile_type, "jpeg") || strpos($userfile_type, "png")|| strpos($userfile_type, "GIF")|| strpos($userfile_type, "JPEG")|| strpos($userfile_type, "PNG")) && ($userfile_size < 400000))) { //verifica que sea una imagen que tenga esas extensiones y además que sea menor que 400k, puedes ponerle lo que quieras

....si no se cumple este IF le tiras un mensaje y lo mandas atrás ....
.... aslgo así como:

echo "<script>alert("Solo se permiten archivos de imagen y menores a 400 KB!!");"</script>;
echo "</script>location.href='javascript:history.go(-1)';</script>";

sino... pues sigue subiendo la foto o imagen ....

$separar = explode('.',$_FILES['archivo']['name']);//separa el nombre de la ext
$ruta = "ruta_d_la_imagen/". $el_nombre_q_quieras_ponerle.".".$separar[1];

copy($_FILES['fichero']['tmp_name'], $ruta);//hace la copia

echo "<script>alert('La imagen se cargó correctamente');</script>";


espero te sirva ;) .. salu2
  #21 (permalink)  
Antiguo 02/09/2009, 19:24
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Respuesta: permisos 777

sorry .. en esta línea va tu variable:

$separar = explode('.',$_FILES['archivo']['name']);//separa el nombre de la ext

cambiala por:

$separar = explode('.',$_FILES['fichero']['name']);//separa el nombre de la ext

pues tu variable del FORM es fichero .. salu2!!!
  #22 (permalink)  
Antiguo 04/09/2009, 09:20
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: permisos 777

Gracias Joaowizard, había algún error por ahí que ya he corregido y ya funciona. Tus indicaciones son interesantes
  #23 (permalink)  
Antiguo 27/12/2009, 10:46
 
Fecha de Ingreso: diciembre-2009
Mensajes: 10
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: permisos 777

Buenas tardes. Tengo una duda con respecto a un simple sistema de comentarios que hace un tiempo se publico aqui.

El hecho es que una de las instrucciones para que funcionara es con respecto a poner los atributos 777. El sistema de noticias consta de 2 php y un txt dentro de una carpeta.

Imagino que el archivo al que hay que ponerle los atributos 777 es solo al txt, no?
Estoy haciendo pruebas en una web gratuita de lycos y creo que ahi no hay posibilidad de cambiarle atributos o se podria cambiar los atributos antes de subirlo??

Muchas gracias!
  #24 (permalink)  
Antiguo 27/12/2009, 12:45
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: permisos 777

Hola, no es que yo tenga mucha idea del tema, pero por lo que tengo entendido el permiso 777 es un atributo que se le pone a una carpeta, no a un fichero.
  #25 (permalink)  
Antiguo 27/12/2009, 12:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: permisos 777

Cita:
Iniciado por PacoRuiz Ver Mensaje
Hola, no es que yo tenga mucha idea del tema, pero por lo que tengo entendido el permiso 777 es un atributo que se le pone a una carpeta, no a un fichero.
de hecho, en sistemas Unix ... todo es un archivo, aún sea una carpeta sigue siendo un archivo....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #26 (permalink)  
Antiguo 27/12/2009, 17:12
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: permisos 777

Te recomiendo usar permisos 755 y no 777, ya que con 777 le das permisos al publico fijate bien.

Es como dice pateketrueke, en GNU se le dan atributos a los archivos, es windows solo se le dan permisos a las carpetas, por eso se usa sistemas unix para los servidores, el permiso que da windows es el tan conocido "Solo lectura"..
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 16:22.