Foros del Web » Programando para Internet » PHP »

Archivos: Peligro respecto a hacer un blog con archivos txt

Estas en el tema de Archivos: Peligro respecto a hacer un blog con archivos txt en el foro de PHP en Foros del Web. Saludos chicos. He montado un sistema complejo de blog, en el que se pagina el texto, y que voy creando cada vez que escribo un ...
  #1 (permalink)  
Antiguo 09/06/2006, 13:17
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 1 mes
Puntos: 2
Archivos: Peligro respecto a hacer un blog con archivos txt

Saludos chicos. He montado un sistema complejo de blog, en el que se pagina el texto, y que voy creando cada vez que escribo un texto , lo divide en trozos, y los pagina.

Tengo cantidad de archivos txt con cosas. Y la pagina del blog en sí es todo un programa semi-largo donde se gestiona la entrada por parámetro de la pagina, y abre y cierra archivos dependiendo de lo que pide la gente.

Sé que se podría haber hecho con mySql, pero decidí que no quería depender de una base de datos, aunque me costara mas tiempo.


ahora que ya lo tengo casi todo montado... he pensado: carajo. y si se mete mucha gente, y alguien abre un archivo a la vez que otro..etc.?

soy un poco novata en esto, y creo que a lo mejor hay otra forma de escribir lo que hay en un txt sin tener que abrirlo con fOpen, y cerrarlo con fclose.
Sinceramente, me he leido todo tipo de guías, pero no se si realmente he decidido bien..

¿como lo veis? (ah..tenía que haberlo preguntado antes).el lio ya esta todo montado, lo que temo es que me vaya a dar problemas.



Gracias
  #2 (permalink)  
Antiguo 09/06/2006, 13:50
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 1 mes
Puntos: 78
Yo creo que te dara problemas, y no entiendo porque no usastes base de datos ya que seria mas potente y mas facil de implementar :(
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #3 (permalink)  
Antiguo 09/06/2006, 14:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si usas archivos de texto plano, una de las cosas que tendrás que hacer es implementar "bloqueos" de los archivos selectivamente para evitar problemas de concurrencia (que los tendrás) y afectaran a los archivos que reciban muchas escrituras y lecturas simultáneas.

Me refiero a usar técnicas como:

flock()
http://www.php.net/manual/es/function.flock.php

Por cierto .. si ya decidistes no usar una BBDD .. podrías haber seguido algún standard como por ejemplo XML que sería lo ideal .. al fin y al cabo un "XML" en su base es un archivo de texto plano . .eso sí con ese formato standar y no el que tu te "inventastes" (como todos solemos hacer cuando trabajamos con archivos de texto plano).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 09/06/2006, 14:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Sé que se podría haber hecho con mySql, pero decidí que no quería depender de una base de datos, aunque me costara mas tiempo.
Pero .. no quieres depende de una "BBDD" en concreto .. o de usar "Base de datos" en general? ....

Tienes capas de abastracción de BBDD que pueden hacer a tu aplicación independiente de que BBDD usar .. sea una Mysql .. o una MS SQL Server .. etc. Algunas usan hasta "SQL Lite" .. que es una BBDD basada en archivos de texto plano pero con acceso "SQL" a sus datos .. Y .. lo dicho, a malas podrías haber usado XML para una posible migración de tu sistema a otros .. o incluso para accederlo (los datos) con otros sistemas ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 09/06/2006, 15:17
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 1 mes
Puntos: 2
Ya veo...

Yo simplemente no quiero depender de que algún dia pueda perder mis datos, porque he pagado en un servidor, y no sé como hacer esto que me decís, yo soy muy novata, y sé C++ y trabajar con archivos, asi que decidí hacerlo.

mm. Quizás haya problema en escritura y lectura para comentarios, pero eso se podría intentar arreglar en mysql.
Pero para los textos... podría haber un problema con esto, si solo se leen archivos y no se escriben?


Esque ...joe. llevo un mes y medio con esto, y al final que lo acabo ahora me decís que no lo haga. :_ dios. me pego un tiro. En serio.


Y XML? estoy yo para aprender cosas de XML. No tengo ni idea, he tenido que aprender php,css,dhtml y sql para lo que necesitaba en TIEMPO RECORD. y ahora que me iba de viaje un mes, y tenía ganas de ir contando lo que hacía...ahg. No puedo aprender mas cosas . quiero hacerlo con lo que sé, y a ver si tiro bien!. Por favoooor :_
  #6 (permalink)  
Antiguo 09/06/2006, 15:21
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 1 mes
Puntos: 78
darkgaze la posibilidad de perder tus archivos TXT y un MySQL es la misma. Incluso si tienes muchos datos es mas factible que se rompa un archivo txt que un MySQL.

La idea de usar XML esta buena porque organizarias de manera standard tus datos, pero para este trabajo especifico lo mejor es usar una base de datos.
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #7 (permalink)  
Antiguo 09/06/2006, 15:32
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 elquique
darkgaze la posibilidad de perder tus archivos TXT y un MySQL es la misma. Incluso si tienes muchos datos es mas factible que se rompa un archivo txt que un MySQL.

La idea de usar XML esta buena porque organizarias de manera standard tus datos, pero para este trabajo especifico lo mejor es usar una base de datos.
Coincido plenamente ...

Si ya lo tienes hecho .. a lo sumo usa la función que te mencioné en los scripts que manejen archivos que sean de lectura/escritura y los que son de lectura sólo .. los puedes dejar como están (me refiero al scritp que lo abre ..)

Por el tema de "perdida de datos" .. es cosa tuya de contratar un proveedor de hosting de tu confianza .. que te haga respaldos/Backups diarios .. que tu tengas medios automáticos para "respaldar" los datos que tu aplicación genera (con scripts tuyos que por otro lado habitualmente saques del servidor) . .en fin .. no hay justificación por ese lado para no usar un motor de BBDD mucho más robusto que tu "programación" de manejo de archivos .. Mysql por ejemplo como todo motor de BBDD al final caen sus datos en archivos .. pero ese el "motor" el que gestiona como se abren, privilegios y seguridad en general .. Tienes que tener cuidado .. no sé donde gestionaras tus archivos en la estructura de tu aplicación .. pero un "despiste" o mala configuración del servidor (por ejemplo permitir hacer "indices" de un directorio) podría desvelar comodamente tus datos completos!!!!.

Por cierto .. para que desarrollas un "Blog" habiendo tantos en el "mercado" .. gratuitos y con una enorme comunidad que los soporta y conoce? .. No te discuto que con ese desarrollo habrás aprendido mucho .. pero a veces mas vale mirar que hay en el "mercado" antes de hacer algo sobre todo con aplicaciones más o menos "standards" como la que comentas. (por cierto .. tu "blog" sindica el contenido en RSS? .. es por poner un ejemplo de lo que no es necesario "re-inventar" la rueda en muchos casos .. ).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 09/06/2006, 23:55
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 1 mes
Puntos: 2
Sinceramente, mi blog es una tontería. Son textos html para cada pagina, uqe van saliendo. Estoy montado un organizador por dias y uno por temas, y ya esta. Es muy sencillo.

Blogger es bueno, por ejemplo, pero mi blog está en el servidor donde estoy ubicada, no puedo usar uno de esos. No conozco otro tipo, y toda la estructura la he construido yo!, el diseño y todo.

No conozco RSS. Lo he visto por internet, he oido hablar de ello, pero ví a un amigo que lo tenia en su blog y era un follón de cosas, de organizacion...etc. Yo quería un libro. Lo mio es un libro con un par de etiquetas a un lado. Eso es todo, es casi como un portafolios!.

De veras, no lo se. De momento no quería meterme en esas cosas...
Pero me temo que..... voy a tener que usar la funcion esa.... de todas formas no me funciona lo de leer rutas en un txt, y estoy todavía esperando ayuda aqui, así que....


mmm. supongo que si no funciona mysql, tampoco lo haría el php.... no?.
Mis conocimientos llegan hasta un punto.... y estoy cansada de aprender cosas. Yo no me quiero dedicar a la programacion web, no se si me entendéis. Yo solo quería hacerme un maldito blog sencillo!, pero parece que....

tendré que meterme...en sql, otra vez, que olvidé hace 5 meses, cuando conseguí hacer un contador por ip, y ya estaba satisfecha.
  #9 (permalink)  
Antiguo 10/06/2006, 00:17
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
¿¿Por que no instalas un blog prefabricado y te ahorras problemas??

para mi el mejor ahora mismo por su sencillez, rapidez y usabilidad es Boastmachine

http://boastology.com/

Saludos
  #10 (permalink)  
Antiguo 10/06/2006, 06:38
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 1 mes
Puntos: 2
aish. no se, de verdad. que no tiene na!. No quiero búsquedas, no quiero que me organice nada, porqure yo ya tengo mi propio orden.
No es un blog común, es un blog que está ordenado como si fuera una libreta que se va pasando, incluso las paginas que borro se verán tachadas.

Es una especie de libro, si no, ya hubiera hecho estas cosas.

Aún asi me lo he bajado...para ver como es. Mil gracias.


Aún asi, me montare lo del mysql...
  #11 (permalink)  
Antiguo 12/06/2006, 02:46
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 1 mes
Puntos: 2
Exclamación

Me he bajado BeastMachine, lo que me has recomendado.

Esta muy bien y, aunque no consigo instalarlo a la de tres para probarlo, tiene DEMASIADAS COSAS. Yo no quiero ni puntuaciones, ni ordenes alfabéticos, ni ordenes de nada, yo solo quería por fecha y temática, que eso si que lo tiene, pero el resto, toooodo lo que ofrece, ni lo voy a tocar! Eso es lo que me pasa.
Sé poco ,y no se muy bien si podría modificar toda la estructura...porque...¿como pagino el contenido??. porque yo con esto, que contruye un blog de toda la vida, no me sirve! Realmente no sabría como hacerlo. Puedo aprovecharme, si, del código, pero aquí entro en un gran lio.

No se si me explico bien lo que quiero decir.
  #12 (permalink)  
Antiguo 12/06/2006, 10:49
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 1 mes
Puntos: 78
Yo creo que por ejemplo en WordPress es mas facil esconder lo que no usaras que hacerlo desde cero.

Igualmente si lo haces de cero o reconviertes lo que tienes lo haria usando mysql.
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #13 (permalink)  
Antiguo 12/06/2006, 12:07
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 1 mes
Puntos: 2
Yo creo uqe voy a hacerlo yo misma, que está chupado. ya sé programar en otros lenguajes, no me costará hacerlo.

Lo que me preocupa, y de lo que quisiera saber vuestra opinión, es , dado que yo no voy a saber tocar mucho las cosas de permisos... si solamente uso la bbdd para subir mis posts, y para obtenerlos, y tambien los comentarios asociados a cada post, ... tendré algun problema?. Es decir, que yo no me preocupo mucho de esas cosas....y no se si pasará algo.

Gracias
  #14 (permalink)  
Antiguo 12/06/2006, 13:55
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 1 mes
Puntos: 78
Yo creo que es la forma mas apropida, tambien creo que tu sensacion es que como en un TXT ves el archivo y en una DB on line no ves la base sientes miedo de perderla :) pero no te preocupes, la base esta ahi aunque no la veas como estas acostumbrada.

Dime en tu host tienes un panel de control donde crear y trabajar la base ? tipo un cpanel y un phpmyadmin ?? en cualquier de los dos que a veces vienen juntos trae una opcion para bajarte cuantas veces quiera el respaldo de la DB a tu disco.

Incluso si quieres tenerla funcional en tu pc puedes hacerlo ya sea instalando php y mysql por separado bajandolo de la web o instalando el easyphp que lo hace todo por si solo.
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #15 (permalink)  
Antiguo 13/06/2006, 02:28
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 1 mes
Puntos: 2
phpmyadmin tengo. Si . Tienes razón....
Lo haré, así es. Además no hay que saber mucho, incluso las tablas las puedes hacer a mano viendo lo que haces sin tener que saber programar mucho.

Muchas gracias!
  #16 (permalink)  
Antiguo 13/06/2006, 09:53
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 1 mes
Puntos: 78
Aa pero si tenes el phpmyadmin estas de otro lado :) es muy intuitivo la creacion de tablas y demas elementos.

Y para agregar al php el tema de la base de datos es bastante sencillo, no son mas de 10 ordenes :) y tu blog quedara bastante mas potente que con TXT.

Cualquier cosa a las ordenes saludos
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
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 02:50.