Page 1 sur 1
[Aide] Edition d'un fichier
Posté : 16 avr. 2014, 19:55
par chrysler5798
Bonsoir !
J'ai besoin d'aide.
J'ai mis une fonction fopen()
Je veux éditer un fichier avec "a+" mais si je met a+, aucune édition ne se fait !
J'ai essayé avec r et r+ et c'est pareil !
Bref, du coup j'ai essayé avec "w" et la ca marche ! Alors c'est super, mais cependant, à chaque fois que la fonction fopen est faites, mon fichier est réinitialiser !
J'ai besoin d'aide, merci d'avance !
Chrysler
Re: [Aide] Edition d'un fichier
Posté : 16 avr. 2014, 23:05
par gaudilfeur
salut,
Quand tu dit "éditer" tu veux dire elever une valeur pour en mettre une autre?
ou mettre la nouvelle valeur à coté?
perso, moi quand j'utilise fopen() je mes tj fclose() pour fermer le fichier, mais si à la suite yah rien et que tu ferme
ton php ta pas besoin de fermer le fichier.
Re: [Aide] Edition d'un fichier
Posté : 17 avr. 2014, 08:08
par chrysler5798
Bonjour,
J'aimerais l'éditer a la fin du texte déjà existant.
Sans que le texte déjà existant soit supprimé.
Merci !
Chrysler
Re: [Aide] Edition d'un fichier
Posté : 17 avr. 2014, 08:15
par sirakawa
fopen avec "a+" signifie "append" ajouter et place le pointeur à la fin du fichier:
Si vous ouvrez le fichier avec le mode a ou a+, toutes les données que vous écrirez dans le fichier seront toujours ajoutées, sans se soucier de la position dans le fichier
(
http://us2.php.net/manual/fr/function.fseek.php)
Il faudrait faire un fseek au début du fichier pour lire le début ou se servir de "c" (
http://us2.php.net/manual/fr/function.fopen.php).
Je me demande s'il ne serait pas plus simple:
ouvrir en lecture seule
lire le fichier en mémoire (sans un tableau, ligne par ligne)
fermer
ouvrir le même en écriture seule (écrasement)
écdrire le tableau dans le fichier en le modifiant au fur à mesure
fermer
Re: [Aide] Edition d'un fichier
Posté : 17 avr. 2014, 17:32
par chrysler5798
Bonjour !
Merci pour votre réponse, cependant je débute en PHP, est ce que tu pourrais me faire le code ?
Voici le code :
Code : Tout sélectionner
//"STEAM_0:0:18811335" "99:z"
$chaineAEcrire = "\n\"".$steamID."\" \"".$flags."\"";
$context = stream_context_create(array('ftp'=>array('overwrite' => true)));
$fileRead = fopen("ftp://".$loginFTP.":".$passFTP."@".$adresseFTP."".$cheminFTP."/addons/sourcemod/configs/admins_simple.ini", "a", false, $context);
$dejaEcrit = false;
while(!feof($fileRead)) {
$ligne = fgets($fileRead);
if (strpos($ligne, $steamID) !== false) {
$dejaEcrit = true;
}
}
if (!$dejaEcrit) {
//Le steam n'est pas déjà renseigné
$fileWrite = fopen("ftp://".$loginFTP.":".$passFTP."@".$adresseFTP."".$cheminFTP."/addons/sourcemod/configs/admins_simple.ini", "a", false, $context);
if (!$fileWrite) {
echo "<p>Impossible d'ouvrir le fichier distant pour écriture.\n";
exit;
} else {
/* Ecriture des données. */
fputs ($fileWrite, $chaineAEcrire);
fclose ($fileWrite);
}
}
Voici l'erreur sur la page web :
Code : Tout sélectionner
Warning: fopen(ftp://[email protected]/csgo/csgo/addons/sourcemod/configs/admins_simple.ini) [function.fopen]: failed to open stream: FTP server reports 451 /csgo/csgo/addons/sourcemod/configs/admins_simple.ini : ajout/reprise non permis, veuillez recommencer in /home/sdgteam/www/vipcsgo/config/functions.php on line 126
Warning: feof(): supplied argument is not a valid stream resource in /home/sdgteam/www/vipcsgo/config/functions.php on line 130
Warning: fgets(): supplied argument is not a valid stream resource in /home/sdgteam/www/vipcsgo/config/functions.php on line 131
Re: [Aide] Edition d'un fichier
Posté : 18 avr. 2014, 15:42
par moogli
salut,
as regardé le chmod du fichier ?
@+
Re: [Aide] Edition d'un fichier
Posté : 18 avr. 2014, 17:38
par chrysler5798
Salut !
Oui, le CHMOD est à 777.