IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

suppression des fichiers de taille trop grande (30 Mo) avec unlink


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 44
    Points : 29
    Points
    29
    Par défaut suppression des fichiers de taille trop grande (30 Mo) avec unlink
    Bonjour à tous,

    J'ai un problème de surpression des fichiers de taille trop grande (30 Mo) avec la méthode unlink.
    Dans mon programme et pour des fichiers de tailles beaucoup moin petites ca marche.
    J'ai pensé que la fonction unlink présente une restriction sur la taille des fichiers à supprimer mais j'ai pas trouvé une confirmation.

    Remarque: j'utilise une CentOS (VMWare) comme système d'exploitation support de mon application.

    Merci d'avance.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Il serait intéressant d'avoir ton code. Est-ce que tu ouvres ou au moins ouvre un handler sur ton fichier avant le unlink ?

    Il y a de grandes chances que tu sois limité par le paramètre 'memory_limit' dans ton php.ini.

    Si tu veux changer sa valeur pour ce script en particulier, tu peux placer cette clause avant de manipuler le fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set('memory_limit', '64M');

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $ouverture_TMP=opendir(PATH_MAIL_SAS_TMP);
    $ouverture_ATTACHEMENTS=opendir(PATH_MAIL_SAS_ATTACHEMENTS);
     
    foreach ($mails_sas_complet as $mail){
        unlink (PATH_MAIL_SAS_TMP.$mail['nom']);
        foreach($mail['pieces'] as $piece){
            unlink(PATH_MAIL_SAS_ATTACHEMENTS.$piece['nom']);
     
        }
    }
    closedir ($ouverture_TMP);
    closedir ($ouverture_ATTACHEMENTS);
    Je te remercie pour ta proposition.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il y a de grandes chances que tu sois limité par le paramètre 'memory_limit' dans ton php.ini.
    Ca ne devrait ni prendre plein de mémoire ni prendre plus de temps de supprimer un fichier de 2Go qu'un fichier de 2ko.

  5. #5
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ca ne devrait ni prendre plein de mémoire ni prendre plus de temps de supprimer un fichier de 2Go qu'un fichier de 2ko.
    Exact : unlink n'efface pas un fichier, il supprime sa référence dans le système de fichiers (d'où le nom de la fonction). Donc la taille importe peu.

  6. #6
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    J'ai un problème de surpression des fichiers de taille trop grande (30 Mo) avec la méthode unlink.
    ça marche pas, c'est à dire: Erreur, Plantage, pas d'unlink ?

    Une question: c quoi les opendir pour ton bout de code ?


    Edit: Pourquoi surpression? Pas assez de mémoire, ça se bouscule d'ou la surpression

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Citation Envoyé par s.n.a.f.u Voir le message
    Exact : unlink n'efface pas un fichier, il supprime sa référence dans le système de fichiers (d'où le nom de la fonction). Donc la taille importe peu.
    C'est pour ça que ce serait intéressant de savoir ce qu'il fait avec son fichier avant le unlink

  8. #8
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Et c'est un "ça marche pas" silencieux ou il y a une erreur émise ?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par Fench Voir le message
    Bonjour,


    ça marche pas, c'est à dire: Erreur, Plantage, pas d'unlink ?

    Une question: c quoi les opendir pour ton bout de code ?


    Edit: Pourquoi surpression? Pas assez de mémoire, ça se bouscule d'ou la surpression
    bonjour Fench,

    En fait j'ai pas d'affichage d'erreur ou de message spécial.
    J'ai essayé de voir la valeur de retour de unlink et je trouve que a chaque fois et pour des fichiers de taille trop grande le unlink retourne false.

    En ce qui concerne les opendir = ouverture d'un répertoire dont le chemin d'accès est passé en paramètre.

    Pourquoi la suppression: mes fichiers une fois traités deviennent inutiles.

  10. #10
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Encadre le bout de code que tu as publié par un try catch et montre nous ce qu'il affiche (voir ci-dessous). N'hésite à poster un peu plus de code... ta fonction opendir par exemple..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    try {
        $ouverture_TMP=opendir(PATH_MAIL_SAS_TMP);
        $ouverture_ATTACHEMENTS=opendir(PATH_MAIL_SAS_ATTACHEMENTS);
     
        foreach ($mails_sas_complet as $mail){
            unlink (PATH_MAIL_SAS_TMP.$mail['nom']);
            foreach($mail['pieces'] as $piece){
                unlink(PATH_MAIL_SAS_ATTACHEMENTS.$piece['nom']);
             }
        }
        closedir ($ouverture_TMP);
        closedir ($ouverture_ATTACHEMENTS);
    }
    catch (Exception $e)
    {
        print_r($e);
    }

  11. #11
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Pourquoi la suppression: mes fichiers une fois traités deviennent inutiles.
    Non, j'avais compris mais je rigolais avec ta faute d'orthographe sûrement due à la vitesse de frappe

    En ce qui concerne les opendir = ouverture d'un répertoire dont le chemin d'accès est passé en paramètre.
    Oui, j'avais compris aussi, mais je ne comprends pas à quoi ça sert dans ton bout de code des unlinks

    En fait j'ai pas d'affichage d'erreur ou de message spécial.
    J'ai essayé de voir la valeur de retour de unlink et je trouve que a chaque fois et pour des fichiers de taille trop grande le unlink retourne false.
    Si il n'y a pas d'erreurs, les fichiers doivent exister mais tu as peut être un problème de droits. Tu as des différences entre les petits et les gros fichiers à supprimer ?

Discussions similaires

  1. Trier des fichiers par taille par le VB
    Par tedparker dans le forum Access
    Réponses: 2
    Dernier message: 23/08/2006, 11h59
  2. Installation d'un driver : suppression des fichiers source
    Par Michaël dans le forum Matériel
    Réponses: 1
    Dernier message: 14/08/2006, 21h48
  3. Suppression des fichiers temporaires (TMP)
    Par alainn dans le forum Access
    Réponses: 1
    Dernier message: 17/06/2006, 10h01
  4. taille des fichiers et taille des segments
    Par pline dans le forum Sybase
    Réponses: 1
    Dernier message: 12/06/2006, 18h30
  5. [système]suppression des fichiers
    Par gilleski2010 dans le forum Sécurité
    Réponses: 2
    Dernier message: 05/02/2006, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo