Ankündigung

Einklappen
Keine Ankündigung bisher.

read_dir, mysql_fetch_array und while

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • read_dir, mysql_fetch_array und while

    Ich vergleiche die gelesenen Verzeichnisse mit den Einträgen in der Datenbank.
    Replace soll nur ausgeführt werden, wenn der Eintrag in der DB noch nicht existiert,
    oder noch keine Bezeichnung für das Verzeichnis in der DB eingetragen wurde.
    Das kanze klappt lokal auf Apache 2 und PHP5.
    Wenn ich es hochlade (bei 1und1 , Apache 1.3 und php4.xx)
    wird nur das letzte Verzeichnis in die DB eingetragen.
    Ich hab bei 1und1 nach Anleitung für PHP5 die Dateiendungen alle auf *.php5 geändert
    und die Links angepasst - das gleiche Problem.

    Jetzt stehe ich im Wald und sehe Ihn vor lauter Bäumen nicht

    DB zum vergleichen:

    Code:
    $sql="SELECT file,modulname FROM ".$db.".mod";
    $res=send_sql($db, $sql);
    Code für Verzeichnis:

    Code:
    $handle=opendir($ordner);
    
    while ($file= readdir ($handle)) {
        if ($file != "." && $file != "..") { 
    if (is_dir($ordner."/".$file)) {
        rawurlencode($file);
        $lnkname=$file;
        $lnkname=str_replace("_"," ",$lnkname);
        $row=mysql_fetch_row($res); 
        #echo $row['file']."
    ";
        if($lnkname!=$row['file'] && $row['modulname']==NULL){
        $sql="REPLACE INTO ".$db.".".$tabelle." (file) VALUES ('".$lnkname."')";
        $result=send_sql($db, $sql);
       }
    }}
    }
    closedir($handle);

    MFG Diggedag

    EDIT: kleinen Schreibfehler im Script korrigiert

  • #2
    PHP-Code:
    <?php
        rawurlencode
    ($file); 
    ?>
    Bringt dir nichts, wenn schon
    PHP-Code:
    <?php
    $file 
    rawurlencode($file);
    ?>
    Zu deinem Problem: Lass dir doch mal $file immer ausgeben und schau was du bekommst.. Oder vllt mit (wenns PHP5 is)
    http://de.php.net/scandir arbeiten..

    Kommentar


    • #3
      sorry,

      Das hatte ich vorher auch so, ist vermutlich beim ständigen ändern passiert.

      Aber das Problem liegt ja irgendwo anders.

      Vielleicht gibts da irgendwo ne Lösung.

      Sollte das evtl. am Apache liegen?

      Kommentar


      • #4
        $file ausgeben hatte ich übersehen:

        Zu deinem Problem: Lass dir doch mal $file immer ausgeben und schau was du bekommst.. Oder vllt mit (wenns PHP5 is)
        online gibt er nichts aus, lokal aber alles im Verzeichnis

        Kommentar

        Lädt...
        X