PHP - Tabellenprob...



  • Also ganz oben bindest du per include("descriptions.php"); die Texte ein!
    Erfolgte ein Upload, so fügst du mit desc[upfile] = $beschreibung; den aktuellen hinzu und schreibst alle wieder neu:

    <?
     function php_format($string)
     {
      $string = str_replace("\"","\\\"",$string);
      $string = str_replace(chr(13),"",$string);
      return $string;
     }
    
     @$file = fopen("descriptions.php","w");
    
     @fputs($file,"<?".chr(13)."\n");
    
     foreach($desc as $filename => $description) {
      @fputs($file," \$desc['$filename'] = \"".php_format($description)."\";".chr(13)."\n");
     }
    
     @fputs($file,"?>");
    
     @fclose($file);
    ?>
    


  • Ich geh jetzt schlafen! Gute Nacht!
    Falls du noch Fragen hast -> morgen früh bin ich wieder da!



  • gut.
    was muss aber in der description.php stehen?

    Und das in printf mit dem desc[file] kann man so lassen?



  • Original erstellt von flenders:
    Ich geh jetzt schlafen! Gute Nacht!
    Falls du noch Fragen hast -> morgen früh bin ich wieder da!

    ok gute nacht.
    Muss sagen: Du bist ein sehr ruhiger, hilfsbreriter, anständiger super typ.....
    Danke!

    PS: Haste ICQ? When yes: What for a Number?
    my ICQ# is: 152260187

    PS2: Mir ist aufgeffallen: Beide registriert seit Mrz2002 BEIDE gleich viele Beiträge, nämlich 334! Beide immer online. Haste auch ADSL oder CableCom? je nachdem, wo du wohnst.. Schweiz, Deutschland... 😉

    [ Dieser Beitrag wurde am 03.01.2003 um 23:44 Uhr von Programmer85 editiert. ]



  • ICQ hab ich zwar, ist aber meist aus!
    Du kannst alles lassen wie bisher!
    descriptions.php füllt sich automatisch, wenn du neue Dateien hochlädst!



  • ??? Bei mir steht da was anderes!
    Beiträge: 530 | Registriert seit: Jul 2002



  • ok. dann lasse ich dich jetzt schlafen... gute nacht!



  • So Leute und Moderatoren: hat sich erledigt! Ihr könnt schliessen... ODER in die FAQ admit... 😉



  • SOrry, aber es gibt noch ein Prob...

    Ich hab ja in meiner Exchange die Aktionen Löschen und Umbennen,
    Wie kann ich es machen, dass wenn man Umbennent, dass nicht nur die Datei umbenannt wird, sondern auch der entsprechende eintrag in der description.php gerändert wird?? Wenn man löscht, muss der eintrag auch in der derscription.php gelöscht werden..

    Hier mal der Code der DELETE.PHP

    <?php
    
    include("password.php");
    
    $filepath = $DOCUMENT_ROOT."/downloads/";
    
    if (isset($_REQUEST['file'])) {
       if(file_exists($filepath.$_REQUEST['file'])) {
        if (isset($_POST["delfile"])) {
              if(unlink($filepath.$_REQUEST['file'])) {
            echo "Datei gelöscht!";
            echo "<hr>";
            echo "<a href=\"exchange.php\">Zurück</a>";
            }
        } else {
        printf ("<form action=\"%s\" method=\"post\">", $PHP_SELF);
        echo ("<input type=\"hidden\" name=\"delfile\" value=\"1\">");
        printf ("<input type=\"hidden\" name=\"file\" value=\"%s\">", $file);
        printf ("Soll die Datei "%s" tatsächlich gelöscht werden?<br>", $_REQUEST['file']);
        echo ("<input type=\"submit\" value=\"Löschen\">");
        echo ("</form>");
        }
    }
    }
    ?>
    

    Der Code der RENAME.PHP lautet

    <?php
    
    include ("password.php");
    
    $filepath = $DOCUMENT_ROOT."/downloads/";
    
    if (isset($_REQUEST['file'])) 
    {
      if (file_exists($filepath.$_REQUEST['file']) &&
         (!file_exists($filepath.$_REQUEST['newfile'])) &&
         (isset($newfile))) 
    {
         if (rename($filepath.$_REQUEST['file'],$filepath. $_REQUEST['newfile'])) 
    {
                echo "Datei wurde umbenannt.";
    
    } else {
      echo "Datei kann nicht unbenannt werden. Leer- und Sonderzeichen nicht gestattet!";
     }
            } else {
              printf ("<form action=\"%s\" method=\"post\">",$PHP_SELF);
              printf ("<input type=\"hidden\" name=\"file\" value=\"%s\">", $_REQUEST['file']);
              printf ("Alter Name: %s<br>",$file);
              printf ("<input type=\"text\" name=\"newfile\" value=\"%s\">", $_REQUEST['newfile']);
              echo ("<input type=\"submit\" value=\"Umbenennen\">");
              echo ("</form>");
              }
         } else {
         echo "Keine Datei definiert!";
    }
    ?>
    

    Ich hoffe, man kann damit was anfange?!



  • Hast du PHP3 oder 4?



  • wie meinste?
    einfaches php.... soviel ich weiss, funzt PHP3 auf dem server...

    biste net online im ICQ?

    [ Dieser Beitrag wurde am 04.01.2003 um 15:58 Uhr von Programmer85 editiert. ]



  • Also ich hab den Code zum Schreiben der Datei mal noch ein bischen umgebastelt:

    function write_descriptions()
    {
     @$file = fopen("descriptions.php","w");
     @fputs($file,"<?".chr(13)."\n");
     if (is_array($desc)) {
      foreach($desc as $filename => $description) {
       if ($description) @fputs($file," \$desc['$filename'] = \"".php_format($description)."\";".chr(13)."\n");
      }
     }
     @fputs($file,"?>");
     @fclose($file);
    }
    

    Das ganze ist jetzt in einer Funktion (kannst du oben in dein Script unter die php_format-Funktion setzten. Überall wo die Beschreibungen gespeichert werden sollen, rufst du dann jetzt einfach diese Funktion auf (also nach upload, umbenennen und löschen).

    Vor den Aufruf der Funktion setzt du jetzt beim Löschen noch:

    if(unlink($filepath.$_REQUEST['file'])) {
     $desc[$_REQUEST['file']] = "";
     write_descriptions();
     [...]
    }
    

    und für das Umbenennen

    if (rename($filepath.$_REQUEST['file'],$filepath. $_REQUEST['newfile'])) 
    {
     $desc[$_REQUEST['newfile']] = $desc[$_REQUEST['file']];
     $desc[$_REQUEST['file']] = "";
     write_descriptions();
     [...]
    }
    

    [ Dieser Beitrag wurde am 04.01.2003 um 16:06 Uhr von flenders editiert. ]



  • und äh das heisst, ich kann jetzt die schreibfunktion unter if(moved_uploaded_file..... wieder löschen?



  • Genau, da wo bisher das fopen()[...]fclose() steht rufst du einfach die Funktion auf!
    Du könntest es zwar auch lassen, aber ändere es lieber - es wird übersichtlicher!



  • ok. und wie ruft man eine funktion auf?
    require(write_function()); ??



  • nein! require ist so was ähnliches wie include, also zum Einbinden von Dateien!
    Schau dir nochmal den Code an, den ich gepostet (editiert) habe, da wird die Funktion schon aufgerufen!



  • ok. werde des mal einbauen. aber noch nicht jetzt, sondern später... muss noch kurz weg


Anmelden zum Antworten