[RESOLU] [Qst] - Lecture/Ecriture via un form dans un fichier TXT

Mammouth du PHP | 2278 Messages

30 déc. 2014, 19:20

oui, ca; avec le overwrite
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Invité
Invité n'ayant pas de compte PHPfrance

31 déc. 2014, 04:10

J'ai vu ces liens,mais il y a des questions que je comprends pas,si quelqu'un qui peut m'aider?

Eléphant du PHP | 103 Messages

31 déc. 2014, 18:27

Pour info. je ne suis pas le posteur anonyme précédent.
<?php
// Ouverture du fichier pour écriture
error_reporting(E_ALL);

// Debugg
// print "$ls";
$opts = array('ftp' => array('overwrite' => true));
$context = stream_context_create($opts);
$strwri = file_put_contents($wridons,$ls,LOCK_EX,$context);
echo "Mis &agrave; jour du dernier listing ("; ?>"<a href="<?php echo $lectdons; ?>" target="_blank"><?php echo $fichier; ?></a>"<?php echo ") ... ";
?>
Me donne :
Warning: file_put_contents(): Exclusive locks may only be set for regular files in /Destock/Dons/ls-envoi.php on line 39
Mis à jour du dernier listing ("dons.txt") ...

Eléphant du PHP | 103 Messages

02 janv. 2015, 13:34

J'ai passé les 48 dernières heures à essayer de trouver un code palliatif, mais cela ne donne rien.

Voici donc mon code (écriture) actuel :
<?php
// Ouverture du fichier pour écriture
error_reporting(E_ALL);

// $handle = fopen($wridons,"w+") or die("Connexion en &eacute;criture impossible au serveur !");
// ftp_pasv($handle, true);
// Debugg
// print "$ls";
// Envoi du nouveau listing...
// fwrite($handle,$ls);
echo "Mis &agrave; jour du dernier listing ("; ?>"<a href="<?php echo $lectdons; ?>" target="_blank"><?php echo $fichier; ?></a>"<?php echo ") ... ";
$opts = array('ftp' => array('overwrite' => true));
$context = stream_context_create($opts);
$strwri = file_put_contents($wridons,$ls,LOCK_EX,$context);
// Rembobinage du fichier et fermeture du pointeur de fichier
// rewind($handle);
// fclose($handle);
?>
Néanmoins, je viens de me rendre compte qu'un fichier nommé "$wridons" est arrivé à la racine du dossier.
Capture d'écran 2015-01-02 12.33.52.png
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Eléphant du PHP | 63 Messages

02 janv. 2015, 17:19

Salut
$strwri = file_put_contents($wridons,$ls,LOCK_EX,$context);
Me donne :
Warning: file_put_contents(): Exclusive locks may only be set for regular files in /Destock/Dons/ls-envoi.php on line 39
Mis à jour du dernier listing ("dons.txt") ...
Comme LOCK_EX est uniquement pour les fichiers locaux, il faut peut-être remplacer LOCK_EX par 0 (zéro).

Eléphant du PHP | 103 Messages

03 janv. 2015, 19:36

(...)
Comme LOCK_EX est uniquement pour les fichiers locaux, il faut peut-être remplacer LOCK_EX par 0 (zéro).
YES ! ;-)

Merci, en effet, cela semble maintenant fonctionner à merveille.

Voici mon code actuel :
<?php
include "ls-data.php";

// Définition des accents :
$accents = array("é", "è", "ê", "à", "ô");
$correct = array("e", "e", "e", "a", "o");

// Contenu du message du formulaire :
$ls = $_POST["listing"];

// on remplace les accents
$ls = str_replace($accents, $correct, $ls);
?>
</head>

<body>

<?php
// Ouverture du fichier pour écriture
error_reporting(E_ALL);

// Debugg
// print "$ls";
// Envoi du nouveau listing...
echo "Mis &agrave; jour du listing ("; ?>"<a href="<?php echo $lectdons; ?>" target="_blank"><?php echo $fichier; ?></a>"<?php echo ") ... ";
$opts = array('ftp' => array('overwrite' => true));
$context = stream_context_create($opts);
$strwri = file_put_contents($wridons,$ls,0,$context);
?>
eff&eacute;ctu&eacute; <font color="#009933"><strong>!</strong></font><br />

<br />
<?php die ("<br>Vous pouvez fermer cette fen&ecirc;tre, ou onglet..."); ?>
Merci. Si vous ne voyez pas d'autres erreurs, je peux passer en résolu.