Page 1 sur 1

Random access ou btree en php

Posté : 30 déc. 2007, 13:19
par eureka
Bonjour,

Je recherche une librairie pur php implémentant l'accès direct à un fichier (random access file) et eventuellement le btree.

Merci par avance pour votre aide :)

Posté : 30 déc. 2007, 13:37
par zeus
Essaye de détailler plus précisément ce que tu recherches par un exemple, car j'ai du mal à comprendre ce que tu essayes de faire.

Posté : 30 déc. 2007, 13:42
par eureka
Merci pour ta réponse rapide ! :)

Je voudrais une classe php qui me permette d'accèder directement au nième enregistrement d'un fichier sans avoir à lire le début du fichier sachant que les enregistrements sont de longueur fixe. Cela s'appelle un fichier à accès relatif (random access file en anglais).

Posté : 30 déc. 2007, 13:45
par Sékiltoyai
Je ne sais pas si ca existe, mais ce qui est sur, c'est que ce n'est pas bien compliqué à réaliser si les enregistrements sont de taille fixe.

Mais pourquoi n'utiliserais tu pas plutôt une base de données ?

Posté : 30 déc. 2007, 13:52
par eureka
Je sais que ce n'est pas bien compliqué à réaliser mais si la librairie existait, ça m'éviterait de réinventer la brouette.

exemple en lecture :
$file = new RandomAccessFile('fichier.raf');
$record = $file->read(12); // lecture du 12ème enregistrement
// traitement de l'enregistrement
exemple en écriture :
$file = new RandomAccessFile('fichier.raf');
$record = "AAAAA BBBBBBB";
$file->write(212, $record); // écriture du 212ème enregistrement
Je pourrais utiliser une BD mais la personne qui peut héberger mon appli ne veut pas de BD.

Posté : 30 déc. 2007, 14:04
par momox
Dans ce cas la, un tableau indexé stocké avec serialize dans un fichier peut faire l'affaire non ?
@++

Posté : 30 déc. 2007, 14:10
par eureka
Non parceque ça sera trop mauvais en termes de performance d'accès et trop gourmand en termes de consommation mémoire pour de très gros fichiers.

Bon si personne ne me fournit un lien d'içi ce soir, je vais programmer ma classe avec les fonctions fseek et ftell et si ça vous interesse je la publierai içi.

Merci tout de même :)

Posté : 30 déc. 2007, 14:53
par Sékiltoyai
Je pourrais utiliser une BD mais la personne qui peut héberger mon appli ne veut pas de BD.
Même du sqlite ? (ca ne demande même pas de serveur)

Posté : 30 déc. 2007, 15:39
par eureka
sqlite est une excellente idée mais si l'extension n'est pas activée sur son serveur, je doute qu'il accepte de le faire ! Mais qui ne demande rien, n'a rien ...

Merci ;)