Vider le contenu d'un fichier

FireHunter
Invité n'ayant pas de compte PHPfrance

22 déc. 2005, 00:51

Salut a tous,

J'aimerais savoir s'il est possible de vider un fichier quelconque a partir d'un script PHP et quelle est la commande pour arriver à une ligne précise.

Que je vous explique :
J'ai un ami qui tiens une plate-forme de blog et il veut que je lui fasse un systeme de fichier CSS pour que le membre puisse créer un design qui lui sera personnel.
J'ai commencé ce code :
<?php
	
	//On vérifie si le fichier existe
	if( file_exist(design_perso.css?session=$idsession))
		{
			//On ouvre le fichier
			$designperso = fopen("design_perso.css?session=$idsession", "r+") ;
			
			//On écrit dedans
			fseek(

//Et là c'est le vide total

?>
Mais je ne veux pas supprimer tout son contenu : je veux simplement supprimer les parties qui ont déjà été écrites par l'intermédiaire d'un script PHP puisque le CSS

Merci de votre aide et joyeux Noël à tous !

FireHunter
Invité n'ayant pas de compte PHPfrance

22 déc. 2005, 00:56

Puisque le CSS .... est déjà créé désolé j'ai oublié ce petit bout

Eléphant du PHP | 353 Messages

22 déc. 2005, 01:50

A mon avis tu vas galérer. Le plus simple serait de stocker les données sous une forme plus facilement manipulable. Je pense par exemple à une base de données ou un fichier xml.

Mammouth du PHP | 1311 Messages

22 déc. 2005, 10:55

pour vider un fichier il siffit de m'ouvrir en ecriture avec w
sinon l'option xml me parait plus approprié

edit: si tu ouvre en ecriture tu efface tous

Eléphant du PHP | 76 Messages

22 déc. 2005, 12:25

un conseil nomme tes fichiers css

style_login.css et change login par le login (session_name si tu préfères)... tu n'auras plus ces problèmes là :) par contre pense à mettre le login en unique dans la DB sinon tu peux utiliser ton identifiant unique... :)
La vie est une maladie mortelle sexuellement transmissible!

Mammouth du PHP | 1311 Messages

22 déc. 2005, 12:28

ou alors tu peut aussi les creer dynamiquement

Invité
Invité n'ayant pas de compte PHPfrance

22 déc. 2005, 17:22

un conseil nomme tes fichiers css

style_login.css et change login par le login (session_name si tu préfères)... tu n'auras plus ces problèmes là :) par contre pense à mettre le login en unique dans la DB sinon tu peux utiliser ton identifiant unique... :)
Non c'est pas vraiment sa j'ai pensé à d'abord une page ou donne un nom au fichier css et apres le formulaire pour le remplir mais je crois que je vais prendre le script PHPBB que j'ai sur mon espace.....

Merci pour vos idées et Joyeux Noel !

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

22 déc. 2005, 19:13

Je plussoie nicolas. Quelque soit le script que tu vas réaliser, il ne sera pas exempt de bug. Dans ce cas si jamais tu te loupes lors de l'ecriture, tu vas complètement detruire tes fiches, un peu embêtant :?
Alors que si tu stockes des valeurs, et que tu génères tes CSS à la volée, tu minimises le risque de destruction de données ET c'est beaucoup plus simple à gérer, à faire évoluer, toussa toussa.

Eléphant du PHP | 217 Messages

22 déc. 2005, 21:33

Le soucis de la génération à la volée est que le navigateur ne gardera pas le style en cache. donc un des avantages des feuilles de styles externe n'est pas pris en compte.

L'écriture dans un fichier peut se faire, il faut seulement avoir une strucutre de donnéee fiable afin de pouvoir sélectionner ce que l'on veux à l'aide d'expression régulière ce qui peut être le cas avec du css.

J'ai prévu de développer un tel script malheureusement je n'ai pas beaucoup de temps libre actuellement.

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

22 déc. 2005, 21:43

Le soucis de la génération à la volée est que le navigateur ne gardera pas le style en cache. donc un des avantages des feuilles de styles externe n'est pas pris en compte.
Absolument pas :!:
D'une part tu peux gérer la mise en cache avec des entêtes HTTP standard via header(), mais c'est peu fiable étant donné que les navigateurs n'en font qu'à leur tête de ce côté là.
Par contre avec le PATH_INFO, tu peux très bien avoir une url du type http://serveur/script_qui_genere_la_css ... _cours.css, et du coup le navigateur n'y verra que du feu et gèrera son cache comme un grand :langue:
L'écriture dans un fichier peut se faire, il faut seulement avoir une strucutre de donnéee fiable afin de pouvoir sélectionner ce que l'on veux à l'aide d'expression régulière ce qui peut être le cas avec du css.
Jusqu'au jour où... Et à tous points de vue la gestion dans le cas de la séparation données/résultat est infiniment plus simple, et le script sera plus robuste.

Ce n'est qu'un conseil, mais je t'assure que je donne rarement de mauvais conseils, si je ne suis pas sûr de moi je m'abstiens, et je parle d'expérience. Mais je préfèrerais que tu refléchisses tout seul aux avantages et inconvénients de chaque méthode, si tu tombes seul sur la même conclusion ce sera bien plus positif ;)