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. 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.
    1. svp est ce que vous pouvez modifier le code et de lui me donner correct et merci
      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. 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. 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. 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