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 :

Stoker une variable depuis une boucle


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Octobre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente

    Informations forums :
    Inscription : Octobre 2012
    Messages : 5
    Par défaut Stoker une variable depuis une boucle
    Bonjour,

    J'ai un petit soucis sur une fonction assez bête... Globalement je souhaite scanner un dossier, et afficher la liste des fichiers WMV qui sont dedans (ça, ça marche) et également stocker la valeure de ces fichiers dans un cookies pour pouvoir les réutiliser ensuite mais je ne sais pas trop comment m'y prendre. Pourrait on me mettre dans la voie ?


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    <?php
    require_once ('config.php');
    //déclaration dossier source
    ScanSource('./source_video1');
     
    function ScanSource($dirSource){
     
    $nb_fichier = 0;
     
    echo '<ul>';
    if($dossier = opendir($dirSource))
    {
    while(false !== ($fichier = readdir($dossier)))
    {
    	// Ajouter dans la boucle if les fichiers a ne pas prendre en compte
    	if( $fichier != '.' && $fichier != '..' && $fichier != 'index.php' && preg_match('#\.(jpeg|gif|wmv)$#i', $fichier)) 
    {
    	$nb_fichier++; // On incrémente le compteur de 1
     
    	// Affichage des vidéos scannées
    echo '<li>
    <img src="./img/wmv.png" alt="video_wmv">'
     . $fichier . "</img>
     </li>"
     . "\r\n"; //retour chariot pour affichage html
     
     
    //echo $Wmvfiles[];
    //setcookie('Wmvfiles[]', $fichier, time() + 365*24*3600);
     
     
    } // On ferme le if (qui permet de ne pas afficher index.php, etc.)
     
     
    } // On termine la boucle
    echo '</ul><br />';
    echo 'Il y a <strong>' . $nb_fichier .'</strong> fichier(s) dans le dossier'. '<br><br>';
    closedir($dossier);
    }
     
    else
         echo 'Le dossier n\' a pas pu etre ouvert';
    }
     
    ?>

  2. #2
    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
    Par défaut
    Tu as des conditions superflues : si le nom du fichier se termine par .jpeg .gif ou .vmw alors ce ne peut être ni . ni .. ni index.php.

    Tu peux mettre les fichiers dans un tableau PHP.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(preg_match('#\.(jpeg|gif|wmv)$#i', $fichier)) {
     
    $tblFichiers[] = $fichier;
    Quand à stocker la liste dans un cookie, je ne vois pas trop à quoi cela va te mener.
    Si tu veux accéder à la liste sans avoir à relire le dossier, le cookie n'est pas la bonne solution.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    Je ferais plus simple :
    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
    18
    19
    20
    $files = glob('source_video1/*.wmv');
    $nb    = count($files);
    $html  = '';
     
    foreach ($files as $f)
    {
         $html .= <<<html
    <li>
        <img src="img/wmv.png" alt="video_wmv">{$f}</img>
    </li>
    html;
    }
     
    // on stocke les fichiers trouvés sous forme de tableau serializé : utilité ???
    setcookie('cookie', base64_encode(serialize($files)), time() + 365*24*3600);
     
    echo <<<html
    <ul>{$html}</ul><br>
    Il y a <strong>{$nb}</strong> fichier(s) dans le dossier<br><br>
    html;

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Octobre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente

    Informations forums :
    Inscription : Octobre 2012
    Messages : 5
    Par défaut
    Pour répondre aux quelques questions :

    - l'idée 1/ c'est de pouvoir lister/visualiser le contenu d'un dossier qui contient des fichiers vidéo wmv (donc Sabotage a raison, je dois retirer les jpeg et giff)
    - l'idée 2/ c'est de pouvoir récupérer ces valeurs pour lancer un codage ffmpeg du type : ffmpeg -i fichier1.wmv output1.mp4 -i fichier2.wmv output2.mp4

    Donc j'ai un premier php qui scan et enregistre en cookie et un 2eme qui récupérerait ces valeurs pour lancer ffmpeg.

    Je vais tester vos réponses, merci

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Octobre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente

    Informations forums :
    Inscription : Octobre 2012
    Messages : 5
    Par défaut
    J'ai repris un bout de ton code rawsrc, j'obtiens un array de ce type
    Array ( [0] => ./source_video1/1.wmv [1] => ./source_video1/2.wmv [2] => ./source_video1/tut.wmv )

    j'ai donc besoin de faire un ffmpeg -i $files[0] "destination" . -i $files[1] "destination" -i $files[2] "destination" etc ...

    Comment est ce que je peux faire pour avoir cela automatiquement en fonction du nombre d'information dans mon array ? Sachant que ffmpeg est une constante à ne mettre qu'une seule fois avant la boucle.

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $files = glob('source_video1/*.wmv');
    $nb    = count($files);
    $str   = 'ffmeg';
     
    foreach ($files as $f)
    {
         $str .= " -i {$f} ".rtrim($f, 'wmv').'mp4';
    }
     
    echo $str;
    Je conserverais le nom du fichier en ne changeant juste que l'extension.

Discussions similaires

  1. [Débutant] Affecter une variable d'une classe C# à une variable Javascript
    Par SultanGeek dans le forum C#
    Réponses: 0
    Dernier message: 20/06/2015, 21h42
  2. Modifier une variable d'une classe depuis une autre classe
    Par Kezado dans le forum Général Java
    Réponses: 8
    Dernier message: 23/09/2010, 15h52
  3. [C#] Problème d'accès à une variable depuis une popup
    Par LE NEINDRE dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/01/2007, 16h30
  4. Depuis une requête passer une variable
    Par kitty2006 dans le forum Langage
    Réponses: 1
    Dernier message: 26/09/2006, 11h54
  5. Réponses: 5
    Dernier message: 08/09/2005, 21h33

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