Ergebnis 1 bis 19 von 19

Thema: [PHP] file_put_contents in PHP4

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von Niwa Daisuke Beitrag anzeigen
    Ohne trim sind bei file sowieso die \n am Ende der Zeile noch vorhanden, oder?
    Ups, wirklich? Habe ich nicht geschaut/dran gedacht, aber wenn's so ist, einfach statt "return implode ('\n', $file);" "return implode ('', $file);" verwenden.
    Wirst du ja dann sehen, A2k, wenn in der Datei immer gleich zwei Zeilenumbrüche hintereinander sind. <_<'

    Und ich würde btw auch vor die Funktionsdefinition von file_put_contents eine "if (! function_exists ("file_put_contents"))"-Abfrage machen. Könnte sonst evtl. Probleme geben, wenn du auf PHP 5 aufrüstest. ^^'

  2. #2
    Zitat Zitat von drunken monkey Beitrag anzeigen
    Wirst du ja dann sehen, A2k, wenn in der Datei immer gleich zwei Zeilenumbrüche hintereinander sind. <_<'
    Hab's am localhost getestet und da werden die '\n's als Text ausgegeben. Setzt man sie allerdings im Code zwischen "", werden sie zu richtigen Zeilenumbrüchen.
    Weiß wer, warum?

  3. #3
    Zitat Zitat von Niwa Daisuke Beitrag anzeigen
    Hab's am localhost getestet und da werden die '\n's als Text ausgegeben. Setzt man sie allerdings im Code zwischen "", werden sie zu richtigen Zeilenumbrüchen.
    Weiß wer, warum?
    Klar, ich. <_< Weil bei Strings in einfachen Anführungszeichen Escape-Sequenzen (außer "\'") grundsätzlich nicht erkannt werden, ich aber zu dumm war, mir das richtig zu merken. Ich dachte, Zeilenumbrüche würden schon gehen, bei doppelten Anführungszeichen könnte man ja auch einfache Zeilenumbrüche verwenden. Tja, so kann man sich irren...
    Dieses file_put_contents wird noch mein Waterloo...

    Aber Zeilenumbrüche sind nach den "\n"s auch vorhanden, oder wie?

  4. #4
    nur so nebenbei, ich hab das mit mitakis aufräum-aktion von meinen funktionen und klammern getestet, und es läuft alles wunderbar.
    Also gleich nochmal danke an alle die mir hier mal wieder ne PHP nachhilfestunde gegeben haben ^__^

    äh, nur kurz ein kleines html problem möcht ich schnell anschneiden (nur gaaaanz klein).
    wie kann ich die länge einer rahmenlinie so definieren, dass sie automatisch über den gesamten bildschirm geht?

    ich habe einen text welcher von einer rahmenlinie unterstrichen wird, diese soll jedoch nicht NUR den text unterstreichen, sondern gleich den gesamten bildschirm von links nach rechts teilen. (Es darf aber nicht "<hr> sein!)

    da kommt mir automatisch der
    Code:
    <border-bottom width="100%">
    befehl in den sinn, aber rahmenlinien gibt es anscheinend keine definition durch "width". Wie kann ich also die länge einer rahmenlinie definieren?

    Nachdem ich hier ein paar gute antworten bekommen hab, seid ihr alle aus dem Nachhilfeunterricht entlassen
    THX @ ALL

    A2k


    border bottom

  5. #5
    Rahmenlinien gehen immer über die gesamte Breite des Elements zu dem sie gehören. Wenn du also ein div oder p über die gesamte Bildschirmbreite anlegst und einen Rahmen verpasst geht der auch über den ganzen Bildschirm.

  6. #6
    Tja, die Idee hatte ich grundsätzlich ja auch, aber leider funktioniert das nicht.
    Ich habe in meiner CSS-Datei die Klasse ".line" so definiert:
    Code:
    .line	{	width:100%;
    		border-bottom:1px solid #99CCFF;
    		padding-bottom:1px;
    	}
    Wenn ich jetzt also einen kurzen Text im <Body> stehen hab, möchte aber dass die gesamte Länge des Bildschirms mit der Rahmenlinie durchzogen wird, funktioniert dass so nicht.

    zB:
    Code:
    <html>
    
    <head>
    </head>
    
    <body>
    
         <div class="line">
         <p><strong>» Testüberschrift:</strong></p>
         </div>
    
    </body>
    
    </html>
    Nun sollte das Wort Testüberschrift mit einer Rahmenlinie über den ganzen Bildschirm unterstrichen sein. "Sollte" wohlgemerkt, weil sie ist es nicht.... kA warum

    Thx,
    A2k

  7. #7
    Ist sie gar nicht unterstrichen?

    Nun, entweder liegt es daran, dass du deine CSS Datei nichtmal verlinkt hast.
    Wenn doch hilft eventuell die verwendung eines standardkonformen Modus durch Doctype-Angabe:
    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    oder
    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
    Nebenbei: sofern das <div> nicht notwendig ist kannst du die Klasse auch auf das <p> anwenden.

    Die Angabe 100% dabei außerdem nicht notwendig, da Blockelemente immer 100% breit sind.

    Geändert von mitaki (07.10.2006 um 17:22 Uhr) Grund: Anmerkung+

  8. #8
    Zitat Zitat von mitaki Beitrag anzeigen
    Ist sie gar nicht unterstrichen?

    Nun, entweder liegt es daran, dass du deine CSS Datei nichtmal verlinkt hast.
    Wenn doch hilft eventuell die verwendung eines standardkonformen Modus durch Doctype-Angabe:
    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    oder
    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
    Nebenbei: sofern das <div> nicht notwendig ist kannst du die Klasse auch auf das <p> anwenden.

    Die Angabe 100% dabei außerdem nicht notwendig, da Blockelemente immer 100% breit sind.

    Es wird schon unterstrichen, aber eben nur in der länge des textes.
    Das war nur ein Beispiel im die Wiedergabe im <div> zu zeigen, in wirklichkeit ist das CSS verlinkt aber anstelle eines strict.dtd oder loose.dtd verwende ich (wegen 99% xHTML meiner Site) den transitional Modus:
    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    Aber letztendlich ist es nicht soooo wichtig, wär aber nett wenn man das irgendwie richten könnte.

    Merci,
    A2k

  9. #9
    Zitat Zitat
    Es wird schon unterstrichen, aber eben nur in der länge des textes.
    Das war nur ein Beispiel im die Wiedergabe im <div> zu zeigen, in wirklichkeit ist das CSS verlinkt aber anstelle eines strict.dtd oder loose.dtd verwende ich (wegen 99% xHTML meiner Site) den transitional Modus:
    Hier tritt ein Sonderfall ein. Du musst, html und body die Eigenschaft width:100%; geben, damit auch das div 100% breit werden kann.
    Oder eben beim div die 100% Eigenschaft weglassen, da - wie gesagt - Blockelemente, d.h. auch <p> und <div> immer 100% breit sind bzw. sich an die Grenzen links und rechts anpassen. Dann klappts auch mit dem border.

  10. #10
    *hust* Schonmal dran gedacht, für Überschriften auch die Tags zu verwenden, die dafür gedacht sind? Folgendes funktioniert einwandfrei:

    HTML-Code:
    <h1 style="border-bottom:1px solid #99CCFF;">Test</h1>

  11. #11
    Ja, es ist hoffentlich wirklich nur ein Beispiel.

    Außerdem sollte man dazusagen, dass für <h*> auch keine Extraklasse benötigt wird, sondern die Angaben gleich für das Element bestimmt werden können.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •