Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: lucaslopez0000 en 9 Febrero 2013, 19:55 pm



Título: Script PHP no escribe archivos
Publicado por: lucaslopez0000 en 9 Febrero 2013, 19:55 pm
Hola a todos , resulta que quiero escribir archivos en PHP , a si que busqué funciones para hacerlo y use fwrite
Parece que todo va bien , voy a revisar el archivo y no encuentro los datos escritos.
No puedo subir el codigo xq estoy desde el movil escribiendo esto. No entiendo que pasa alguien que lo haya hecho y le funcione que por favor ponga como lo ha hecho por que no lo logro.
Muchad gracias


Título: Re: Script PHP no escribe archivos
Publicado por: xassiz~ en 9 Febrero 2013, 20:12 pm
Si el código está bien.. ¿será que no tienes permisos? :rolleyes:


Título: Re: Script PHP no escribe archivos
Publicado por: lucaslopez0000 en 9 Febrero 2013, 20:21 pm
Ya ... ! Pero como no voy a tener permisos en la propia carpeta del php !


Título: Re: Script PHP no escribe archivos
Publicado por: EFEX en 10 Febrero 2013, 01:17 am
En la pagina oficial tenes mucha info de esto, podrias leerlo e implementarlo en tu codigo, si aun asi no escribe en el archivo muestranos lo que tienes hasta ahora.

http://php.net/manual/es/function.fopen.php
http://www.php.net/manual/es/function.fwrite.php

Código
  1.  
  2. <?php
  3. $nombre_archivo = 'prueba.txt';
  4. $contenido = "Añade esto al archivo\n";
  5.  
  6. // Primero vamos a asegurarnos de que el archivo existe y es escribible.
  7. if (is_writable($nombre_archivo)) {
  8.  
  9.    // En nuestro ejemplo estamos abriendo $nombre_archivo en modo de adición.
  10.    // El puntero al archivo está al final del archivo
  11.    // donde irá $contenido cuando usemos fwrite() sobre él.
  12.    if (!$gestor = fopen($nombre_archivo, 'a')) {
  13.         echo "No se puede abrir el archivo ($nombre_archivo)";
  14.         exit;
  15.    }
  16.  
  17.    // Escribir $contenido a nuestro archivo abierto.
  18.    if (fwrite($gestor, $contenido) === FALSE) {
  19.        echo "No se puede escribir en el archivo ($nombre_archivo)";
  20.        exit;
  21.    }
  22.  
  23.    echo "Éxito, se escribió ($contenido) en el archivo ($nombre_archivo)";
  24.  
  25.    fclose($gestor);
  26.  
  27. } else {
  28.    echo "El archivo $nombre_archivo no es escribible";
  29. }
  30. ?>
  31.  
  32.  


Título: Re: Script PHP no escribe archivos
Publicado por: alister en 10 Febrero 2013, 01:59 am
Ya ... ! Pero como no voy a tener permisos en la propia carpeta del php !

facilísimamente:
con un bitmask de 5xx en los permisos del directorio

estas comprobando el valor que devuelve fwrite? es true? a que no?


Título: Re: Script PHP no escribe archivos
Publicado por: MeTaD en 14 Febrero 2013, 04:20 am
Creo que le hablan un poco profundo... ¿Qué tanto conoces de PHP y permisos en servidores linux (CHMOD)?... Basicamente existen 3 tipos de permisos de accesos:

Tipos de permiso de acceso:
Citar
Read
(lectura): Permiso para ver el archivo o directorio, sin hacer cambios.

Write
(escritura): Permiso de escritura: puede escribir el archivo, y por tanto, cambiarlo.

Execute
(ejecución): El archivo o directorio puede ser ejecutado. Se usa para directorios con scripts, formularios, etc ...

y por lo regular se colocan con numeros (representacion octal de los permisos de linux rw-w entre otros) mediante el FTP... 

los numeros son:
   
Citar
4= lectura
   2= escritura
   1= ejecución

   6 (4+2)= lectura y escritura
   5 (4+1)= lectura y ejecución
   3 (2+1)= escritura y ejecución
   7 (4+2+1)= lectura, escritura y ejecución

y existen 3 tipos de "usuarios" a los que se les asigna los permisos: Owner, Group y Public

Ejemplo de permisos:

777 dará acceso total al archivo a cualquier usuario
707 dará accesp total al archivo solamente al owner y a public

El primer numero representa a owner, el segundo a group y el tercero a public...

Comprueba que la carpeta en la que estás trabajando y que el script que estés utilizando tenga los permisos adecuados... (lo puedes hacer dando click derecho > file permissions en Filezilla)


Puedes conseguir mas información acerca de los permisos aquí: http://s3.accesoperu.com/wp6/wp6.php?p=08158


Título: Re: Script PHP no escribe archivos
Publicado por: alister en 14 Febrero 2013, 04:36 am
yo mas bien pienso que tras 5 dias lo ha rsuelto con lo que le hemos comentado y no ha pasado de vuelta para agradecerlo.
esta es una de esas cosas en las que me encanta reconocer que me equivoqué :D


Título: Re: Script PHP no escribe archivos
Publicado por: lucaslopez0000 en 14 Febrero 2013, 21:35 pm
Gracias metad aunque conozco de sobra los permisos linux , chmod y sistemas de numeracion aun asi gracias xq a alguien que no lo sepa le puede ser util.
Al final era cuestion de permisos , buscando en google que era bitmask ...

weno weno ... el que tiene boca se equivoca ... oops


Título: Re: Script PHP no escribe archivos
Publicado por: alister en 14 Febrero 2013, 21:41 pm
Gracias metad aunque conozco de sobra los permisos linux , chmod y sistemas de numeracion aun asi gracias xq a alguien que no lo sepa le puede ser util.
Al final era cuestion de permisos , buscando en google que era bitmask ...

weno weno ... el que tiene boca se equivoca ... oops

guay! al menos has venio a dar las gracias, melón! muhahahaha!

la palabra bitmask es lo de menos, la idea es comprender que, realmente, si es posible que NO puedas escribir un fichero en un directorio. Es algo mas comun de lo que parece en un sistema de permisos unix-like.

Y es lo primero que hay que mirar siempre, asi que xassiz~ acertó de pleno :D

saludos


Título: Re: Script PHP no escribe archivos
Publicado por: xassiz~ en 14 Febrero 2013, 22:22 pm
Y es lo primero que hay que mirar siempre, asi que xassiz~ acertó de pleno :D
;)