Karl: Dynamisches Word-Dokument

Hallo,

Ich habe ein Word-Dokument; Nehmen wir als Beispiel eine Rechnung.
Oben das Datum und in der Mitte der Text als Variable Textstellen.
anstatt das Datum und einen Text steht da aber nun 00.00.00 und ABC.
mit PHP ersetzte ich nun 00.00.00 durch das heutige datum mit date(); und time(); und gebe das ganze dann als Word-Dokument aus mit

Header("Content-Type: application/msword");

nur der Text ABC lässt sich nicht ersetzten weil die anzahl der zeichen verschieden sind.
lässt sich da auch irgendwie eine dynamik einrichten?

Wer es mal schnell Testen will:

test.doc:
---------
00.00.00

Hallo
---------

test.php:
---------
<?php
Header("Content-Type: application/msword");
$file = "test.doc";
$data = fopen($file, "r");
$handle = fread($data, filesize($file));
fclose($data);

$handle = str_replace("00.00.00", "21.06.04", $handle); # Funktioniert!
$handle = str_replace("Hallo", "Das ist ein Test", $handle); # Funktioniert nicht!
print $handle;
?>
---------

MfG
Karl

  1. Hallo,

    Ich habe ein Word-Dokument; Nehmen wir als Beispiel eine Rechnung.
    Oben das Datum und in der Mitte der Text als Variable Textstellen.
    anstatt das Datum und einen Text steht da aber nun 00.00.00 und ABC.
    mit PHP ersetzte ich nun 00.00.00 durch das heutige datum mit date(); und time(); und gebe das ganze dann als Word-Dokument aus mit

    Header("Content-Type: application/msword");

    nur der Text ABC lässt sich nicht ersetzten weil die anzahl der zeichen verschieden sind.
    lässt sich da auch irgendwie eine dynamik einrichten?

    Wer es mal schnell Testen will:

    test.doc:

    00.00.00

    Hallo

    test.php:

    <?php
    Header("Content-Type: application/msword");
    $file = "test.doc";
    $data = fopen($file, "r");
    $handle = fread($data, filesize($file));
    fclose($data);

    $handle = str_replace("00.00.00", "21.06.04", $handle); # Funktioniert!
    $handle = str_replace("Hallo", "Das ist ein Test", $handle); # Funktioniert nicht!
    print $handle;
    ?>

    MfG
    Karl

  2. Hallo Karl.

    Ich habe ein Word-Dokument; Nehmen wir als Beispiel eine Rechnung.
    Oben das Datum und in der Mitte der Text als Variable Textstellen.
    anstatt das Datum und einen Text steht da aber nun 00.00.00 und ABC.

    Ich kenne mich zwar mit PHP kein bisschen aus, vermute aber, dass das Nichtfunktionieren damit zusammenhängt, dass MS Word ein proprietäres Binärformat ist, weshalb du nicht einfach so einen String suchen und ersetzen kannst. Auf die Schnelle gefunden: http://de2.php.net/com, vielleicht hilft dir das weiter.

    Freundschaft!
    Siechfred