Page 1 sur 2
Ecrire dans un fichier
Posté : 19 nov. 2005, 18:24
par phpdog
Bonjour à tous
Je voudrai créer un script PHP qui permette d’écrire dans un fichier.
Quelqu’un connaît-il un tutoriale qui puisse m’aider ?
Posté : 19 nov. 2005, 18:25
par DarkBlue
Posté : 19 nov. 2005, 19:01
par phpdog
Bonjour DarkBlue et merci
Donc sur :
http://www.lephpfacile.com/cours/index.php?p=8
J’ai récupéré le script conteur de visite :
<?php
// Instruction 1
$fp = fopen ("compteur.txt", "r+");
// Instruction 2
$nb_visites = fgets ($fp, 11);
// Instruction 3
$nb_visites = $nb_visites + 1;
// Instruction 4
fseek ($fp, 0);
// Instruction 5
fputs ($fp, $nb_visites);
// Instrcution 6
fclose ($fp);
// Instrcution 7
echo 'Ce site compte '.$nb_visites.' visiteurs !';
?>
Puis j’y ai supprimer se qui ne m’intéresse pas :
<?php
$fp = fopen ("cible.txt", "r+");
fputs ($fp, azerty);
fclose ($fp);
?>
Le mot
azerty est bien écrit dans le fichier
cible.txt mais une erreur est renvoyée :
Code : Tout sélectionner
Notice: Use of undefined constant aerty - assumed 'aerty' in C:\easyPHP\www\ecrire\ecrire.php on line 5
Le fichier
cible.txt doit être créer manuellement avant le lancement du script, n’y a-t-il pas moyen de le générer avec le script php se fichier
cible.txt ?
Posté : 19 nov. 2005, 19:15
par Ripat
Posté : 19 nov. 2005, 19:16
par eSp
Salut,
Essaie plutôt ça:
<?php
$fp = fopen ("cible.txt", "w");
fputs ($fp, "azerty");
fclose ($fp);
?>
A noter aussi, que dans le cas où ton fichier n'existe pas, le script le créé automatiquement lorsque tu mets le mode 'w' !

Posté : 19 nov. 2005, 19:20
par DarkBlue
r+ ouverture en lecture et écriture
w+ ouverture en lecture et écriture (la fonction crée le fichier s'il n'existe pas)
Posté : 19 nov. 2005, 20:20
par phpdog
Bonjour Ripat et merci
Effectivement s’été cela.
Bonjour eSp et merci
Merci beaucoup votre script en encore mieux.
Bonjour DarkBlue et merci

Posté : 19 nov. 2005, 20:29
par phpdog
Maintenant à partit de se script :
<?php
$fp = fopen ("cible.txt", "w");
fputs ($fp, "azerty");
fclose ($fp);
?>
Je voudrai créer une zone de texte dans la page Web ou l’utilisateur pourras entrer le texte à écrire dans le fichier texte.txt, sauriez vous m’aider ?
Posté : 20 nov. 2005, 12:47
par eSp
Re,
Voici le formulaire d'entrée utilisateur:
Code : Tout sélectionner
<form action="write.php" method="POST"><p>
Zone de texte :<br />
<textarea name="text"></textarea>
<input type="submit" value="Soumettre la requête">
</p></form>
Puis le code du fichier
write.php:
<?php
//On récupère la zone de texte
$texte = $_POST['text'];
//On vérifie si celle là est renseignée
if(empty($texte))
{
print("<center>La '<b>zone de texte</b>' est vide !</center>");
exit();
} else {
//Si elle n'est pas vide on écrit dans le fichier texte
$fp = fopen ("cible.txt", "w");
fputs ($fp, $texte);
fclose ($fp);
}
?>

Posté : 20 nov. 2005, 12:54
par phpdog
Bonjour eSp et merci beaucoup
Parfait merci.
Posté : 20 nov. 2005, 16:39
par phpdog
J'ai essayer de créer deux zone de texte commen ceci:
<form action="ecrire_2.php" method="POST"><p>
Zone de texte :<br />
<textarea name="titre"></textarea>
<textarea name="texte"></textarea>
<input type="submit" value="Soumettre la requête">
</p></form>
<?php
//On récupère la zone de texte
$texte = $_POST['titre'];
//On vérifie si celle là est renseignée
if(empty($texte))
{
print("<center>La '<b>zone de texte</b>' est vide !</center>");
exit();
} else {
//Si elle n'est pas vide on écrit dans le fichier texte
$fp = fopen ("titre.txt", "w");
fputs ($fp, $texte);
fclose ($fp);
}
//On récupère la zone de texte
$texte = $_POST['texte'];
//On vérifie si celle là est renseignée
if(empty($texte))
{
print("<center>La '<b>zone de texte</b>' est vide !</center>");
exit();
} else {
//Si elle n'est pas vide on écrit dans le fichier texte
$fp = fopen ("texte.txt", "w");
fputs ($fp, $texte);
fclose ($fp);
}
?>
Mais sa plante, pouriez vous m'aider a adapter ?
Posté : 20 nov. 2005, 16:51
par Cyrano
Mais sa plante....
Ça nous aide considérablement comme description du problème

Posté : 20 nov. 2005, 16:55
par phpdog
Désolé de se dérangement inutile, j'avai lancr la mauvais fichier dans le naviguateur
Sa marche parfaitement.
Posté : 20 nov. 2005, 16:56
par Cyrano
[Résolu]

Posté : 20 nov. 2005, 17:02
par phpdog
Tout a fait, j'ai mis le tag tout à l'heure
