PHP: eine dynamische Worddatei erstellen und aufrufen
In diesem Artikel möchte ich Ihnen zeigen, wie man mit PHP eine dynamische Worddatei erstellen kann und diese ohne zwischenzuspeichern dem Anwender zur Verfügung stellt.
Zunächst bedienen Sie sich einem kleinen Trick. Sie erstellen eine Worddatei und speichern diese im RTF-Format ab. Diese Datei dient Ihnen als Template, in dem Sie Platzhalter einbauen und diese später dynamisch in PHP ersetzen können. Im verwendeten Beispiel habe ich die Datei wordfile.rtf genannt.
Im nächsten Schritt müssen Sie der Datei noch die Endung .php hinzufügen. Dazu benennen Sie im Windowsexplorer die Datei einfach um und hängen die Endung dran. Die umbenannte Datei können Sie mittels PHP einlesen und bearbeiten!
Anschließend öffnen Sie die Datei wordfile.rtf.php und ersetzen die Platzhalter in PHP wie folgt:
<?php
$content = file_get_contents('wordfile.rtf.php');
//remove php tags
$content = str_replace('<?php /*', '', $content);
$content = str_replace('?>', '', $content);
// replace variables
$content = str_replace('%test%', "Das ist ein Test!", $content);
$content = str_replace('%date%', date("d.m.Y"), $content);
$content = str_replace('%text%', "Hier steht ein Text.", $content);
?>
Und mit folgendem Code wird die Datei, ohne diese auf dem Server zu speichern, zum Anwender gesendet:
<?php
// send file to user
header('Content-Type: application/rtf;charset=utf-8');
header('Content-Disposition: attachment; filename="Test.doc"');
print $content;
?>
Das Endergebnis sieht dann wie folgt aus:
Wenn Ihnen die Lösung weitergeholfen hat, würde ich mich über ein „Like” oder einen Kommentar sehr freuen. Danke!
Klappt Super!
Gibt es auch die Möglichkeit eine Grafik auszutauschen?
Ja, die gibt es. Diese Möglichkeit ist aber wesentlich aufwendiger. Wenn es statische Bilder sind, würde ich die Bilder alle mal in Word rein kopieren und dann die langen Strings in PHP austauschen.
Hat mir sehr geholfen. Aber wie kann ich innerhalb von %text% noch Zeilenumbrüche mit übergeben? \r\n und chr(13).chr(10) haben irgendwie nicht funktioniert.
Füge doch mal einen Text in eine statische Worddatei ein. In diesen Text baust du auch Umbrüche mit ein. Dann kannst du sehen, dass Word dafür andere Zeichenfolgen verwendet. Sorry, aber ich komme jetzt gerade nicht dazu, es selbst auszubropieren.
Hab es nach etlichem Probieren herausgefunden: Man muss pro Zeile chr(92).chr(10) anhängen.
Danke für die Info! Schön, dass du es hinbekommen hast. 😉
Und wie ganu muss ich das nun machen? Bei mir reagiert gar nichts.
$string=str_replace(“\r”,”\par”,$string);
Hallo,
ist es igendwie möglich auch eine Tabelle zu erzeugen mit dem Script oben.
Vielen Dank
Klar. Erstelle dir doch mal eine Tabelle in Word, speichere die Datei im RTF-Format ab und schaue dir dann das Ergebnis in einem Editor an. Am besten fügst du in Word noch ein Hilfswort ein, nachdem du dann suchen kannst.
Grüße
Mathias
Hallo,
wenn ich versuche, die Datei umzubenennen, erhalte ich nur eine dateiname.php.rtf anstatt der gewollten Dateiname.rtf.php. Mache ich was falsch oder gibt es einen Trick?
Viele Grüße und danke!
Nadine
Hallo Nadine,
ich weiß jetzt nicht genau wo es bei dir hängt. Aber speichere deine Worddatei in Office im RTF-Format ab. Dann öffnest du die Datei mit einem Texteditor. Kopiere den Office-Code und füge ihn in eine beliebige PHP-Datei. Hast du das gemeint? Wenn nicht, poste doch bitte ein wenig Code.
Grüße
Mathias
Hallo
Das ist sehr gut erklärt, vielen Dank!
Ist es auch möglich das Dokument auf dem Server zu speichern so das der Nutzer das Dokument nach dem Bearbeiten gleich wieder auf dem Server speichern kann?
Gruss
Trom
Man kann zwar die Worddatei auch auf dem Server speichern, aber vom Browser aus nicht mehr bearbeiten. Vor dem Öffnen wird die Datei erst heruntergeladen. Die geänderte Datei liegt dann lokal gespeichert.
Es gibt noch die Möglichkeit in einem “lokalen” Netzwerk die Festplatte als Laufwerk einzubinden. Dann kann man auf die Datei verlinken, öffnen und speichern. Dazu muss der Browser jedoch auch erweitert werden, da der Browser nicht auf Dateien auf der Festplatte zugreifen darf.
Ok, vielen Dank.
Wir arbeiten mit einem CRM bei dem dies geht.
Daher hat es mich interresiert wie die das machen, leider finde ich nichts im Internet…..
Nettes Tool, jedoch zeigt Word beim Öffnen nicht den Inhalt, sondern auch alle (RTF) Formatierungstags an…?
Woran könnte das liegen?
Das liegt bestimmt daran, dass Formatierungstags auskommentiert sind oder PHP-Tags mit in die Datei geschrieben worden sind. Wie sieht denn die erzeugte Datei in einem Editor aus? Diese Datei am besten mal mit einer original Worddatei vergleichen.
Hallo zusammen,
tolle Erklärung zum Drucken in Word. Danke!
Mit dieser Methode kann ich einzelne Bereiche (Textmarken) in meinem Worddokument ansprechen und entsprechend füllen.
Ist es auch möglich, eine Tabelle damit anzusprechen und neue Tabellenzeilen je nach Anzahl der Datensätze in einer SQL-Datenbank zu erzeugen?
Danke im Voraus für die Bemühungen
Gruß
Meier
Ja, klar. Am besten erstellt man ein Tabelle mit Werten in Office, speichert diese in RTF ab und schaut sich den Code in einem Editor an. Dann kopiert man sich nur den Teil der Tabellenzeile raus. Diese Zeile kann man dann beliebig oft in PHP aneinander hängen.
Einfacher wäre es jedoch, HTML abzuspeichern und der Datei die Endung .doc zu vergeben. Word kann auch HTML.
Super cooles Script. Doch habe ich immer das Problem mit den Umlauten habe UTF8 Windows 1250 unde ISO-8859-1 probiert immer das selbe. Kann mi jemdna helfen? Wäre echt Cool.
Danke schon im Voraus.
LG Adrian
Versuche den Inhalt mal mit utf8_decode() zu bearbeiten und dann in Office zu öffnen. Ansonsten sollte immer alles in UTF-8 codiert sein. Ist dein Skript auch in UTF-8 abgespeichert?
Leider funktioniert das mit den Umlauten wirklich nicht, UTF-8 steht ja schon im header(), aber auch utf8_decode() hilft leider gar nicht… Ich bin bisher auch auf noch keine weitere Idee gestoßen…
Die Umlaute werden zwar angezeigt, jedoch in einer ganz anderen Schriftart.
Dann bleibt dir nichts anderes übrig, als nochmal alles durch zu gehen. Irgendow hat hat sich ein Fehler eingeschlichen…
Sind deine Dateien in UTF-8 kodiert? Ist dein Text in UTF-8 kodiert? Hast du schon einmal in Word ein Umlaut eingefügt und dann geschaut, wie der Umlaut im Texteditor auschaut?
Hallo,
bei mir funktioniert das Beispiel leider nicht. Entweder öffnet sich nur ein leeres Test.doc oder ein neue Seite im Browser mit den “RTF-Dateiinfos” sowie dem o.g. Programmiercode.
Mir ist auch nicht klar, was unter der o.g. Anweisung zu verstehen ist. “Die umbenannte Datei können Sie mittels PHP einlesen”. Bedeutet dies, ich muss die Datei ‘wordfile.rtf.php’ mittels PHP-Editor einlesen bzw. öffnen und anschließend den o.g. PHP-Code darunterschreiben oder benötige ich zwei Dateien eine ‘wordfile.rtf.php’ und eine weitere xyz.php mit der ich die Datei ‘wordfile.rtf.php’ öffne, die Platzhalter ersetze und als Test.doc ausgeben lasse.
Wenn ich zwei Dateien benötige, müssen die in den gleichen Ordner auf dem Server.
Beim Öffnen der Datei wordfile.rtf.php, die ich wie beschrieben angelegt habe, erhalte ich im PHP-Editor erst einmal den Inhalt der der Datei “wordfile.rtf.php” angezeigt, mit dem der Editor offenbar nichts anfangen kann. Muss dieser gelöscht oder auskommentiert werden.
Sorry für die vielen Fragen. Aber jeder fängt mal an.
Danke.
Gruß
Jörg
Ja, du benötigts zwei Dateien. Die wordfile.rtf.php ist deine in Word erstellte Datei mit den Platzhaltern. Diese Datei legst du dann in den gleichen Ordner mit deiner Php-Datei, aus der du deine “Word-Datei” einliest und verarbeitest.
Hallo,
bei mir funktioniert es leider auch nicht es werden die Variablen in der Datei nicht ausgetauscht (d.h bei mir steht weiter %test% … ) in der Datei. ich benutze Apache/2.4.7 (Ubuntu) Server PHP Version ist 5.5.9-1ubuntu4.17.
vielen dank
Hallo Alex,
etwas mehr Infos wären nicht schlecht. Was hast du bisher gemacht?
Hallo Mathias,
erstmal Danke für die schnelle Antwort.
ich habe eine rtf datei mittels Libre Office erstellt welche so aussieht:
%test%
%date%
%text%
diese habe ich wie beschreiben in serviceschein.rtf.php umbenannt
so sieht mein script aus :
<?php
$content = file_get_contents('serviceschein.rtf.php');
$content = str_replace('’, ”, $content);
$content = str_replace(‘%test%’, ‘Das ist ein Test!’, $content);
$content = str_replace(‘%date%’, date(“d.m.Y”), $content);
$content = str_replace(‘%text%’, ‘Hier steht ein Text.’, $content);
// send file to user
header(‘Content-Type: application/rtf;charset=utf-8’);
header(‘Content-Disposition: attachment; filename=”Test.doc”‘);
print $content;
?>
leider hat die doc welche automatisch heruntergeladen wird auch nur den folgenden Inhalt:
%test%
%date%
%text%
Vielen Dank
Öffne deine LibreOffice-Datei mal mit einem Texteditor (bspw. Notepad, Proton, etc.). Dann wirst du sehen, dass deine Variablennamen nicht mehr zusammenhängend sind. Korrigiere im Texteditor die Variablennamen und es sollte funktionieren.
Hey Super das hat geklappt ! Vielen Dank
Hallo Matthias,
vielen Dank für deinen Beitrag. Der hat mir sehr geholfen. Ich erzeuge auch schon schöne Word-Dokumente aus meiner PHP-Applikation. Jetzt möchte ich Bilder einfügen, die vom Benutzer hochgeladen werden. Im Word-Dokument sind die Daten der Bilder immer im HEX-Format hinterlegt. Hast du eine Idee, wie ich die Bilder automatisch in dieses Format umwandeln und dann in die Word-Datei schreiben kann?
Vielen Dank schon jetzt!
Stefan
Hallo Stefan,
dynamische Bilder habe ich noch nicht ausprobiert.
Mir fallen dazu 3 Möglichkeiten ein:
Hallo Mathias,
vielen Dank für das Tutorial. Bei mir klappt das super. Was ich super fände, wäre eine Art bedingte Formatierung. Das heißt, ich frage aus Datenbanken bestimmte Werte ab, die in das doc sollen, sind diese unter oder über einem gewissen Schwellwert, wäre es schön, wenn diese dann bspw. in roter Farbe erscheinen würden.
Ist sowas auch möglich?
Vielen Dank schon vorab!
Liebe Grüße
Susi
In diesem Fall müsstest du die Formatierung mit in deinen PHP-Code einfügen. Dann fragst du den Schwellwert in PHP ab und fügst die Formatierung mit ein. Markiere mal ein Wort in Word rot und schaue dir das im Editor an.
Danke für die schnelle Antwort! Das hat es gebracht!
Allerdings habe ich das gleiche nun auch bei Diagrammen probiert: Werte für verschiedene Zeitpunkte sollen als Säulen in einem Diagramm erscheinen.
Wenn ich zwei Dateien, bei denen ich lediglich den Wert eines Balkens geändert habe, im Texteditor miteinander vergleiche, dann sehe ich unzählige veränderte Zeilen mit einer schier unendlichen Auflistung von Hexadezimalzeichen. Ich hatte gehofft, dass man dann in dieses Feld auch nur ein %value1% eintragen und anschließend dieses durch einen Integer-Wert ersetzen kann.
Gibt es auch hierfür eine einfache Lösung?
Vielen Dank nochmals!
Das geht auch mit %value%. Wahrscheinlich hast du zu viel oder zu wenig ersetzt. Oder an der falschen Stelle.
Eine andere Möglichkeit wäre, eine RTF-Datei zu erstellen. Die kann man auch mit Word öffnen. Der entscheidende Vorteil ist aber, dass du hier mit HTML arbeiten kannst.
Also wenn ich in einem Dokument ein Diagramm erstelle und dort die Werte für die Balken bearbeiten möchte, öffnet sich ein kleines Excel Fenster. In dieses gebe ich dann die Werte ein. Anstelle einer bspw. 3,5 habe ich dann %value123% eingegeben. Daraufhin verschwindet der Balken, weil es entsprechend keine Gleitkommazahl mehr ist.
Speichere ich dies nun als .rtf und öffne das in einem Texteditor, dann finde ich weder “%value123% noch auch nur ein Prozentzeichen.
Ich habe zwar dann in dem Dokument über 46.000 Zeilen Quellcode für das Diagramm, aber keine Variablen. Ich bin gern bereit das Dokument zu schicken zur Überprüfung..
Sorry, du hast Recht. Das funktioniert nicht mit Excel. Für Excel-Sheets müsstest du PHPExcel (https://phpexcel.codeplex.com/) verwenden. Die Doku findest du hier https://github.com/PHPOffice/PHPExcel/blob/develop/Documentation/markdown/Overview/01-Getting-Started.md
Hallo Mathias,
das Excel Sheet wird doch da aber nur von Word intern genutzt. Auf das kann ich doch gar nicht zugreifen?! Wie soll ich denn da mit PHPExcel Werte ändern können?
Ich komme auch nach Einlesen in die Doku an der Stelle irgendwie nicht weiter.
Hallo, vielen Dank!
Leider klappt’s bei mir auch noch nicht:
New Document
<?php
$TextInhalt = file_get_contents('Dokumente/KopfbogenOH.rtf.php');
$TextInhalt = str_replace('’, ”, $TextInhalt);
echo $TextInhalt;
$_SESSION[‘TextInhalt’] = $TextInhalt;
?>
Serienbrief erstellen
SerienbriefDrucken.php sieht so aus:
Ich habe also Einlesen und doc-Erstellung getrennt, denn der Benutzer muß noch einiges einstellen, bevor das doc erstellt wird, und Die rtf-Datei wird, und header verträgt sich ja nicht mit zusätzlichem HTML-code. Also speichere ich den Text in der Session und erstelle das doc auf einer neuen Seite
Das Einlesen klappt soweit, der Text wird mit echo auf der ersten Seite korrekt ausgegeben.
Die zweite Seite erstellt auch ein doc, dieses ist jedoch vollkommen leer. Ich habe schon darauf geachtet, das rtf aus Word in utf-8 abzuspeichern. Wo könnte das Problem liegen?
Danke und Grüße
Ben
Das ist so schwierig zu sagen. Ich tippe aber mal auf den Umbruch. Die zweite Seite ist leer, da der Umbruch nicht richtig angehängt wird. Erstelle einmal in Word ein Dokument mit zwei Seiten und schaue dir es im Editor an.
Es kommt eigentlich kein Umbruch vor, und das Ergebnis ist ein vollkomen leeres, einseitiges Dokument. Im geggenwärtigen Stand habe ich noch nichts ersezt, das rtf-Dokument enthält Text und ein Bild (Logo).
Hier noch mal der Code, diesmal hoffentlich unversehrt:
(habe die Tagzeichen durch frnz. Gänsefüße › ersetzt)
—–Datei Serienbrief.php——
‹!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”›
‹html›
‹head›
‹title›New Document‹/title›
‹meta http-equiv=”content-type” content=”text/html” charset=”utf8″›
‹/head›
‹body›
‹form action=”Serienbrief.php”›
‹?php
$TextInhalt = file_get_contents(‘Dokumente/KopfbogenOH.rtf.php’);
$TextInhalt = str_replace(‘‹?php /*’, ”, $TextInhalt);
$TextInhalt = str_replace(‘?›’, ”, $TextInhalt);
echo $TextInhalt;
$_SESSION[‘TextInhalt’] = $TextInhalt;
?›
‹/form›
‹a href=”SerienbriefDrucken.php”›Serienbrief erstellen‹/a›
‹/body›
‹/html›
——-Datei SerienbriefDrucken.php——–
‹?php
header(‘Content-Type: application/rtf;charset=utf-8’);
header(‘Content-Disposition: attachment; filename=”Test.doc”‘);
print $_SESSION[‘TextInhalt’];
?›
Sorry, ich hab’ den Fehler gefunden – hatte nichts mit Deinem Script zu tun.
Die zweite Seite “SerienbriefDrucken.php” hat einfach die Session nicht aufgerufen.
Normalerweise habe ich auf jeder Seite ein paar wichtige Funktionen includiert, darunter auch den Sessionstart. Die entsprechende require_once Zeile habe ich in der fraglichen Datei weggelassen, aus Angst sie könnte sich irgendwie mit den Headern beißen. An den Sessionstart habe ich gar nicht mehr gedacht.
So hatte die zweite Seite gar keine Daten unter $_SESSION[‘TextInhalt’].
Nachdem ich diesem Fehler beseitigt hatte, klappt es jetzt auch mit dem Dokument.
Danke noch mal für das tolle Script
Super! Aus Fehlern lernt man 😉
Ich habe noch ein Problem in diesem Zusammenhang, das Du vielleicht lösen helfen kannst – mit rtf kenne ich mich nicht besonders aus und die Informationen im Internet sind sehr unübersichtlich…
.
Das Dokument enthält einen Briefkopf mit Logo. Der Bildbereich ist im Editor auch gut als dichter “Zeichenteppich” zu erkennen. Bekanntlich sind Bilder in rtf recht speicherintensiv.
Nun soll ein Serienbrief (in einem einzigen Dokument) erstellt werden – mehrmal der gleiche Text, mit Anpassungen für Adresse, Anrede etc, getrennt durch Seitenumbrüche.
.
Dazu gehört auch auf jedem neuen “Einzelbrief” der Briefkopf, jedesmal mit dem gleichen Bild (Logo). Dadurch bläht sich die Dateigröße ins unermeßliche.
.
Nun die Frage:
Kann man auch – innerhalb der rtf-Datei – ein an einer Stelle enthaltenes Bild mehrmals referenzieren? Also einen Dateiinternen “Verweis” aus das Bild, daß es nochmals dargestellt werden soll?
Hallo, mein Kommenar wurde geschreddert, offenbar weil der code einen link (projektinterner Verweis) enthielt…
Hallo zusammen,
ich habe ein Problem. Mein Code:
<?php
function druck_offerte($offerten_nr,$freigabe_verkauf,$preisoff,$abfahrt,$anrede,$lastname,$firstname,$adress,$plz,$ort,$mail,$tel,$reisedatum,$route,$plaetze,$catering,$message,$message_dbb,$lok,$wagen,$mailtyp)
{
$content = file_get_contents('./wp-content/themes/twentytwelve-child/wordfile.rtf.php');
//remove php tags
$content = str_replace('’, ”, $content);
// replace variables
$content = str_replace(‘%test%’, “Das ist ein Test!”, $content);
$content = str_replace(‘%date%’, date(“d.m.Y”), $content);
$content = str_replace(‘%text%’, “Hier steht ein Text.”, $content);
header(‘Content-Type: application/rtf;charset=utf-8’);
header(‘Content-Disposition: attachment; filename=”Test.doc”‘);
print $content;
}
?>
Es wird nun der Inhalt der Webseite im Dokument angezeigt:
DBB
Dampf Bahn Bern
Menü Springe zum Inhalt
• Home
• News
o Aktualisierungen
o Aus dem Fahrbetrieb
• Verein
o Geschichte
o Statuten und Organigramm
• Öffentliche Fahrten
• Extra Fahrten/Charter
• Technik / Infrastruktur
o Rollmaterial
o Depotwerkstätte
o Projekte
• Bildergalerie
• Spenden
• Frischdampf
Was mache ich falsch?
Vor dem print $content oder/und danach wird noch Inhalt ausgegeben. Versuche es bspw. mal mit einem exit; nach dem print $content; D.h. du musst die Stellen finden, wo noch weiterer Ausgaben erfolgen.
Hallo MAthias,
hat bestens geklappt. Vielen Dank.
Hallo Mathias,
Dank deinem Script und deinem Support kann ich wunderschöne Word-Dateien erstellen. Nun habe ich auch Bilder im Word Dokument: Statische Bilder funktionieren tadellos, bei den dynamischen habe ich noch ein Problem. Mit dem Code
$fp = fopen (“C:\\xampp\\htdocs\\Test\\Bild1.jpg”, “rb”);
$str = fread ($fp, filesize(“C:\\xampp\\htdocs\\Test\\Bild1.jpg”));
$data = chunk_split(base64_encode($str));
$pic= “Content-Type: image/jpg\n”;
$pic.= “Content-ID: \n”;
$pic.= “Content-Transfer-Encoding: base64\n”;
$pic.= “Content-Disposition: inline; filename=\”C:\\xampp\\htdocs\\Test\\Bild1.jpg\”\n\n”;
$pic.= $data.”\n\n”;
$content = iconv(“utf-8”, “iso-8859-1”, $content);
$content = str_replace(‘%Bild1%’, $pic, $content);
erhalte ich den folgenden Output:
Wir haben für Sie die folgende Zugskomposition reserviert:
Content-Type: image/jpgContent-ID: Content-Transfer-Encoding: base64Content-Disposition: inline; filename=”C:.jpg”/9j/4AAQSkZJRgABAQEAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCABwAJYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3
…….
Hast Du einen Tipp wie ich diesen String als Bild darstellen kann?
Besten Dank und viele Grüsse
Paul
Heureka ich hab’s. Zwar ein bisschen kompliziert, aber es funzt.
1. In meinem Beispiel will ich bis zu 5 Bilder dynamisch einfügen.
2. 1 leeres Bild erstellen (in meinem Beispiel Platzhalter).
3. Im rtf-Dokument mit der Feldunktion IncludePicture ein Bild einfügen, in meinem Beispiel C:\xampp\htdocs\Test\Platzhalter1.jpg. Platzhalter.jpg mit %Platzhalter1%.jpg ersetzen. Es kommt der Fehler: Das verknüpfte Bild kann nicht angezeigt werden…………
4. Grösse anpassen
5. Speichern und Datei nach rtf.php umbenennen
6. Dann im php
$content = str_replace(‘%Platzhalter1%’, ‘Bild1’, $content);
$content = str_replace(‘%Platzhalter2%’, ‘Bild2’, $content);
$content = str_replace(‘%Platzhalter3%’, ‘Bild3’, $content);
$content = str_replace(‘%Platzhalter4%’, ‘Bild4’, $content);
$content = str_replace(‘%Platzhalter5%’, ‘Platzhalter’, $content); Hier kein Bild
Et voila:
Preis: CHF 3’500.00
Wir haben für Sie die folgende Zugskomposition reserviert (kein fünftes Bild):
(kann leider kein Bild angezeigt werden)
Super und vielen Dank für’s teilen!
Hallo, ich weiß der Beitrag ist schon älter aber vielleicht kannst du mir trotzdem noch helfen.
Ich habe alles genau nach den Anweisungen befolgt, eine rtf-Datei erstellt, umbenannt in test.rtf.php und eine neue php Datei im selben Ordner erstellt in der ich alles oben kopiert habe (nur den namen der rtf Datei in test.rtf.php geändert). Wenn ich nun die neue php Datei öffne lädt es diese php Datei herunter, anstatt dem gewollten word dokument. Was habe ich falsch gemacht?