Erreur de code en PHP

Bonjour,

j'ai du code en PHP et j'ai une erreur qui s'est glissé mais alors où cela ?
Pöuvez vous m'aider (ce serait gentil) ?

code PHP

<?php
/////////////////////////////////////////////////////////
//affichage des photos des acteurs/actrices //
/////////////////////////////////////////////////////////

echo "Voici le casting des personnages \n";
echo "Il y a ".$j." acteurs/actrices dans le film "."'".$row_jeu_['ORIGINALTITLE']."' \n";

$NOM = array();
$compteur =0;
$i=0;
$compt=0;
$debutEXTENSION=".";
$image = array ();
$compteur=0;
// on ouvre notre dossier contenant TOUTES les photos
$RepertoireNOM = opendir("F:\wamp\www\VALM\ADULTES\Adultes sur CD-ROM\");

// $position = strpos($NOM[$k],$debutEXTENSION);
// $image[] = substr($NOM[$k],0,$debutEXTENSION);

while($Nom_ACTORS = readdir($RepertoireNOM))
{
if ($Nom_ACTORS != '.' && $Nom_ACTORS != '..' && $Nom_ACTORS != 'index.php')
{
// on stocke le nom des fichiers des photos dans un tableau
$ACTORS=(substr($ACTORS,0,0));
$tableau[$compt] = $Nom_ACTORS ;
}
$compt++;
}
closedir($RepertoireNOM);

$nbcol = 6;
// on compte le nombre de photos qui se trouve dans le dossier
$nbpics = count($tableau);

// si on a au moins une photo, on les affiche toutes
if ($nbpics != 0)
{
echo '<table>';
for ($i=0; $i<$maxVIRGULE; $i++)
{
if ($ACTORSpresents[$i]==$tableau[$compteur])
{
if($i%$nbcol==0) echo '<tr>';
echo '<img src="/monsitevideo/images/ACTRICES/',$ACTORSpresents[$i] ,'"/><echo $tableau[$compteur]/';
$compteur=0;
if($i%$nbcol==($nbcol-1)) echo '</tr>';
}
$compteur++;
}
echo '</table>';
}
else echo 'Aucune image à afficher';
?>

5 réponses

  1. Ici :

    $RepertoireNOM = opendir("F:\wamp\www\VALM\ADULTES\Adultes sur CD-ROM\");
    \" c'est le caractère " , pas un \ suivit de "

    Mettez
    $RepertoireNOM = opendir("F:/wamp/www/VALM\ADULTES/Adultes sur CD-ROM/");

    Ca doit fonctionner aussi.

    Et utilisez plutôt la fonction !i_dir() que les tests sur . et ..
    Zébulon
    1. le probleme est toujours present.
      J'ai publie de vous donner le type d'erreur :

      Parse error: syntax error, unexpected ']', expecting T_STRING or T_VARIABLE or T_NUM_STRING in F:\wamp\www\VALM\pages\Adultes CD\OnlyFile_ADULTE.php on line 159

      la ligne 159 est celle-ci :

      // $image[] = substr($NOM[$k],0,$debutEXTENSION);

      a moins que l'erreur se trouve bien avant cette ligne!!!
      1. Oui elle se trouve avant, forcément, c'est une ligne avec un commentaire...
      2. $k ça correspond a quoi
      3. Aucune idée, dans l'exemple que vous donnez la ligne 159 n'existe pas... mais ça ressemble furieusement à une erreur de syntaxe, côte mal fermée ou point virgule manquant
      4. peux tu poster ton fichier (complet) sur cijoint ?
      5. voici le code complet en php :

        <?php require_once('../../Connections/Bdd_videos_et_audios.php'); ?>
        <?php
        mysql_select_db($database_Bdd_videos_et_audios, $Bdd_videos_et_audios);
        $query_ADULTES_CD_only = "SELECT * FROM adultes_cd";
        $ADULTES_CD_only = mysql_query($query_ADULTES_CD_only, $Bdd_videos_et_audios) or die(mysql_error());
        $row_ADULTES_CD_only = mysql_fetch_assoc($ADULTES_CD_only);
        $totalRows_ADULTES_CD_only = mysql_num_rows($ADULTES_CD_only);
        ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>Document sans titre</title>
        <style type="text/css">
        <!--
        body,td,th {
        color: #000000;
        }
        body {
        background-color: #00FF00;
        }
        .Style1 {font-size: 36px}
        .Style3 {
        font-size: 24px;
        font-weight: bold;
        }
        .Style5 {
        font-size: 16px;
        font-weight: bold;
        }
        -->
        </style></head>

        <body>
        <div align="center" class="Style1"><?php echo $row_ADULTES_CD_only['ORIGINALTITLE']; ?></div>
        <div align="center"></div>
        <table width="100%" border="1">
        <tr>
        <td rowspan="15"><div align="center"><img src="..\..\VALM\images\ADULTES\Adultes sur CD-ROM\<?php echo $row_ADULTES_CD_only['PICTURENAME']; ?>" width="200" height="250" /></div></td>
        <td rowspan="15"><div align="center"><img src="..\..\VALM\images\ADULTES\Adultes sur CD-ROM\verso_\<?php echo $row_ADULTES_CD_only['PICTURENAME']; ?>" width="200" height="250" /></div></td>
        <td class="Style3"><div align="center" class="Style5">Titres</div></td>
        <td><?php echo $row_ADULTES_CD_only['ORIGINALTITLE']; ?></td>
        </tr>
        <tr>
        <td class="Style3"><div align="center" class="Style5">Catégorie</div></td>
        <td><strong><?php echo $row_ADULTES_CD_only['CATEGORY']; ?></strong></td>
        </tr>
        <tr>
        <td><div align="center" class="Style5">Réalisateur</div></td>
        <td><?php echo $row_ADULTES_CD_only['DIRECTOR']; ?></td>
        </tr>
        <tr>
        <td><div align="center" class="Style5"><strong>Producteur</strong></div></td>
        <td><?php echo $row_ADULTES_CD_only['PRODUCER']; ?></td>
        </tr>
        <tr>
        <td class="Style3"><div align="center" class="Style5">Pays</div></td>
        <td><?php echo $row_ADULTES_CD_only['COUNTRY']; ?></td>
        </tr>
        <tr>
        <td class="Style3"><div align="center" class="Style5">Acteurs/Actrices</div></td>
        <td><?php echo $row_ADULTES_CD_only['ACTORS']; ?></td>
        </tr>
        <tr>
        <td><div align="center"></div></td>
        <td> </td>
        </tr>
        <tr>
        <td><div align="center"></div></td>
        <td> </td>
        </tr>
        <tr>
        <td><div align="center"></div></td>
        <td> </td>
        </tr>
        <tr>
        <td><div align="center"></div></td>
        <td> </td>
        </tr>
        <tr>
        <td><div align="center"></div></td>
        <td> </td>
        </tr>
        <tr>
        <td><div align="center"></div></td>
        <td> </td>
        </tr>
        <tr>
        <td><div align="center"></div></td>
        <td> </td>
        </tr>
        <tr>
        <td><div align="center"></div></td>
        <td> </td>
        </tr>
        <tr>
        <td><div align="center"></div></td>
        <td> </td>
        </tr>
        </table>
        <br />
        <?php
        ////////////////////////////////////////////////
        ///////////////////////////////////
        // affichages des noms dans la cellule de mon tableau acteurs/actrices //
        ////////////////////////////////////////////////
        ///////////////////////////////////
        $ACTORS=$row_ADULTES_CD_only['ACTORS'];
        $longueur_ACTORS =strlen($ACTORS);

        $ACTORSpresents= array();
        $ACTORS_avec_jpg=array();
        $i=0;
        $j=0;
        $maxVIRGULE=0;
        $maxj=0;
        $maxVIRGULE = count((explode(",",$ACTORS)));
        //affiche tous les acteurs/actrices sans leur extension
        if ($longueur_ACTORS>0)
        {
        while($i<$longueur_ACTORS)
        {
        if (isset($ACTORS))
        {
        if (explode(",",$ACTORS))
        {
        if ($maxVIRGULE != $j)
        {
        $ACTORSpresents=(explode(",",$ACTORS));
        echo $ACTORSpresents[$j]."-";
        $j++;
        }

        }
        $i++;
        }
        }
        }
        ?>

        <?php
        //////////////////////////////////////////////
        //affichage des photos des acteurs/actrices //
        //////////////////////////////////////////////

        echo "Voici le casting des personnages \n";
        echo "Il y a ".$j." acteurs/actrices dans le film "."'".$row_jeu_['ORIGINALTITLE']."' \n";

        $NOM = array();
        $compteur =0;
        $i=0;
        $compt=0;
        $debutEXTENSION=".";
        $image = array ();
        $compteur=0;
        // on ouvre notre dossier contenant TOUTES les photos
        $RepertoireNOM = opendir("F:\wamp\www\VALM\ADULTES\Adultes sur CD-ROM\");

        // $position = strpos($NOM[$k],$debutEXTENSION);
        // $image[] = substr($NOM[$k],0,$debutEXTENSION);

        while($Nom_ACTORS = readdir($RepertoireNOM))
        {
        if ($Nom_ACTORS != '.' && $Nom_ACTORS != '..' && $Nom_ACTORS != 'index.php')
        {
        // on stocke le nom des fichiers des photos dans un tableau
        $ACTORS=(substr($ACTORS,0,0));
        $tableau[$compt] = $Nom_ACTORS ;
        }
        $compt++;
        }
        closedir($RepertoireNOM);

        $nbcol = 6;
        // on compte le nombre de photos qui se trouve dans le dossier
        $nbpics = count($tableau);

        // si on a au moins une photo, on les affiche toutes
        if ($nbpics != 0)
        {
        echo '<table>';
        for ($i=0; $i<$maxVIRGULE; $i++)
        {
        if ($ACTORSpresents[$i]==$tableau[$compteur])
        {
        if($i%$nbcol==0) echo '<tr>';
        echo '<img src="/monsitevideo/images/ACTRICES/',$ACTORSpresents[$i] ,'"/><echo $tableau[$compteur]/';
        $compteur=0;
        if($i%$nbcol==($nbcol-1)) echo '</tr>';
        }
        $compteur++;
        }
        echo '</table>';
        }
        else echo 'Aucune image à afficher';
        ?>

        <p><u>Impression de la jaquette </u></p>
        <p><img src="..\..\VALM\images\ADULTES\Adultes sur CD-ROM\<?php echo $row_ADULTES_CD_only['PICTURENAME']; ?>" width="86" height="113" /><img src="..\..\VALM\images\ADULTES\Adultes sur CD-ROM\verso_\<?php echo $row_ADULTES_CD_only['PICTURENAME']; ?>" width="86" height="113" /></p>
        </body>
        </html>
        <?php
        mysql_free_result($ADULTES_CD_only);
        ?>
    2. C'est fait.

      Excusez moi pour le scipt que j'ai oublie de corriger...
      1. et ça marche ?
    3. je n'ai que corriger cette ligne :

      $RepertoireNOM = opendir("F:\wamp\www\VALM\ADULTES\Adultes sur CD-ROM\");

      en

      $RepertoireNOM = opendir("F:/www/VALM/images/ADULTES/Adultes sur CD-ROM/");

      mais cela fonctionne qu'à 80% du script. Pas tout helas.

      J'ai eu d'autres erreur comme celles-ci :

      Undefined variable: row_jeu_ in F:\wamp\www\VALM\pages\Adultes CD\OnlyFile_ADULTE.php on line 146

      Warning: opendir(F:/www/VALM/images/ADULTES/Adultes sur CD-ROM/,F:/www/VALM/images/ADULTES/Adultes sur CD-ROM/) [function.opendir]: Le chemin d'accès spécifié est introuvable. (code: 3) in F:\wamp\www\VALM\pages\Adultes CD\OnlyFile_ADULTE.php on line 156
      Call Stack

      Warning: opendir(F:/www/VALM/images/ADULTES/Adultes sur CD-ROM/) [function.opendir]: failed to open dir: No such file or directory in F:\wamp\www\VALM\pages\Adultes CD\OnlyFile_ADULTE.php on line 156

      Warning: readdir() expects parameter 1 to be resource, boolean given in F:\wamp\www\VALM\pages\Adultes CD\OnlyFile_ADULTE.php on line 162

      Warning: closedir() expects parameter 1 to be resource, boolean given in F:\wamp\www\VALM\pages\Adultes CD\OnlyFile_ADULTE.php on line 172

      Notice: Undefined variable: tableau in F:\wamp\www\VALM\pages\Adultes CD\OnlyFile_ADULTE.php on line 176

      la ligne 146 est :
      echo "Il y a ".$j." acteurs/actrices dans le film "."'".$row_jeu_['ORIGINALTITLE']."' \n";

      la ligne 156 est :
      $RepertoireNOM = opendir("F:/www/VALM/images/ADULTES/Adultes sur CD-ROM/");

      la ligne 162 est :
      while($Nom_ACTORS = readdir($RepertoireNOM))

      la ligne 172 est :
      closedir($RepertoireNOM);

      la ligne 176 est :
      $nbpics = count($tableau);
      1. Ben oui, c'est normal.
        Je ne sais pas où vous avez été pêcher ce code, mais il est cousu d'erreurs.

        146 - Si les variables ne sont pas instanciées, ça ne va pas fonctionner.

        156 - Après pour le OpenDir, le chemin disque que vous lui donnez ne semble pas exister sur votre machine alors bon...

        162 - c'est du à l'échec du opendir

        172 - idem

        et enfin en 176, $tableau n'est pas instanciée avant non plus donc crash.

        Vous devriez repartir de zéro à mon avis.