Contacto | #php_para_torpes | Enlázanos | ¿Quiénes somos?
33 usuarios Online (0)
Darse de alta en la web | Recuperar password   
Inicio / Archivos de la web / Scripts / fileSQL / Versión 1.0pre6

Datos del Archivo

  • Autor/es: thessoro
  • Fecha de alta: 15-06-2004
  • Descargas: 391

Votación

No estás registrado

Descarga

Archivo zip

Descargar Archivo

(8,02 KB)

Otras versiones

fileSQL v1.0pre6

Valoración (3,67 en 3 votaciones )

Conjunto de funciones que permiten manipular datos en archivos de texto mediante queries tipicos de SQL. Incluye las funciones file_connect, file_query, file_result, file_num_rows, file_fetch_array, file_fetch_row, file_close que se usan de forma análoga a sus equivalentes mysql_* :

Características de esta versión:

-


Comentarios (15)

Avatar de infinit #1 infinit
15 jun 04 (17:45)
Wou Thessoro te has lucido con este script, es buenisimo!
Avatar de Gerald #2 Gerald
15 jun 04 (18:03)
Tiempo de Record.... este thessoro es un gran phpero ;)
Sus scripts y tutoriales rompen records de aceptacion :)
Avatar de ZydRick #3 ZydRick
18 jun 04 (14:35)
Esta dpm, supongo q tarbajarás más en el. Pues está muy bien, hacerlo más compatible con otars opciones de SQL, como LIMIT, NOW, etc..

Hacia tiempo habia pensado en algo así pero bah! pensaba que era más complicao...

en fin...

Un saludo y q está dpm.
Avatar de ZydRick #4 ZydRick
18 jun 04 (14:48)
Por cierto, LIMIT ay se que lo soporta, pues n habia mirado entero el script.

Se agradeceria un poco más de comentarios, pues sería más practico entenderlo para pricipiantes.

Saludos.
Avatar de thessoro #5 thessoro
18 jun 04 (23:28)
Bueno primero, que no te engañe la longitud del script, lleva un trabajo intensivo en expresiones regulares... mejor dicho: fileSQL son expresiones regulares por un tubo, algunas de ellas llevan mas de 6 horas de pruebas de todo tipo, a pesar de ser una unica linea.
Si, estoy deacuerdo, debería llevar más comentarios, pero me encontraba en un dilema, o lo explicaba todo o no explicaba nada. Y explicarlo todo hubiera llenado el script de comentarios hasta hacerlo ilegible:
Por ejemplo:
"/[ ]?(')?(.*?)(?(1)'[ ]?(?:,|$)|(?:,|$))/is"

Puedo decir: si, es una expresion regular, pero realmente no estaría aportando nada, si lo comentara todo tendria que meter 8 lineas de comentarios para explicar lo k hace.

o

"/^(.*) FROM [`]?([^ `]+)[`]?( WHERE |)((?<=(?:WHERE )|).*?(?=(?: ORDER BY| LIMIT)|$))( ORDER BY |)((?<=(?:ORDER BY )|).*?(?=(?: LIMIT| ASC| DESC)|$))( ASC| DESC|)( LIMIT |)((?<=(?:LIMIT )|).*(?=(?:$|)))/is

se ve mejor lo que hace, pero si me lio a explicar las aserciones lookbehind y lookahead k tiene pues se me va la mañana.

Si, metere funciones mysql, aunque lo siguiente sera aparte de terminar create, meter el IN y el NOT IN en las clausulas WHERE (porque lo necesito). De meter funciones, me parece mas logico sin embargo meter algunas como MAX() o MIN(), ya que NOW() seria trivial. Lo bueno de NOW en mysql es que depende del tipo de campo que sea te mete el dia de hoy de una u otra manera, en fileSQL tendria que limitarse a introducir un time() o un date("j/n/y") (y eso lo puede hacer el usuario igual de facilmente)

Si la clausula LIMIT me parecio prioritaria. Así, fileSQL puede "enlazar" con (supuestamente) todos los scripts paginadores que hay en la web, simplemente cambiando mysql_query por file_query.

Avatar de Aeoris #6 Aeoris
19 jun 04 (00:36)
Que bien habla este chiquito :D
Avatar de Gerald #7 Gerald
19 jun 04 (00:45)
Que edad tiene Thessoro?
Avatar de ZydRick #8 ZydRick
19 jun 04 (09:52)
Bueno thessoro eso es verdad o todo o nada jeje...

A todo esto se podria hacer un archivo de configuración, con una variable $dbtype donde pongamos el tipo de db que queremos usar y luego usarlo para llamar a funciones?
Me explico, por ejemplo:

--- Archivo config.php ---

Código PHP


<?php
$dbtype
='file'; //Se especificaria el tipo de base datos (file o mysql)
$server='db'; /*ponemos el path en caso de que sea el tipo file la base de datos a usar sino ponemso entre comillas separado por comas:
servidor,usuario,contraseña, ej.: $server='"localhost","user","password"';
*/
//weno y por aqui más configuración
?>


--- Fin archivo config.php ---

Después el archivo de conexion:

--- archivo conexion.php ---

Código PHP


<?php
$c
=$dbtype._connect(eval($server));
/* weno y seria igual para los querys y todo eso... */
?>


--- Fin Archivo de conexión ---

Es un metodo que no se si se puede hacer... sino sería muy facil, usar una clase y está.

Por cierto esta, como diria, ¿libreria? para que funcione con archivos, ejecuta lso querys rapido¿? Bamos que si es más lento que usar MySQL/Postgree o más rapido. Esque aún no la he usado aúnque parece interesante :P

Un Saludo.
Avatar de Aeoris #9 Aeoris
19 jun 04 (14:08)
Yo le echo diez o doce años :D

Hacia tiempo habia pensado en algo así pero bah! pensaba que era más complicao...

Se tiró dios dias el pobre con una regexp :|
Avatar de gOnDo #10 gOnDo
20 jun 04 (01:40)
que mostro el thessoro , me deja sin palabras ....
Ha porcierto , no 12 años , pero 14 o 15 si k le hecho xDDD
Avatar de thessoro #11 thessoro
20 jun 04 (06:21)
JuSePe, si tuviera 10 o 12 años, tu madre estaria en la carcel por pederasta.

No he medido los tiempos, pero por definicion, hacer querys con estas funciones es mas lento que hacerlas con las mysql_* a una base de datos. Es normal, para empezar las funciones mysql_* estan en C, y conectan a una base de datos compleja donde los datos se almacenan con un determinado tipo, y con implementaciones muy rapidas de indexado y busqueda.

Como ves todas estas funciones son en PHP, y sin tener cuidado del tipo de datos:
por ejemplo: 200 ocupara 3 bytes en el sistema fileSQL y en mySQL solo ocupa 1 byte (se guarda el numero, no la cadena)

Realmente he hecho esto exclusivamente por comodidad y para manejo de archivos relativamente pequeños donde no se disponga de una base de datos. Con estos supuestos, el tiempo de ejecución no me preocupa, parto de la base de que seran mas lentas.
Igual que te digo esto te digo que, si tu web se genera a base de ficheros de texto posiblemente fileSQL sea mas rapido y tus scripts seran mas cortos (y mucho mas facil para debugear y testear) que si empiezas a manejar los archivos a pelo (sobre todo archivos de cierta complejidad) llenandolo todo de explodes,implodes, fputs para cada accion que se haga sobre los archivos.

Avatar de ZydRick #12 ZydRick
20 jun 04 (16:30)
Pero una cuestión para hacere sto con PHP5 ya viene por defecto MySQL Lite, ¿no?

Así y todo me gusta esta alternativa, esta bien :D

Un Saludo.
Avatar de thessoro #13 thessoro
20 jun 04 (19:00)
Si pero con sqlite no tienes acceso real a los archivos. Con este sistema, si quieres tu mismo puedes modificar los datos directamente de los archivos, o escribirlos enteros.
el script es para lo que es y no quiere sustituir nada, si hasta ahora usabas fopen o file y recorrias penosamente las lineas de tus ficheros para buscar, seleccionar o borrar informacion, esta es una interesante alternativa.
Avatar de ZydRick #14 ZydRick
21 jun 04 (17:08)
Ya :D esta peazo way :P

Un Saludo y norawena, esperamos nuevas versiones :P:P

Un saludo ;)
Avatar de OmaR #15 OmaR
27 jul 04 (10:41)
http://php-hispano.net/descargas/fileSQL.html

thessoro como as hecho lo de Descargas fileSQL, le pasaste el zip a zubyc y el lo subio ?
Para poder participar debes estar registrado e identificado. Si no estás registrado como usuario de PHP-Hispano, :: Registrar ::
Login / Password   

Web alojada en Zilos

php-hispano.net 2002 - 2008 | XHTML 1.0
Datos Legales | Webmaster