J'ai un script principal dans lequel je supprime (dissocie) un fichier. Ensuite, dans un script que j'inscris plus tard dans ce script principal, j'écris dans ce fichier (dans le fichier avec le même nom que celui supprimé de toute façon, car il devrait déjà être parti maintenant).Quel est le problème avec l'ordre des opérations PHP?
Ce qui se passe, c'est qu'après l'exécution du script principal, le fichier est supprimé. Tout comme l'opération de dissociation a eu lieu après l'écriture dans le fichier. La même chose se produit, quand je tronque le fichier dans le script principal (en l'écrasant avec une chaîne vide) et écris plus tard dans ce fichier. Le résultat est que le fichier est vide (comme si le fichier était tronqué après l'écriture, mais l'ordre littéral dans le code est inversé).
Qu'est-ce qui ne va pas ici? Ou si ce n'est pas le cas, pourquoi cela fonctionne-t-il de cette façon?
EDIT:
premier (dans le script principal):
unlink($config['directory'].'logs/info.txt');
puis (dans certains comprennent script):
$f = fopen($config['directory'].'logs/info.txt', "w");
fwrite($f, "Text");
fclose($f);
Je pensais qu'il peut y avoir une erreur commune, que vous pourrait signaler (comme ne pas appeler fclose ou quelque chose). Donc probablement je dois enquêter plus près (mais je suis sûr qu'aucune autre opération sur ce fichier est faite, parce que j'ai utilisé un nom unique du fichier, une même chose arrive).
pouvez-vous s'il vous plaît s'il vous plaît poster votre code php? –
Le deuxième argument pour fopen() n'est pas un nom de fichier mais le type d'accès: 'r', 'w', etc. Vous pouvez trouver la référence complète sur http://es2.php.net/manual/fr/ function.fopen.php –