Aide tableau + boucle +regex

szizman Messages postés 12 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 10 août 2009 - 2 août 2009 à 12:22
szizman Messages postés 12 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 10 août 2009 - 2 août 2009 à 12:26
Dans un premier temps merci pour les tutos, ils sont vraiment excellent et très utiles. J'ai commencé le code il y a 3 semaines et demi donc je vous demande vraiment d'être très indulgents car j'ai conscience de mes grosses lacunes.

- J'ai pour projet de rassembler toute mes vidéos flv, afficher dans des rubriques.

- Comme impératif le tout doit être portatif (donc pas de server à utiliser, sauf pour une petite partie "admin" qui gère la création de la liste de mes vidéos, webserver local que j'utiliserai uniquement de temps en temps pour réactualiser ma flv-liste)

- Plus tard je la ferai sous forme de BDD mais pour l'instant ça se fera sans (c'est juste pour ceux qui voudront me répondre de faire de la BDD a la place)

- travail déjà effectué: <liste>
Les Rubriques: "Accueil", "Général", "Hardware", "Autre", "Admin", "Info"


Lintégration du lecteur swf dans les rubriques "Général", "Hardware", "Autre"


création automatique des 3 listes xml pour le menu déroulant dans chaque lecteur afin de choisir les différentes vidéos selon la Rubrique ou on se trouve.


"ADMIN" cette section a pour but la gestion de création de listes et de pages, c'est la seule partie qui intègre le php donc l' utilisation d'un Webserver.
L' accès de cette rubrique ce fait avec login et pass.


"A propos" que du blabla, des remerciements, etc... A propos de mon entourage et moi.


</liste>
Bref voilà tout ce qui a été fait jusqu'à présent grâce aux bon tutos de ce site.

maintenant je veux ajouter dans chaque rubriques respective, en dessous du player swf les titres des vidéos, leur liens:
dans un 1er temps j'ai fais un code qui me listait tout le répertoire vidéo et qui m'affichait la liste dans les rubriques, le problème c'est que certaine vidéos n'avaient rien a y faire donc je test avec preg_match et là ça cafouille un peu.

tout d'abord je présente mes excuses pour ceux qui vont lire le bout de code qui suit, mais une fois que j'aurai la solution et surtout que j'aurai bien compris le fonctionnement je le recoderai proprement (c'est comme l'anglais quand on débute, on fait du mot à mot)

<?php
  
///////////////////////////////////////

function browse ($pDirectory, $pExtension)
{
    if($handle = opendir($pDirectory))
    {
         while(false !($file readdir($handle)))
        {
            $getExt = explode(".", $file);
            $countExt = count($getExt);
            $fExt = $countExt - 1;
            $myExt = $getExt[$fExt];
            
            if (($myExt == $pExtension) && ($file != ".") && ($file != ".."))
                {$files[] = $file;}
        }
     }
 return $files;
closedir($handle);
}

/////////////////////////////////////

$General = fopen ("General.html", "w+"); 
$Hardware = fopen ("Hardware.html", "w+"); 
$Autre = fopen ("Autre.html", "w+");

$testA = "
, \";

$testC = ( \"----
" ."\n" .", " ."\n" ."
" ."\n");
$testD = "" style="font-size: 12px";

$title = "image";

$getFile = browse("Tv-flv_videos/", "flv");
$gotFile = browse("Tv-flv_videos/", "flv");

foreach ($getFile as $myFile)

$i = 0;
$j = 0;

$max = count( $getFile );

while( $i < $max ) 

{

$testB = (
"\n" ."<tr>"

."\n" ."<td rowspan="3" style="text-align: center"></td>"
."\n" ."<td width="400" height="28" style="text-align: center">" .$getFile[$i++] ."</td>" 
."\n" ."<td rowspan="3" style="text-align: center"></td>"
."\n" ."<td width="400" height="28" style="text-align: center">" .$getFile[$i++] ."</td>" 
."\n" ."<td rowspan="3" style="text-align: center"></td>"
."\n" ."</tr>"
."\n" ."<tr>"
."\n" ."<td height="28" style="text-align: center">" .$getFile[$i++] ."</td>" 
."\n" ."<td height="28" style="text-align: center">" .$getFile[$i++] ."</td>" 
."\n" ."</tr>"
."\n" ."<tr>"
."\n" ."<td height="28" style="text-align: center">" .$getFile[$i++] ."</td>"  
."\n" ."<td height="28" style="text-align: center">" .$getFile[$i++] ."</td>" ."\n");

//}

if (preg_match("#^Autre_#", $myFile )) 
{
echo $testA .$testB .$testC;
fputs ($Autre, $testA .$testB .$testC);
}

if (preg_match("#^General_#", $myFile )) 
{
echo $testA .$testB .$testC;
fputs ($General, $testA .$testB .$testC);
}	

if (preg_match("#^Hardware_#", $myFile )) 
{
echo $testA .$testB .$testC;
fputs ($Hardware, $testA .$testB .$testC);
}

}	

fclose ($Autre); fclose ($General); fclose ($Hardware); 

?>


donc voila ou j'en suis, bon je suis contient qu' il y a plein d'erreur, il faut comprendre que dans ma liste on différencie les vidéos de la façon suivante "Rubrique_Créateur_Titre.flv"

ma priorité c'est:
[list]
Mettre les vidéos dans les bonnes rubriques

Actuellement dans le tableau les "Rubrique_Créateur_Titre.flv" s'enchainent, maintenant ce que je veux, c'est remplir le tableau tant que le nom du _Créateur_ est le meme et ajouter des blancs dans les champs vide (tableau à 6 champs) pour ne plus avoir de msg d'erreur "Undefined offset:",
puis, si même Rubrique_, démarrer un nouveau tableau quand on arrive au prochain _Créateur_ et ainsi de suite, d'où l'utilisation de preg_match pour les rubriques
/list

Désolé je vous ai écrit un roman afin d'être le plus concis
merci pour votre compréhension et votre collaboration.

1 réponse

szizman Messages postés 12 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 10 août 2009
2 août 2009 à 12:26
Dans un premier temps merci pour les tutos, ils sont vraiment excellent et très utiles. J'ai commencé le code il y a 3 semaines et demi donc je vous demande vraiment d'être très indulgents car j'ai conscience de mes grosses lacunes.

- J'ai pour projet de rassembler toute mes vidéos flv, afficher dans des rubriques.

- Comme impératif le tout doit être portatif (donc pas de server à utiliser, sauf pour une petite partie "admin" qui gère la création de la liste de mes vidéos, webserver local que j'utiliserai uniquement de temps en temps pour réactualiser ma flv-liste)

- Plus tard je la ferai sous forme de BDD mais pour l'instant ça se fera sans (c'est juste pour ceux qui voudront me répondre de faire de la BDD a la place)

- travail déjà effectué:
[liste]
Les Rubriques: "Accueil", "Général", "Hardware", "Autre", "Admin", "Info"

Lintégration du lecteur swf dans les rubriques "Général", "Hardware", "Autre"

création automatique des 3 listes xml pour le menu déroulant dans chaque lecteur afin de choisir les différentes vidéos selon la Rubrique ou on se trouve.

"ADMIN" cette section a pour but la gestion de création de listes et de pages, c'est la seule partie qui intègre le php donc l' utilisation d'un Webserver.
L' accès de cette rubrique ce fait avec login et pass.

"A propos" que du blabla, des remerciements, etc... A propos de mon entourage et moi.
/liste

Bref voilà tout ce qui a été fait jusqu'à présent grâce aux bon tutos de ce site.

maintenant je veux ajouter dans chaque rubriques respective, en dessous du player swf les titres des vidéos, leur liens:
dans un 1er temps j'ai fais un code qui me listait tout le répertoire vidéo et qui m'affichait la liste dans les rubriques, le problème c'est que certaine vidéos n'avaient rien a y faire donc je test avec preg_match et là ça cafouille un peu.

tout d'abord je présente mes excuses pour ceux qui vont lire le bout de code qui suit, mais une fois que j'aurai la solution et surtout que j'aurai bien compris le fonctionnement je le recoderai proprement (c'est comme l'anglais quand on débute, on fait du mot à mot)

<?php
  
///////////////////////////////////////

function browse ($pDirectory, $pExtension)
{
    if($handle = opendir($pDirectory))
    {
         while(false !($file readdir($handle)))
        {
            $getExt = explode(".", $file);
            $countExt = count($getExt);
            $fExt = $countExt - 1;
            $myExt = $getExt[$fExt];
            
            if (($myExt == $pExtension) && ($file != ".") && ($file != ".."))
                {$files[] = $file;}
        }
     }
 return $files;
closedir($handle);
}

/////////////////////////////////////

$General = fopen ("General.html", "w+"); 
$Hardware = fopen ("Hardware.html", "w+"); 
$Autre = fopen ("Autre.html", "w+");

$testA = "
, \";

$testC = ( \"----
" ."\n" .", " ."\n" ."
" ."\n");
$testD = "" style="font-size: 12px";

$title = "image";

$getFile = browse("Tv-flv_videos/", "flv");
$gotFile = browse("Tv-flv_videos/", "flv");

foreach ($getFile as $myFile)

$i = 0;
$j = 0;

$max = count( $getFile );

while( $i < $max ) 

{

$testB = (
"\n" ."<tr>"

."\n" ."<td rowspan="3" style="text-align: center"></td>"
."\n" ."<td width="400" height="28" style="text-align: center">" .$getFile[$i++] ."</td>" 
."\n" ."<td rowspan="3" style="text-align: center"></td>"
."\n" ."<td width="400" height="28" style="text-align: center">" .$getFile[$i++] ."</td>" 
."\n" ."<td rowspan="3" style="text-align: center"></td>"
."\n" ."</tr>"
."\n" ."<tr>"
."\n" ."<td height="28" style="text-align: center">" .$getFile[$i++] ."</td>" 
."\n" ."<td height="28" style="text-align: center">" .$getFile[$i++] ."</td>" 
."\n" ."</tr>"
."\n" ."<tr>"
."\n" ."<td height="28" style="text-align: center">" .$getFile[$i++] ."</td>"  
."\n" ."<td height="28" style="text-align: center">" .$getFile[$i++] ."</td>" ."\n");

//}

if (preg_match("#^Autre_#", $myFile )) 
{
echo $testA .$testB .$testC;
fputs ($Autre, $testA .$testB .$testC);
}

if (preg_match("#^General_#", $myFile )) 
{
echo $testA .$testB .$testC;
fputs ($General, $testA .$testB .$testC);
}	

if (preg_match("#^Hardware_#", $myFile )) 
{
echo $testA .$testB .$testC;
fputs ($Hardware, $testA .$testB .$testC);
}

}	

fclose ($Autre); fclose ($General); fclose ($Hardware); 

?>


donc voila ou j'en suis, bon je suis contient qu' il y a plein d'erreur, il faut comprendre que dans ma liste on différencie les vidéos de la façon suivante "Rubrique_Créateur_Titre.flv"

ma priorité c'est:
[list]
Mettre les vidéos dans les bonnes rubriques

Actuellement dans le tableau les "Rubrique_Créateur_Titre.flv" s'enchainent, maintenant ce que je veux, c'est remplir le tableau tant que le nom du _Créateur_ est le meme et ajouter des blancs dans les champs vide (tableau à 6 champs) pour ne plus avoir de msg d'erreur "Undefined offset:",
puis, si même Rubrique_, démarrer un nouveau tableau quand on arrive au prochain _Créateur_ et ainsi de suite, d'où l'utilisation de preg_match pour les rubriques
/list

Désolé je vous ai écrit un roman afin d'être le plus concis
merci pour votre compréhension et votre collaboration.
0
Rejoignez-nous