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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Fonction explode()


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 46
    Par défaut Fonction explode()
    j'utilisais ce programme avec php5.0 et il fonctionnait tres bien :

    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
    <?php
     
    exec("df -T -l -BM -x tmpfs -x devtmpfs -x rootfs", $diskfree);
    print_r($diskfree);
    $count = 1;
    while ($count < sizeof($diskfree))
        {
            list($drive[$count], $typex[$count], $size[$count], $used[$count], $avail[$count], $percent[$count], $mount[$count]) = split(" +", $diskfree[$count]);
            $percent_part[$count] = str_replace( "%", "", $percent[$count]);
            $count++;
        }
     
    echo "$size[1]";
     
    ?>


    Maintenant j'utilise la version 7.0 et je me suis rendu compte que la fonction split() n'est plus fonctionelle et qu'il faut la remplacer par la fonction explode() ce que j'ai donc fait:

    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
    <?php
     
    exec("df -T -l -BM -x tmpfs -x devtmpfs -x rootfs", $diskfree);
    print_r($diskfree);
    $count = 1;
    while ($count < sizeof($diskfree))
        {
            list($drive[$count], $typex[$count], $size[$count], $used[$count], $avail[$count], $percent[$count], $mount[$count]) = explode(" +", $diskfree[$count]);
            $percent_part[$count] = str_replace( "%", "", $percent[$count]);
            $count++;
        }
     
    echo "$size[1]";
     
    ?>

    Du coup maintenant j'ai l'erreur : PHP Notice: Undefined offset: 1 alors j'ai essayé de supprimer " +" par " " je n'ai plus d'erreur mais echo"$size[1]"; ne me retourne aucune valeur.

    Pouvez vous m'aider s'il vous plait.

  2. #2
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Code php : 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
    <?php
     
    exec("df -T -l -BM -x tmpfs -x devtmpfs -x rootfs", $diskfree);
    print_r($diskfree);
    $count = 1;
    while ($count < sizeof($diskfree))
        {
            print "je suis passé ici<br/>";
    
            list($drive[$count], $typex[$count], $size[$count], $used[$count], $avail[$count], $percent[$count], $mount[$count]) = explode(" +", $diskfree[$count]);
            $percent_part[$count] = str_replace( "%", "", $percent[$count]);
            $count++;
        }
    var_dump($size);
    echo "$size[1]";

    Que donne le print_r($diskfree) ?
    Que donne le var_dump ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 46
    Par défaut
    print_r($diskfree); m'affiche Array ( [0] => Filesystem Type 1M-blocks Used Available Use% Mounted on [1] => /dev/root ext4 7386M 1831M 5223M 26% / [2] => /dev/mmcblk0p1 vfat 44M 23M 22M 51% /boot )

    je suis passé ici
    je suis passé ici

    var_dump($size); m'affiche array(2) { [1]=> NULL [2]=> NULL }

  4. #4
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Quelle information $size[1] doit afficher ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    $diskfree = array(0 => "Filesystem Type 1M-blocks Used Available Use% Mounted on", 1 => "/dev/root ext4 7386M 1831M 5223M 26% /", 2 => "/dev/mmcblk0p1 vfat 44M 23M 22M 51% /boot"); 
    print_r($diskfree);
    $count = 0;
    while ($count < count($diskfree))
        {
            print "je suis passé ici<br/>";
            list($drive[$count], $typex[$count], $size[$count], $used[$count], $avail[$count], $percent[$count], $mount[$count]) = preg_split("/ +/", $diskfree[$count]);
            $percent_part[$count] = str_replace( "%", "", $percent[$count]);
            $count++;
        }
    echo "$size[1]";

    Donne

    Nom : Capture20190105_004.JPG
Affichages : 155
Taille : 31,5 Ko

    Par rapport à ton script, j'ai fait les modifications suivantes :

    Nom : Capture20190105_003.JPG
Affichages : 184
Taille : 69,2 Ko

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 46
    Par défaut


    C'est parfait ca fonctionne a merveille.

    J'ai demandé de l'aide sur un autre site de programmation où plusieurs personnes m'ont donné des solutions sans resultat mais pour toi j'ai l'impression que cela a été une formalité!!

    Merci beaucoup

  6. #6
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Les meilleurs sont ici !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] problème fonction explode
    Par tom79 dans le forum Langage
    Réponses: 22
    Dernier message: 06/07/2006, 12h17
  2. [Tableaux] fonction explode recuperation
    Par jive dans le forum Langage
    Réponses: 6
    Dernier message: 07/06/2006, 14h55
  3. [Système] Pb fonction explode
    Par clairette dans le forum Langage
    Réponses: 3
    Dernier message: 17/05/2006, 15h40
  4. [Fonction]Explication sur la fonction EXPLODE de php
    Par daudet dans le forum Langage
    Réponses: 6
    Dernier message: 13/04/2006, 17h06
  5. equivalent de la fonction EXPLODE de php
    Par gyouk dans le forum ASP
    Réponses: 1
    Dernier message: 28/11/2005, 10h49

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