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