Integrer des fichiers de ressources dans un script

Soyez le premier à donner votre avis sur cette source.

Vue 3 846 fois - Téléchargée 265 fois

Description

Avec ce script vous pouvez intégrer n'importe quelle type de ressource dans un fichier de script PHP.

Exemple : fichier de style css, ou bien images png, ou bien un fichier d'archivage.

L'avantage de cela c'est que vous n'aurez pas plusieurs fichiers mais un seul fichier qui comporte tous les éléments dans le cas de fichiers css ou png. Vous pouvez donc créer un soft de type utilitaire avec de l'habillage et des illustrations le tout dans un seul fichier.

Un autre avantage est de pouvoir créer un fichier qui peut décompresser des ressources, genre un setup.php.

Dans le zip vous trouverez un exemple d'utilisation, un utilitaire pour gérer des fichiers scripts comportant des ressources, ainsi qu'une classe comportant la manipulation des ressources.

Conclusion :


Attention, une fois que vous avez intégré des ressources dans le fichier, celui-ci n'est pas à éditer car certains éditeurs transforment les bit à l'enregistrement du fichier et corrompent le fichier.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

aKheNathOn
Messages postés
276
Date d'inscription
dimanche 22 juillet 2001
Statut
Modérateur
Dernière intervention
5 décembre 2013

Salut Garno,

C'est un ptit script monté en à peine quelques heures pour un besoin très précis, j'ai même eu la fleime d'en faire un script complet - d'où le manque de gestion des erreurs.

Salut valneandre,

C'est de l'objet, donc les "->" sont obligatoires et au moment de l'écriture de ce source j'étais en mode PHP5 compatible PHP4 donc les références aux objets (le "&") sont données explicitement car ça lui arrive de les cloner sinon.

Sinon désolé pour le manque d'explications.

Le principe est de mettre une commande stop à la fin du fichier php puis d'y empiler des ressources.

1. Le parseur PHP s'arrête au stop donc ne ralentit pas l'execution en lisant les ressources associées.

2. Si le script est appelé avec une variable portant le nom du fichier qui y est chargé, il en retournera son contenu au lieu de s'exécuter.

Le fichier ressources.class.php contient l'ensemble du code permettant de faire fonctionner le programme.

---

A tous, n'ayant pas le temps je n'ai pas totalement finit le code, mais rien ne vous empêche de l'améliorer et de publier son évolution sur PHPCS.

---

Bonne Prog,
Akh
valneandre
Messages postés
35
Date d'inscription
mardi 7 novembre 2006
Statut
Membre
Dernière intervention
18 septembre 2009

Je viens enfin de tester le script. Sympa, ça marche, mais... pour quelqu'un, comme moi, qui ne maîtrise pas encore tous les aspects de PHP, je trouve que ça manque un peu de commentaires, et les messages sont en anglais. Bref, ça marche, mais par moments, je ne sais pas trop pourquoi, ni comment, et ça m'énerve !
J'ai du mal avec le "->" d'indirection, c'est du moins comme ça qu'on appelait en C le perluet "&", fait-il bien la même chose ici ?
Quelques comments, please !
Richard
cs_Garno
Messages postés
36
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
14 janvier 2009

Je viens tout juste de l'installer sur mon serveur et je trouve dommage qu'il n'y ai aucune gestion d'erreur... il y a des tonnes de permission denied non gèrés et des exceptions "uncaught". Dommage pour une source de ce niveau.
cs_Garno
Messages postés
36
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
14 janvier 2009

Quelle bonne idée ! Ça va rendre la gestion de template/css beaucoup plus aisé. Je m'empresse de tester ton script.

Par contre comme tu la dis toi même il serait pas mal de pouvoir charger seulement les ressources nécessaires et non le package complet. Donc getFile() me semble être un bon début.
aKheNathOn
Messages postés
276
Date d'inscription
dimanche 22 juillet 2001
Statut
Modérateur
Dernière intervention
5 décembre 2013

Merci bcp pour vos commentaires :)))

kankrelune > Pour la partie base64 c'est pas possible car çà prendrait trop de place. De plus, pour aller plus loin les ressources sont en plus compressées en gzip.

Une seule auto-critique car eu la fleime de le faire, c'est bien d'indexer chaque fichier pour trouver une ressource rapidement, mais ce n'est pas utile vu qu'au chargement toutes les ressources sont chargées en mémoire. La fonction getFiles est à refaire, voir refaire une fonction getFile(...) pour ne charger en mémoire que le fichier nécéssaire, ou faire du lazy loading. (donc pas conseillé de l'utiliser sur des setup de 10mo de fichiers avec + de 500 fichiers)

malalam > merci pr ton com / c vrai que des fois j'ai pas de retour (je pense à dotview nottament) mais je reste fidèle à phpcs car jm bien les membres de ce réseau :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.