Probléme avec fwrite

[Résolu]
Signaler
Messages postés
30
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
15 janvier 2010
-
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
-
Bonjour,
j'ai un probleme avec fwrite();

je suis entrain d'organiser un fichier css. Voila le code:

//1)
$fichier_css=fopen(".........","r+");
$str1=fread($fichier_css,filesize("...."));
$x=str_replace(";",";\n",$str1);
$fic=fopen("......","w+");
fwrite($fic,$x);

//2)
$x1=str_replace("{","{\n",$str1);
$fic1=fopen("......","w+");
fwrite($fic1,$x1);
.
.3)
.
Bon ca marche mais seulement la premiére modification 1), toutes les autres modification sont ignorés
je ne sais pas pourquoi
Si vous avez une idée merci de m'aider.

3 réponses

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
OULA !!!

C'est bien ce que je craignais, ne le prends pas mal mais ton code est assez bordélique

Avant toute chose : SIMPLIFIE !!
Tu ouvres 4 fois le même fichier (2 fois pour le second), à quoi bon ? Une seule ouverture suffit.

1- Ouverture et lecture du fichier (fopen/fread ou plus simplement file_get_contents())
2- Traitement de la chaîne (str_replace() que tu peux également utiliser avec des tableaux : 1 pour les occurrences à trouver, l'autre contenant les chaînes de remplacement)
3- enregistrement du fichier (fwrite ou file_put_contents)

En faisant ça ton code devrait pouvoir tenir sur 10 lignes, ... et être bien plus lisible.


Cordialement,


Kohntark -
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

Le nom des fichiers est secret ??
Il serait bien que tu les mettes car le pb peut venir de là.
2, 3 mots sur le but recherché seraient également appréciable.


Cordialement,


Kohntark -
Messages postés
30
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
15 janvier 2010

Bonjour,
Pas du tout les nom des fichiers ne sont pas secrés
mais j'ai fait de facon pour aller plus vite quoi, Vous avez raison voila tout le code
mais le probleme que la fonction fwrite marche mais 1 fois:


$fichier_css= fopen("fichier_telecharger/output/fichier.css","r+");
$str1= fread ($fichier_css, filesize ("fichier_telecharger/output/fichier.css"));
$x= str_replace(";",";\n" ,$str1);
$fic= fopen("fichier_telecharger/output/fichier.css","w+");
fwrite ($fic, $x);

$x1= str_replace("}","\n}",$str1);
$fic1= fopen("fichier_telecharger/output/fichier.css","w+");
fwrite ($fic1, $x1);

$x2= str_replace(".","\n\n.", $str1);
$fic2= fopen("fichier_telecharger/output/fichier.css","w+");
fwrite ($fic2, $x2);

//modification du fichier introduit par l'utilisateur

$x3= str_replace("<head>","<head>\n <link rel="stylesheet" type="text/css" media="all" href="fichier.css"/>",$str);
$fic3= fopen("fichier_telecharger/".$fichier, "w+");
fwrite($fic3,$x3);

$replace="";
$x4= preg_replace($expression,$replace,$str);
$fic3= fopen("fichier_telecharger/".$fichier, "w+");
fwrite($fic4,$x4);

fclose ($fic1);
fclose ($fic2);
fclose ($fic3);
fclose ($handle);
}
Bonne journée