fichier en read-only : comment effacer ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : fichier en read-only : comment effacer ?

Re: fichier en read-only : comment effacer ?

par stealth35 » 29 déc. 2009, 01:47

simpa ta fonction WriteToFile, mais ca existe deja sous PHP (file_put_contents):
http://www.php.net/manual/fr/function.f ... ntents.php

Re: fichier en read-only : comment effacer ?

par sergiobzh » 28 déc. 2009, 22:57

Jamais trouvé le problème. J'ai montré à des collègues, idem. J'ai réécrit ce qui concernait les fichiers et ça fonctionne !! Va comprendre.
En tous cas merci d'avoir répondu.

Re: fichier en read-only : comment effacer ?

par Ryle » 23 déc. 2009, 22:57

De mémoire, le fait de donner les droits 777 au fichier autorise les actions de lecture+écriture+exécution pour tous les utilisateurs (chose dont tu n'as en principe pas besoin ici)... en revanche, pour pouvoir supprimer un fichier, il me semble qu'il est nécessaire pour php d'avoir les droits d'écriture sur le dossier contenant le fichier à supprimer... à vérifier :)

fichier en read-only : comment effacer ?

par sergiobzh » 23 déc. 2009, 17:51

Bonjour,
j'ai démarré le PHP il y a qqs jours et j'ai toujours réussi à me débrouiller avec les docs, forums, etc.
Et là je suis sur un problème surement basique mais pas moyen de trouver la solution .
Je crée des fichiers avec fopen (mode 'w') et pas moyen de les effacer par unlink : permission denied.

Je crée tous mes fichiers avec cette function :
function WriteToFile ($fn,$ln) {
    $ouvre=fopen($fn,"a");
    fwrite($ouvre,$ln . chr(10));
    fclose($ouvre);
}
En fait, je crée un fichier TOTOtmp.txt avec ma function WriteToFile() puis je le copie en TOTO.txt.
TOTO.txt n'est pas readonly mais TOTOTmp.txt est readonly d'où le problème.
	copy($_SESSION['FNameTmp'],$_SESSION['FName']);
chmod ($_SESSION['FNameTmp'],777);
unlink ($_SESSION['FNameTmp']);
L'erreur :

Code : Tout sélectionner

unlink(./Day1_ST01Tmp.txt) [<a href='function.unlink'>function.unlink</a>]: Permission denied
Mettre le fichier en 777 ne change rien. Pourquoi le fichier se crée en 777. IL faudrait changer le umask ? Mais je suis sous Windows , c'est peut-être là le problème ?

Je suis avec Zend sous Windows XP et EasyPHP 5.3.
Merci pour l'aide.
Sergio