Beaucoup de réponses ici dans le Débordement de la Pile utilisation fopen($file, "rw+")
, mais le manuel n'est pas de la liste de l' "rw+"
mode, il n'y a qu'à l' "r+"
(ou "w+"
mode).
Alors je me demandais, quel est le "rw+"
mode? Quelle est la différence entre fopen($file,
"rw+"
ou "r+"
? Je vous pose cette question car il n'y a pas de documentation sur l' "rw+"
mode.
Une approche consiste à considérer que les modes sont des additifs, mais je ne pouvais pas trouver aucune mention de la combinaison de modes dans l' fopen
page de manuel (d'ailleurs, quel est le sens de la combinaison de "r"
avec "w+"
, si "w+"
déjà fait-elle lisible?). Mais le plus important, w+
mode tronque le fichier rw+
ne pas tronquer (par conséquent, ils ne peuvent pas être additif). Probablement il n'y a pas d' rw+
mode, en dépit de son utilisation par Débordement de Pile utilisateurs. Ça marche peut-être parce que l'analyseur ignore le "w" lettre", comme l' rw+
mode semble être === r+
?
Pour préciser ma question: quel est le "rw+"
mode, qui est, comment est-il différent des autres modes de transport? Je n'ai reçu que deux réponses dans les commentaires: soit que je devrais vérifier les documents (j'ai déjà vérifié et re-vérifié) et une mauvaise réponse, qui a dit qu'il est égal à "w+"
(n'est pas). "w+"
tronque le fichier "rw+"
ne le fait pas.
Voici un script pour tester (il s'avère qu' w+
tronque le fichier, mais rw+
qui ne marche pas):
<?php
$file = "somefile";
$fileOpened = fopen($file, "w");
fwrite($fileOpened, "0000000000000000000");
fclose($fileOpened);
$fileOpened = fopen($file, "rw+");
fwrite($fileOpened, "data");
fclose($fileOpened);
$fileOpened = fopen($file, "r");
$output = fgets($fileOpened);
echo "First, with 'rw+' mode:<br>".$output;
$fileOpened = fopen($file, "w+");
fwrite($fileOpened, "data");
fclose($fileOpened);
$fileOpened = fopen($file, "r");
$output = fgets($fileOpened);
echo "<br><br><br>Now with only 'w+' mode:<br>".$output;
?>