Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/07/2007, 18h20   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
Par défaut Écrire dans un fichier modèle

Bonjour à tous.

Voici mon pb:je voudrais rajouter des lignes ds un fichier dont le modèle serait pris dans un autre fichier.
je ne sais pas si je suis clair mais c'est assez simple; en fait j'ai un fichier modele ds un repertoire qui ressemble à ça:
Citation:
toto
titi
tata
{LIGNES}
tete
tutu
et ce que je voudrais faire, c'est rajouter des lignes (que je crée à partir de champs récupérer ds une bdd), prendre le modele et remplacer {LIGNES} par mes lignes récuperées et enregistrer le tt ds un autre fichier.

J'espere que c'est un peu plus clair;sinon voici le code de ma fonction où ça coince:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
function creer_fichier(){
 
	$sql =  'SELECT '.
            '* '.
        ' FROM '.
            _TABLE_OPERATION.' o '.
        'WHERE '.
            'o.ignorer = \''.my_addslashes(false).'\' AND '.
            'o.dans_batch = \''.my_addslashes(false).'\' ';
 
	$resultat = mysql_query($sql);
 
	$i = 1;
	$lignes = '';
 
	while ($fich = mysql_fetch_array($resultat))
	{
		$lignes .=  "TP".$fich['date_valeur']."P ".$fich['date']."  ".sprintf('%05d', $i).sprintf('%09d', ($fich['montant']*100))."E                    \n";
		$i++;
 
 
	}
	echo $lignes;
	if ($i > 1){
	$bat = '';
	if (!($fp = @fopen($modele = MODELE_BATCH, 'r')))
	{
		echo "Impossible de trouver le modèle <b>".$modele."</b> ";
	}
	else
    {
		if (!is_dir($dir = REP_BATCH.'/'.date('Y'))) mkdir($dir, 0777);
        if (!is_dir($dir = REP_BATCH.'/'.date('Y').'/'.date('m'))) mkdir($dir, 0777);
 
        if ($fp = fopen($fichier = $dir.'/releve-'.date('Ymd-His').'.txt', 'w'))
        {
            fputs($fp, $bat=str_replace("{LIGNES}\n", $lignes,$bat));
            fclose($fp);
        }
		else
		{
			echo 'le modele ne peut pas etre ouvert';
		}
	}
	}
}
Ttes les variables sont bien définies, la requete me retourne bien des lignes mais je crée des fichiers vides.
D'où vient le pb???

Merci pour vos réponses
alibab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2007, 07h40   #2
Modérateur
 
Avatar de blueice
 
Inscription : mars 2003
Messages : 3 422
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2003
Messages : 3 422
Points : 4 110
Points : 4 110
Envoyer un message via ICQ à blueice Envoyer un message via MSN à blueice Envoyer un message via Skype™ à blueice
Essaye de faire un trim($lignes) à tout hasard...
Sinon tu peux essayer avec file_get_contents() et file_put_contents()
__________________
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
Pensez également à cocher

Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

Dimension Internet - Carnet Web
Imprimerie Nice
blueice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2007, 13h33   #3
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
Merci blueice;
effectivement,j'ai du passer par file_get_contents() pour que ça fonctionne.
Par contre je ne vois tjs pas pourquoi ça ne marchait pas avant
Bon,en tout cas,le principal, c'est que ça marche.
Encore merci et bonne continuation
alibab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h08.


 
 
 
 
Partenaires

Hébergement Web