2010-06-11 5 views
0

Comme il y a des problèmes majeurs de confidentialité avec beaucoup de sites de réseautage social, j'essaie de penser à des alternatives. L'une consiste à laisser l'utilisateur conserver toutes les informations stockées dans un type de conteneur de fichiers. Maintenant, je n'ai pas trouvé un seul type de conteneur pouvant contenir des informations "génériques". Seulement pour l'audio/vidéo. Ce que je veux, c'est un conteneur qui peut être lu par PHP avec un fichier d'index qui répertorie les images des utilisateurs dans un répertoire/image dans le conteneur, fichiers FOAF (ou un autre fichier XML décrivant les informations des utilisateurs et amis, etc.). Mon idée était de laisser l'utilisateur conserver toutes ses informations et données stockées dans un conteneur qui peut être importé/exporté et supprimé de mon serveur (le site de réseau social prototype que j'essaye de créer), puis transféré vers un autre site qui pourrait utiliser le même format (pas que je pense que cela arrivera jamais, mais l'utilisateur conserve toujours toutes leurs images, données, commentaires, messages, etc). La seule chose que j'ai inventée jusqu'ici est de créer une archive tar avec la bibliothèque Archive_tar qui extrait et crée des archives Tar avec un fichier d'index décrivant quels fichiers contiennent les messages (il pourrait y en avoir plusieurs pour chaque fichier ne sera pas si grand), quelles sont les images dans l'image/dossier et quels sont leurs noms et quels commentaires ils ont obtenus etc. Peut-être aussi les autorisations pour visualiser chaque type de contenu.Conteneur de fichier générique pour une lecture rapide des données

Existe-t-il un format de fichier générique d'un conteneur que je peux utiliser pour conserver toutes ces informations dans un seul fichier avec un fichier d'index arborescent? Ou dois-je essayer de créer quelque chose comme ça moi-même?

+0

Vous ne savez pas exactement ce que vous demandez, mais le format de fichier le plus générique et portable auquel je puisse penser à cette fin est un fichier XML. – Gordon

+0

@Gordon Le fichier XML serait un format de fichier portable pour l'indexation, mais il ne s'agirait pas d'un conteneur pour conserver tous les fichiers et toutes les données stockés dans un seul fichier. EDIT: Pour expliquer plus simplement: Dans un fichier audio/vidéo conteneur, comme Matroska par exemple, vous avez un fichier vidéo et un fichier audio et un fichier d'index qui décrivent les fichiers dans le conteneur matroska. Je veux la même chose, mais pas pour l'audio/vidéo mais pour les fichiers généraux. – bleakgadfly

+0

Je ne l'obtiens toujours pas, mais vous pouvez convertir des données binaires, par ex. un format JPG au format base64, puis le stocker dans un fichier XML. Il va probablement gonfler le fichier XML, mais n'est-ce pas fondamentalement ce que vous cherchez?Comme alternative, avez-vous envisagé d'utiliser SQLite à la place? – Gordon

Répondre

0

-t-il existe un format de fichier générique d'un conteneur que je peux utiliser pour garder toutes ces informations

Non - et pour une bonne raison. Vous auriez besoin d'une sémantique de verrouillage très sophistiquée (qui est très difficile à implémenter). Même avec cette peroformance serait effroyable - vous proposez d'écrire votre propre système de fichiers en PHP? Alors que, par exemple, OLE de Microsoft est un système de fichiers intégré dans un seul fichier - ils sont très sélectifs sur la façon dont ils utilisent cela. Commencez à penser 'répertoire' au lieu de 'fichier' et la solution deviendra claire, mais je ne vois absolument pas quelle pertinence cela a pour les problèmes de confidentialité des sites de réseautage social et encore moins pour les résoudre.

C.

+0

Non, je n'écris pas la méthode d'archivage en PHP, je l'écrirais en C ou équivalent, mais je Je voudrais l'utiliser en PHP, pour lire le contenu. J'ai envisagé d'utiliser l'archive tar, mais j'aimerais avoir un script PHP qui lit l'en-tête avant de l'annuler. La meilleure solution serait d'avoir un format déjà existant, et je ne peux pas me rapprocher de XML ou de tar. – bleakgadfly

1

Faites ce que les OpenDocumentFormat (ODF) ne: produire un fichier XML avec URIs (. Soit local, par exemple file: // ou distant) pointant vers d'autres fichiers. Donnez un nom commun au fichier XML (root.xml ou similaire). Fermez le tout et changez l'extension. Zip est commun partout - même Windows peut les ouvrir en mode natif - ce qui le rend agréable si l'utilisateur veut extraire les images/films/etc sans avoir à télécharger un outil supplémentaire.

Questions connexes