Effacer et recreer un fichier en php

Résolu/Fermé
Utilisateur anonyme - 29 juil. 2010 à 18:39
{psycho.} Messages postés 101 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 4 septembre 2010 - 30 juil. 2010 à 10:49
Bonjour,
voila mon probleme je souhaite avec une fonction php effacer un fichier .txt de mon serveur un fichier aprés un certain temps puis le recreer mais vide . alors voila j'ai cherché sur google et j'ai trouvé ce que je cherchais par petit morceau ce qui donne une fonction a peu prés , mais j'ai une erreur sur une ligne et je ne trouve pas laquel
voici le code:

<?php //parametre fonction
suppression( "chat" , "txt" , "300" );
 
//la fonction suppression
function suppression($dossier_traite , $extension_choisie, $age_requis)
{
// ouvrir le dossier
$repertoire = opendir($dossier_traite);
 
//boucle fichier
        while(false !== ($fichier = readdir($repertoire)))
        {
        //chemin du fichier
        $chemin = $dossier_traite."/".$fichier;
                
                //les variables 
                $infos = pathinfo($chemin);
                $extension = $infos['extension'];
 
                $age_fichier = time() - filemtime($chemin);
                
//la condition
                if($fichier!="." AND $fichier!=".." AND !is_dir($fichier)
$extension == $extension_choisie AND $age_fichier > $age_requis)
)
                {
                unlink($chemin);
				
                }
        }
closedir($repertoire); //on ferme !
}
?>


et donc le script et censé supprimer les fichiers .txt qui ne sont pas utilisé depuis 5 min au rechargement de la page mais ça me renvoi une erreur sur la ligne
$extension == $extension_choisie AND $age_fichier > $age_requis

est ce que j'ai oublié qqchose ?
et après comment recreer un fichier dans le repertoire qui s'appelle dat.txt

merci pour votre aide


A voir également:

5 réponses

{psycho.} Messages postés 101 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 4 septembre 2010 8
Modifié par {psycho.} le 29/07/2010 à 20:19
 if($fichier!="." AND $fichier!=".." AND !is_dir($fichier)
$extension == $extension_choisie AND $age_fichier > $age_requis)

C'est ça, ta ligne complète! En fait, tu as mis un retour ligne pour plus de visibilité, mais c'est une seule et même condition : cf parenthèse. Donc tu rajoutes un AND (ou &&) pour respecter la syntaxe, et ça ira :
 if($fichier!="." AND $fichier!=".." AND !is_dir($fichier) AND $extension == $extension_choisie AND $age_fichier > $age_requis)

Vince / {psycho.}
Avant de programmer, apprenez le français! >>> Bescherelle.com
1
{psycho.} Messages postés 101 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 4 septembre 2010 8
Modifié par {psycho.} le 30/07/2010 à 10:26
Si tu veux écrire dedans juste après l'avoir créé, tu peux effectivement utiliser fopen :

fopen('nom_du_fichier', 'w');

Si en revanche tu veux juste le créer, et que ce sont d'autres manipulations qui écrivent dedans, un simple touch suffira :

touch('nom_du_fichier')

Pour plus de renseignements sur le 2e paramètre de fopen(), jette un oeil ici :
https://www.php.net/manual/fr/function.fopen.php
Pour touch(), c'est là : https://www.php.net/manual/fr/function.touch.php

Et d'une manière générale, quand tu as un problème avec PHP, va faire un tour sur php.net, c'est une vraie bible! :)

Vince / {psycho.}
Avant de programmer, apprenez le français! >>> Bescherelle.com
1
Olivier Stern
29 juil. 2010 à 22:48
il te manque un AND ou un OR
0
Utilisateur anonyme
29 juil. 2010 à 23:56
ok cool ça marche merci beaucoup .

et si je veux recreer un fichier vide dans la foulée il faut que j'utilise quoi comme fonction j'ai trouvé
fopen 
mais je n'ai pas compris comment l'utilser avez vous une idée ?

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
{psycho.} Messages postés 101 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 4 septembre 2010 8
30 juil. 2010 à 10:49
(Pense à marquer le thread comme résolu si tu n'as plus de questions!)
0