Script PHP no escribe archivos

Iniciado por lucaslopez0000, 9 Febrero 2013, 19:55 PM

0 Miembros y 1 Visitante están viendo este tema.

lucaslopez0000

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
La manera mas simple de solucionar los problemas de windows , los virus , el spyware , la basura de microsoft en general

USA LINUX

xassiz~

Si el código está bien.. ¿será que no tienes permisos? :rolleyes:

lucaslopez0000

Ya ... ! Pero como no voy a tener permisos en la propia carpeta del php !
La manera mas simple de solucionar los problemas de windows , los virus , el spyware , la basura de microsoft en general

USA LINUX

EFEX

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 (php) [Seleccionar]


<?php
$nombre_archivo 
'prueba.txt';
$contenido "Añade esto al archivo\n";

// Primero vamos a asegurarnos de que el archivo existe y es escribible.
if (is_writable($nombre_archivo)) {

    
// En nuestro ejemplo estamos abriendo $nombre_archivo en modo de adición.
    // El puntero al archivo está al final del archivo
    // donde irá $contenido cuando usemos fwrite() sobre él.
    
if (!$gestor fopen($nombre_archivo'a')) {
         echo 
"No se puede abrir el archivo ($nombre_archivo)";
         exit;
    }

    
// Escribir $contenido a nuestro archivo abierto.
    
if (fwrite($gestor$contenido) === FALSE) {
        echo 
"No se puede escribir en el archivo ($nombre_archivo)";
        exit;
    }

    echo 
"Éxito, se escribió ($contenido) en el archivo ($nombre_archivo)";

    
fclose($gestor);

} else {
    echo 
"El archivo $nombre_archivo no es escribible";
}
?>


GITHUB 

alister

Cita de: The_C_Coder en  9 Febrero 2013, 20:21 PM
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?
Back 2 business!

MeTaD

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:
   
Citar4= 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

alister

#6
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
Back 2 business!

lucaslopez0000

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
La manera mas simple de solucionar los problemas de windows , los virus , el spyware , la basura de microsoft en general

USA LINUX

alister

Cita de: The_C_Coder 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

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
Back 2 business!

xassiz~

Cita de: alister en 14 Febrero 2013, 21:41 PM
Y es lo primero que hay que mirar siempre, asi que xassiz~ acertó de pleno :D
;)