Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Linefeeds automatisch umwandeln

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Linefeeds automatisch umwandeln

    Hey,
    Gibt es in Php eine Möglichkeit die Funktionen wie fgets, fgetcsv so einzustellen, das \r\n "cr lf" beim einlesen automatisch in \n "lf" umgewandelt wird?

    Optimal wäre es wenn ich die am Anfang meines Codes aufrufen könnte, und die Funktionen die Umwandlung beim Einlesen automatisch vornehmen..


  • #2
    Schreib deine eigene Funktion mit str_replace...
    "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

    Kommentar


    • #3
      Ja - soweit war ich schon. Hätt ich wohl erwähnen sollen.

      Das ist doch dann aber wieder ein Funktionsaufruf mehr - also wieder mehr Verarbeitungszeit.. Gibt es keinen Leistungsschonenderen Ansatz?

      Oder meinst du ich soll dazu direkt im Php-Quelltext rumpfuschen? Das ist meiner Meinung nach auch keine gute Alternative - denn dann ist das Programm ja nur noch schwer portierbar.

      Kommentar


      • #4
        Zitat von soundFXon Beitrag anzeigen
        Das ist doch dann aber wieder ein Funktionsaufruf mehr - also wieder mehr Verarbeitungszeit..
        Als ob so eine Billig-Operation ins Gewicht fällt ...

        Kommentar


        • #5
          Wenn du eine Million mal am Tag mit dem Fuß wippst - fällt das auch ins Gewicht..

          Ich versuche herauszufinden wo ich optimieren kann und ein bisschen tiefer in die Materie einzutauchen als einfach nur zu sagen - na dann mach ich es eben so..

          Kommentar


          • #6
            Ob du dann einmal mehr oder weniger mit dem Fuß wippst fällt meiner Meinung nach gar nicht ins Gewicht

            Das ist ja auch im Grunde richtig. Nur bei einem Funktionsaufruf mehr oder weniger ist es völlig egal, da solltest du dir überhaupt keine Gedanken drüber machen.

            Kommentar


            • #7
              Ich versuche herauszufinden wo ich optimieren kann und ein bisschen tiefer in die Materie einzutauchen als einfach nur zu sagen - na dann mach ich es eben so..
              also von einem EINZIGEN Aufruf der Funktion str_replace() wird dein Server net wirkli was merken !!! die ausführungszeit liegt im bereich von Millisekunden, aber probier doch einfach 10000 mal die schleife ducrhlaufen lassen ... und jedes mal ersetzten ... dann siehst du wie schnell des is ... so kann man auch vergleichen, welche von mehreren Methoden / Alogarithmen der schnellere ist !! einfach 100 000 oder öfter durch eine schleife laufen lassen und dann die ausführungszeiten vergleichen ...
              PHP-Code:
              if ( $humans >= ) {
                 
              war ();

              Kommentar


              • #8
                Ja, das ist ok. Meine Frage war nicht ob die eine oder andere Funktion besser ist oder nicht.

                Mir würde es zumindest logisch erscheinen wenn so etwas implementiert wäre. Denn das Problem ist ja fast schon ein Alltägliches. Warum sollte also immer wieder der selbe grundlegende Code geschrieben werden müssen, wenn es einfach nur eine Einstellungssache ist.

                Meine erste Programmiersprache war C. Und da ist es nunmal so das man sehr nah am System arbeitet. Das heißt auch - viel optimieren. Denn eine Funktion für sich ist schnell.
                10.000 mal aufrufen - absolut kein Problem. Aber im Großen und Ganzen sind 10.000 Aufrufe von 20 Funktionen = 200.000 Aufrufe. Jeder gesparte Funktionsaufruf ist also weniger verbrauchte Zeit und Leistung, da nicht immer erst der ganze Overheadprozess mit "Sprüngen und Values kopieren" abgearbeitet werden muss..

                Und da Scriptsprachen an sich ja schonmal langsamer sind, muss es doch auch ne Menge Tricks geben um das ganze zu optimieren. Oder seh ich das falsch?
                Ich will hier niemandem auf den Kragen treten - aber etwas einfach hin zu nehmen ist allenfalls eine Technik die man anwenden kann, wenn das Zeit- Leistungsverhältnis es nicht anders hergibt. Schlechter Programmierstil ist es allemal.

                Kommentar


                • #9
                  10.000 mal aufrufen - absolut kein Problem. Aber im Großen und Ganzen sind 10.000 Aufrufe von 20 Funktionen = 200.000 Aufrufe. Jeder gesparte Funktionsaufruf ist also weniger verbrauchte Zeit und Leistung
                  nur soweit ich weiß rufst du die funktion genau EIN MAL auf, und dass fällt nicht ins gewicht, also net den kopf zerbrechen darüber!!
                  PHP-Code:
                  if ( $humans >= ) {
                     
                  war ();

                  Kommentar


                  • #10
                    SInnlose Diskussion. Fakt ist - für PHP sind die Umbruchzeichen nicht relevant, es sind ganz normale Characters des Dateiinhalts. Ergo gibt es auch kein entspr. Flag. file() wäre die einzige Funktion, für die das relevant sein könnte und scheint damit auch problemlos umgehen zu können. Aber auch hier werden die Umbrüche original durchgereicht, auch wenn PHP intern sicher die verschiedenen Varianten berücksichtigen muss, um die Arrays zu erstellen.

                    Langer Rede kurzer Sinn - es gibt keine solchen Wrapper - ob die nun für Dich praktisch wären oder nicht. Und mit Performance hat das auch nicht viel zu tun, weil die PHP-eigenen Funktionen gut mit den verschiedenen Umbrüchen klar kommen - siehe nl2br() z.B. Die Argumentation
                    Und da Scriptsprachen an sich ja schonmal langsamer sind, muss es doch auch ne Menge Tricks geben um das ganze zu optimieren. Oder seh ich das falsch?
                    finde ich etwas mager.
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar

                    Lädt...
                    X