Problème avec un code php

bonjour j'ai le code suivant aprés les changements et l'hébergement il m'afiche cet problème :
Fatal error: Cannot redeclare scandir() in /home/a8563070/public_html/r.html on line 80

<?php
echo '<p>
<table BGCOLOR="#EFF2FB" BORDER="0"
CELLSPACING="0"
CELLPADDING="1"
WIDTH="100%">
<tr><td>
<a name="#index"><h2>Indexation du site en cours</h2></a>
</td></tr>
</table>
<p>';

$host = "localhost";

$user = "*****";

$password = "****";

$bdd = "******";

/* Connexion avec MySQL */
mysql_connect($host,$user,$password) or die ("Impossible de se connecter
au serveur de base de donnees");

mysql_select_db($bdd) or die ("Impossible d'accéder à la base $bdd");

$query = "DELETE FROM search";

mysql_query($query) or die ("Erreur de modification de la table");

function ScanDir($Directory){
$MyDirectory = opendir($Directory);

while($Entry = readdir($MyDirectory)) {
echo "<br>entry= $Entry<br>";

echo "repertoire= $Directory<br>";

echo "chemin= $Directory/$Entry<br>";

if(is_dir($Entry)&& $Entry != "." && $Entry != "..") {
echo "<b><font color=\"red\">$Entry</font>
</b> est un repertoire<br>";

ScanDir("$Entry/$Directory");

}
else {
if (eregi(".htm",$Entry)) {
$MetaTags = get_meta_tags($Directory."/".$Entry);

if ($MetaTags["robots"] == "all") {
$MetaKey = $MetaTags["keywords"];

$MetaKey = strtoupper($MetaKey);

echo "Meta($Directory/$Entry): $MetaKey
\n";

$MetaTitre = $MetaTags["title"];

echo "Meta($Directory/$Entry): $MetaTitre
\n";

$query = "INSERT INTO search (lien,keyword,titre)
VALUES(\"$Directory/$Entry\",\"$MetaKey\",\"$MetaTitre\")";

$mysql_result = mysql_query($query) or die ("Erreur
de modification de la table par la requete \"$query\"");

}
}
}
}
closedir($MyDirectory);

}

$open_basedir=".";

ScanDir(".");

mysql_close();

?>

svp aidez-moi et merci

6 réponses

  1. je ne comprend pas mon ami svp est ce vous pouvez me doner le code parsque j'ai essayé de le modifier mais il ne marcha pas
    1. Encore une fois, les erreurs sont très claires.
      La dernière indique que l'ouverture du dossier « . » n'a pas réussie avec opendir().
      Les deux erreurs du dessus en découlent.

      Essaie plutôt avec ceci :
      $pathinfo = pathinfo(__FILE__);
      scannerDossier($pathinfo['dirname']);
      1. ok mon amis j'ai fait les changement et j'ai modifié le nom de la fonction le script marche mais au milieu il y a ces 3 messages d'erreur

        Warning: closedir(): supplied argument is not a valid Directory resource in /home/a8563070/public_html/r.html on line 78

        Warning: readdir(): supplied argument is not a valid Directory resource in /home/a8563070/public_html/r.html on line 37

        Warning: opendir(images/vb/.) [function.opendir]: failed to open dir: No such file or directory in /home/a8563070/public_html/r.html on line 35
        1. Il suffit de donner un autre nom à la fonction « ScanDir ».
          Par exemple : scannerDossier (par convention, on ne met pas la 1ere lettre en capitale dans les noms de fonctions).
          1. svp est ce que vous pouvez modifier le code et de lui me donner correct et merci
            1. Salut,

              Une fonction « scandir » existe déjà, il n'est pas possible de la redéclarer.
              Il suffit de lire l'erreur, elle est assez explicite.