problème unlink

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 : problème unlink

par sacco » 11 mars 2007, 22:30

il peut y avoir autant de fichier il n'arrive pas à effacer le dernier

par sacco » 11 mars 2007, 17:53

c'est bien le bon fichier en entrée il est toujours la en sortie si par exemple il y a un nombre n de fichier et le dernier reste toujours dans le dossier . J'ai l'impression que apache le vérouille .

par Ryle » 11 mars 2007, 17:20

Pas évident de voir ou commence et ou se termine quoi avec une telle indentation, mais déjà il me semble que tu fais le unlink() même si le fichier n'existe pas ou s'il s'agit d'un dossier système... est ce que ca ne jouerais pas ?
c'est bien le bon nom de fichier qu'il essaye de supprimer ? est ce qu'il est bien présent dans ton dossier au début du traitement ? est-ce qu'il y ait encore à la fin ? est-ce qu'il n'y a pas un autre processus qui y accède, etc..

par sacco » 11 mars 2007, 16:46

je suis sur windows

par thehawk » 11 mars 2007, 16:39

regarde peut etre du coté des chmod

problème unlink

par sacco » 11 mars 2007, 16:31

bonjour,

je traite plusieurs fichiers dans le même dossier et à chaque fin de traitement le fichier est effacé et passe au suivant. Or lorsque le script en est au dernier le unlink tombe en "Warning: unlink(C:/wamp/www/Arcserve/log/xxxx) [function.unlink]: Permission denied in C:\wamp\www\Arcserve\ori.php ".

le code est

Code : Tout sélectionner

$files = glob($Arcservetest); foreach ($files as $filename) { if(file_exists($filename)==true) { if($filename !== "." && $filename != "..") { $Log = file($filename); //Pas de timeout; set_time_limit (0); //ouverture BD $sqldb = new PDO("mysql:host=localhost;dbname=test","root","") or die ("impossible d'ouvrir bdd !"); $query = "insert into journal (JDate,JHeure,JInfo,JAction) values (:JDate,:JHeure,:JInfo,:JAction)"; $stmt = $sqldb->prepare($query); foreach ($Log as $ligne) { $JDate =substr($ligne,0,4).'-'.substr($ligne,4,2).'-'.substr($ligne,6,2); $Datebis = substr($ligne,0,4).substr($ligne,4,2).substr($ligne,6,2); $JHeure = substr($ligne,9,6); $i = substr($ligne,18,4); $JAction = substr($ligne,23,$ligne-1); /******Pour 7 jours de rétension******* $Format = 'Ymd'; $Datesys = (int)date($Format); $Diff = $Datesys-$Datebis; **************************************/ if($i<>'PE ' and $i<>' ') { $stmt->bindParam(':JDate',$JDate); $stmt->bindParam(':JHeure',$JHeure); $stmt->bindParam(':JInfo',$i); $stmt->bindParam(':JAction',$JAction); $stmt->execute(); } } } $erase = unlink($filename); }
merci d'avance si astuce