Beiträge von Talwin

    Das ziehlt darauf ab, dass der Text unter Umständen unlesbar ist (schlechter Kontrast). Bedenke, bei nicht definierten color bzw background-color Angaben wird der Wert aus dem Userstylesheet des Browsers genommen, den jeder Besucher nach seinen Vorlieben ändern kann. Daher solltest Du immer BEIDES definieren und somit die Standardeinstellungen des Browsers "überschreiben".

    Zitat von "Basiii"

    Aus dem letzen Zitat + deiner Antwort schließe ich das du überhaupt keine Ahnung hast wie man diese Funktion anwenden soll...


    Tut mir leid aber so sehe ich das.


    Schlechten Stil darfst du es gerne nennen, aber es ist mein Stil, und von der Performance habe ich 0 Unterschied gemerkt, von daher ist es ein in meinen Augen normaler Stil.


    Oh, eine sehr hilfreiche Antwort. Dann erkläre es mir doch bitte, aber bitte nicht so ein Totschlagargument.
    Ein String ist nunmal nicht dazu da um mehrere Argumente zu übergeben, dazu ist ein array semantisch viel sinnvoller.

    Zitat von "Basiii"

    In diesem Falle Blödsinn, es geht darum in einem CMS eine Navigation auszugeben, und nicht Dateinamen aus Verzeichnissen auszulesen, das wäre ich komplett anders angegangen.


    Du solltest modular denken, welche Funktionen bzw. Codeteile kann ich in anderen Zusammenhängen wieder verwenden? Daher: Funktionen bzw. Methoden in objektorientierten Umgebungen so allgemein und modular wie möglich halten. Denkbar wäre es, das Ergebnis meiner vorgeschlagenen Funktion (unten mal getFiles genannt) als Argument einer Ausgabefunktion übergeben, daher ist eine Rückgabe als array sinnvoll.

    Code
    genDataList(getFiles());


    Zitat von "Basiii"

    Wieso als Array übergeben? Finde ich viel komplizierter als sie einfach durch Kommas zu trennen.


    Strings musst Du aufwändig zerlegen, arrays nicht. String Operationen sind performant. Außerdem ist das schlechter Stil


    Zitat von "Basiii"

    Weil?


    Weil ja keine Ausgabe in der Funktion stattfindet.


    Zitat von "Basiii"

    Ebenfalls finde ich es hier einfacher Kommas zu nutzen, geht sogar schneller.


    siehe oben


    Zitat von "Basiii"

    Meine Funktion hat den Hintergrund das man Endungen festlegt.


    aha, und wenn das Argument ein leerer String ist? Hast Du das abgesichert?


    Zitat von "Basiii"

    Das kapier ich nicht, nur derjenige der Zugriff auf den FTP hat kann das alles auslesen, und derjenige könnte es sich also auch gleich runterladen.


    nun,man kann Deiner Funktion theoretisch jeden beliebigen Ordner als Argument übergeben ($dir), also werden vielleicht Dateien aus einem Ordner ausgegeben, von dem Du es gar nicht willst. Es ist ja nicht definiert wie und wo diese Funktion aufgerufen wird.

    Hmm, mir erschließt sich noch nicht der Sinn dieser Funktion. Sie ist irgendwie als eierlegende Wollmilchsau angelegt. Warum gleich einen fertigen String zurück geben? Was ist, wenn ich genau diese Dateien anders benötige (nicht zur Ausgabe als Liste)?.
    Mein Vorschlag, was Deine Funktion machen könnte:


    • Die Dateien als array zurück geben, wie sie weiter verarbeitet werden ist dann variabel (z. B.als Liste ausgeben).
    • Die Endungen von den Dateien, die ausgelesen werdensollen, als Array übergeben, nicht als String
    • Das Argument Attribute fällt weg
    • Die Ausnahmen als array übergeben nicht als String
    • Außerdem noch alle Unterordner nicht zurück geben (falls bei Deiner Funktion keine Endungen festgelegt werden, gibt sie auch Unterordner aus), dazu mittels is_file prüfen.
    • Als letztes die Sicherheit: Theoretisch könnte man mit der Funktion JEDEN Ordner, auf denPHP Zugriff hat auslesen! Sollte man begrenzen



    Gruß Talwin

    Zitat von "Sören"

    Der Link führt einen in der Ordnerstruktur von der aktuellen Seite 2 Ordner zurück und dann zur Datei "sitemap" im Ordner "de".


    Nicht ganz. Es führt eben nicht zur Datei sitemap, sondern in den Ordner sitemap, wo gemäß Servereinstellung die default Seite aufgerufen wird (in der Regel die index.html). Natürlich kann sowas durch mod_rewrite Regeln serverintern anders aussehen,aber nach aussen hin ist es wie beschrieben.

    Naja, aber die "Länge" eines Codestücks gibt doch nicht Aufschluss über die Qualität des Codes, geschweige denn über die Aufwendigkeit. Wenn man es genau nimmt, fehlen da: Überprüfung des Arguments, falls keine Zahl, Exception schmeißen (der aufrufende Codeteil muss diese auffangen und verarbeiten, in einem try-catch Block), dann prüfen, ob Zahl über Null, falls nein, Exception schmeißen etc.
    Das wäre dann eine saubere Funktion

    Zitat von "Sören"

    Das wäre von der Umständlichkeit her ungefähr genauso viel, wie seine erste Funktion.


    Ähh, nein. Einfach zwei numerische Vergleiche, anstatt unperformante String Operationen. Es sind ja schließlich Zahlen und keine Zeichenketten, die hier verarbeitet werden sollen. Leider hat PHP keine feste Typisierung und lässt solche Vergewaltigungen von Variablen zu...


    Hi, warum macht ihr das so umständlich? Einfach überprüfen,ob die Zahl zwischen 0 und 1 liegt, dann ist es eine Zahl ala 0,x. Wenn die Zahl größer-gleich 1 ist dann durch 100 teilen.


    Gruß Talwin

    Jeder kann machen was er will. Andere können aber darauf hinweisen, dass der Weg nicht für alle Besucher der Seite angenehm sein wird. Wofür, wenn nicht für Kritik hat er sonst diesen Thread eröffnet?


    Und dass fixe Breiten vor allem auch in diesem Fall Nachteile hat, lässt sich nun mal nicht bestreiten. Es reicht, dass der Threadersteller festgestellt hat, dass er es trotzdem so machen will, was obige Aussage jedoch nicht wiederlegt.


    Gruß Talwin


    Damit hast Du also das Problem von fixen Breitenangaben selbst erkannt. Wenn Du innerhalb der mittleren Spalte wieder Elemente mit fixer Breite hast und das immer weiter nach innen verschachtelt, dann ist klar, dass Du letztendlich für das umschließende Div nur eine fixe Angabe machen kannst. Überlege, ob Du wirklich diese ganzen fixen Breiten wirklich brauchst.


    Gruß Talwin

    Anscheinend verstehst Du aber nicht genau was ich meine. Natürlich würde ich die Autos überholen, ich will ja auch nix von denen. Aber von Besuchern auf meiner Website will ich sehr wohl was. Sie sollen wieder kommen!


    Und nein, Du sollst die Breite nicht auf 800px setzten, das wäre ja schon wieder eine feste Breite. Warum nicht den äußeren Spalten eine fest e Breite geben, die mittlere nimmt sich dann den Rest? Zur Not kannst Du die Mindestbreite der mittleren Spalte mit min-width nach unten begrenzen. Oder Du gibst allen 3 Spalten prozentuale Breiten, dann stehen sie zueinander immer im gleichen Verhältnis.


    Gruß Talwin

    Wie oben editiert hat das nicht unbedingt etwas mit veralteter Technik zu tun.


    Ich sehe es so. Wenn man es sich leisten kann als Webmaster, dass viele wegen fehlendem Surfkomfort die Seite wieder verlassen, dann sei es so. Wenn man aber versucht möglichst viele Besucher zu bekommen und zu halten, dann sollte man sich schon an den AKTUELLEN Vorraussetzungen der Besucher orientieren, egal was man persönlich davon hält.


    Wenn es darum ginge würde ich mich keine Sekunde darum kümmern, wie meine Seiten im IE aussehen, da ich von diesem Browser nichts halte. Aber das wäre völliger Humbug, da ich den Besuchern nicht vorschreiben kann/will, welchen Browser sie benutzen sollen.


    Gruß Talwin

    Aha, und was ist mit Notebooks?


    Die Auflösung hat auch nix mit veralteter Technik zu tun, viele Personen ab einem gewissen Alter sehen einfach nicht mehr so gut und können mit einer höheren Auflösung einfach nix anfangen, egal welchen Monitor sie haben.


    Der Vergleich mit dem Benzin ist also hinfällig.

    Zitat von "YetiZwerg"

    außerdem kannst du nicht sagen, dass es falsch ist die Seite mit einer breite von 1200px zu erstellen...


    das ist es nicht..


    Dann ist es halt Dein Unvermögen es flexibel zu machen. Nenn es wie Du willst, aber Du kannst nicht abstreiten, dass Du damit viele User zum horizontal Scrollen zwingst.


    Zitat von "YetiZwerg"


    heutzutage surft man nicht mehr mit weniger als 1024


    Hast Du meinen Link gelesen? 40% haben bis zu 1024 Auflösung. Was sagt Dir das? Du hast 1200px Breite fix.


    Außerdem ist die Breite von der Seite des Threaderstellers mind. 1111px breit, also auch zu breit für Browser im Vollbildmodus ohne Sidebar mit ner Auflösung von 1024.


    Sorry, aber das stimmt so nicht. Laut Statistik surfen immer noch 40% aller User mit 1024 oder weniger im Internet. Das mit den 16:9 Bildschirmen weißt Du woher? Stichprobe bei den Leuten, die Du kennst? Das ist nicht repräsentativ.


    Und was soll bitte diese Aussage zum Vollbildmodus? Das ist doch Schwachsinn, Du willst doch die Besucher auf deine Seite haben, der User entscheidet, wie er surft und lässt sich nichts aufzwingen. Dazu kann ich nur sagen, wer es nicht schafft, eine Seite mit flexibler Breite zugänglich für die meisten zu erschaffen, ist selber Schuld!


    Außerdem schon mal daran gedacht, dass selbst der Vollbildmodus noch durch optionale Sidebars im Browser weiter beschnitten wird?


    sich gar auf eine feste Breite von 1200px festzulegen finde ich einfach nur falsch.


    Achja, wenn man dann Angst davor hat, dass das Seitendesign bei zu kleinen oder zu großen Breiten des Anzeigebereiches des Browsers zerfällt, dann kann man immert noch die CSS Eigenschaften min-width und max-width nutzen.


    Gruß Talwin

    Code
    #side{
        width:1010px;
        margin-left:10%;
        ...
    }


    Warum so breit? warum eine feste Breite?


    Schau Dir das mal mit Auflösungen von 1024 und weniger an, geschweige denn, dass viele nicht im Vollbildmodus mit dem Browser surfen. Horizontales scrollen nimmt mir meist jeden Spaß an einer Seite und lässt mich recht bald das X klicken.


    Gruß Talwin