Ankündigung

Einklappen
Keine Ankündigung bisher.

einträge in listmenu aus dateinamen

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema einträge in listmenu aus dateinamen.

    einträge in listmenu aus dateinamen

    Hi,
    ich habe auf meinen Server ein verzeichnis, dort liegen dateien welche immer die gleiche dateiendung (.lng) haben. Ich möchte nun in einer html-seite (welche ein verzeichnis höher liegt) die dateien in einen listmenu darstellen. Die Dateiendungen (.lng) sollen zuvor auch noch weg und der erste buchstabe des dateinamen muss immer groß geschrieben sein.

    Schonmal Danke

    Greetz

  • Gast-Avatar
    Ein Gast antwortete
    Ahh jetzt funktioniert alles. Danke.

    Werde dich auf der Homepage des Scripts erwähnen, wenn diese online ist bekommst du den Link

    Greetz und thx

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    Der Fehler liegt daran, dass ".." und "." nicht überlesen werden, Und da die Punkte nach dem explode() verschwinden, ist $cat leer. Die Bedingungen müssen natürlich mit or verknüpft werden
    PHP-Code:
    if($file == '.' || $file == '..') continue; 
    , sonst wird die Abfrage nie wahr.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    schön, dass du dir so sicher bist. nur ohne zu wissen wie oft und vor allem
    womit $file belegt wird, is schwierig so ohne glaskugel zu helfen.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Daran liegts nicht. Ich habe jetzt 2 Dateien in den Ordner, das ist rausgekommen:
    Code:
    <tr><td class="cat-headline"><h3></h3></td></tr><tr><td class="cat-headline"><h3></h3></td></tr><tr><td class="cat-headline"><h3>Hdfsjhdfs</h3></td></tr><tr><td class="cat-headline"><h3>Test</h3></td></tr>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    gib einfach zur kontrolle mal zwischen if( ... ) und list( .. ) ein echo $file.'
    ';

    ein, dann siehste was er für dateinamen hat .. evtl kommt er mit denen nicht
    zurecht - aus welchen gründen auch immer.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Und wieso werden mit den Code von lazydog 2 mal Code generiert obwohl keine Dateien in den Ordner sind. Auch wenn welche drin sind passiert das. Es wird folgender Code generiert:
    Code:
    <tr><td class="cat-headline"><h3></h3></td></tr><tr><td class="cat-headline"><h3></h3></td></tr>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ok, ich hab jetzt den code von lazydog verwendet. Funktioniert einwandfrei. Danke, aber auch danke an Stef.

    Greetz

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    OK, da ist ein "$" zuviel reingerutscht:
    PHP-Code:
    list($cat$suff) = explode('.'ucfirst($file)); 

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    mach mal das $ zeichen am anfang weg

    wieso du oben nur zahlen hast, is klar. du berechnest mit strlen($file) die
    länge des dateinamen. da haste dann ne zahl drin stehen. drunter rechnest
    du einfach diese zahl -4, is doch klar, dass dann nur zahlen raus kommen?

    du brauchst die länge des dateinamen von $file, ziehst 4 ab, und nimmst diese
    werte dann für substr().

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von lazydog
    Nun, du hast das subsr() vergessen, aber es geht auch anders:
    PHP-Code:
    $folder opendir("topicstore");
    while(
    $file readdir($folder))
    {
        if(
    $file == '.' && $file == '..') continue;
        
        
    $list($cat$suff) = explode('.'ucfirst($file));
        echo 
    '<tr><td style="cat-headline"><h3><a href="viewcategory.' $phpex .
             
    '?category=' $cat '">' $cat '</a></h3></td></tr>';
        
    }
    closedir($folder); 
    Parse error: parse error, unexpected '=' in /home/www/web2/html/internet/QuickyBoard/demo/index.php on line 37
    PHP-Code:
    //Zeile 37:
        
    $list($cat$suff) = explode('.'ucfirst($file)); 

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    ich habs jetzt so gemacht:
    PHP-Code:
    <?php
    //list categorys
    $folder opendir("topicstore/");
    while(
    false!=($file=readdir($folder))){
    if(
    $file!= "." && $file!=".."){
    $size strlen($file);
    $cat $size-4;
    echo 
    '<tr><td style="cat-headline"><h3>[url="viewcategory.'.$phpex.'?category='.$cat.'"]'.$cat.'[/url]</h3></td></tr>';}}
    closedir($folder);
    ?>
    Aber des will immernoch nicht funktionieren. Jetzt kommen verschiedene Zahlen raus. Ich will doch nur die letzten 4 Zeichen abschneiden....

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    Nun, du hast das substr() vergessen, aber es geht auch anders:
    PHP-Code:
    $folder opendir("topicstore");
    while(
    $file readdir($folder))
    {
        if(
    $file == '.' && $file == '..') continue;
        
        
    $list($cat$suff) = explode('.'ucfirst($file));
        echo 
    '<tr><td style="cat-headline"><h3><a href="viewcategory.' $phpex .
             
    '?category=' $cat '">' $cat '</a></h3></td></tr>';
        
    }
    closedir($folder); 

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    $size = $file.length;

    actionsscript is nich meinst du vllt www.php.net/strlen ?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ich habe jezt den Code für mich angepasst.
    PHP-Code:
    <?php
    //list categorys
    $folder opendir("topicstore/");
    while(
    false!=($file=readdir($folder))){
    if(
    $file!= "." && $file!=".."){
    $size $file.length;
    $cat $size-4;
    echo 
    '<tr><td style="cat-headline"><h3>[url="viewcategory.'.$phpex.'?category='.$cat.'"]'.$cat.'[/url]</h3></td></tr>';}}
    closedir($folder);
    ?>
    Aber in der Variable ist dann nur -4 drin. Also echo $cat ergibt -4.

    Was nun?

    Greetz und thx

    Einen Kommentar schreiben:

Lädt...
X