Unlink() qui détruit rien

[Résolu]
Signaler
Messages postés
39
Date d'inscription
jeudi 27 mai 2004
Statut
Membre
Dernière intervention
18 février 2008
-
Messages postés
39
Date d'inscription
jeudi 27 mai 2004
Statut
Membre
Dernière intervention
18 février 2008
-
Voici le message d'erreur...

" Warning: unlink(200601131453471.png): No such file or directory in
/home/...etc.../tpr/fichier_qui_contient_la_boucle.php" ligne XX (celle
avec "unlink($file)" en fait).




Ce que je fais :

1/ je crée des images que je stocke dans un répertoire ../tpr

2/ histoire de purger tous ca j'ais une boucle de sélection/comparaison
des noms/dates de fichier, afin de détruire ceux qui n'ont plus raison
d'exister

3/ toutes ces images sont en droits "-rw--r--r--"

4/ dans ce répertoire ../trp aux droits "drwxrwxrwx", j'ai un fichier
php nommé "fichier_qui_contient_la_boucle.php" aux droits "-drwxrwxrwx"
que j'appelle histoire de vérifier et de détruire.

Le code de destruction est :

_________________________

if ($handle=@opendir('tpr')){

while(false!==($file=@readdir($handle))){

if($file!="." && $file!= ".."){

$eviter=substr($file,-3);

echo "extension = $eviter
";

if($eviter!='php'){

$nom_test=substr($file,0,14);



$date_test=F_DateSeconde($nom_test);


echo "fichier : $file, de test
$nom_test. ";


echo "Seconde fichier =
$date_test par rapport à $quand
";

if ($date_test<$quand){



$efface=unlink($file);



if($efface!==false){echo "__ $efface - - - - je supprime $file - - - -
-
";}


else{echo "__
$efface - - - - effacement de $file refusé - - - - -
";}

}

}

}

}

closedir($handle);

}

_________________________



Avec ca, je boucle bien sur toutes les images présentes dans le
répertoire tpr, je fais le bon test pour sélectionner les images à
détruire, mais rien... WARNING uniquement.



Est-ce du aux droits des images ?

A autre chose ?




PekLandais

2 réponses

Messages postés
39
Date d'inscription
jeudi 27 mai 2004
Statut
Membre
Dernière intervention
18 février 2008
3
Non ce n'est pas ca, le fichier PHP qui contient UNLINK() est bien dans le même répertoire que les images...

Depuis j'ai trouvé....

UNLINK('PathUNIXCompletDeLaLocalisationDuRepertoire'.'$NomFichier)




PekLandais
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,



à priori, unlink () fonctionnera à partir du fichier duquel il est appelé.

Si tu demandes d'effacer le fichier 'x.png' : unlink ('x.png'); cela
veut dire que ce fichier x est dans le même répertoire que le fichier
où s'exécute ton script.

Là tu ouvres un répertoire 'tpr', donc un sous répertoire par rapport
au répertoire contenant ton script. Et tu veux effacer les fichiers s'y
trouvant. Tu dois donc indiquer le bon chemin. unlink ('tpr/x.png');