Unlink() qui détruit rien

Résolu
cs_Tartuffe Messages postés 39 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 février 2008 - 13 janv. 2006 à 17:52
cs_Tartuffe Messages postés 39 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 février 2008 - 16 janv. 2006 à 09:57
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

cs_Tartuffe Messages postés 39 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 février 2008 3
16 janv. 2006 à 09:57
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
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 janv. 2006 à 18:05
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');
0
Rejoignez-nous