[PHP]Word/RTF/txt bestanden inlezen met php op linux server

Pagina: 1
Acties:
  • 896 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • hornage
  • Registratie: November 2001
  • Laatst online: 24-09-2024
Ik ben nu al een flinke tijd met een irritant probleem waar ik een aantal maanden terug ook al eens over gepost heb: [PHP]Mac txt bestanden inlezen met php op linux server

Ik heb een website gemaakt waarvan de content via txt files geupdate kan worden.
Diegene die de website bijhoudt doet dit nu in word vanaf een mac, slaat dit op als unicode txt bestanden en opent hem dan op een windows pc in notepad en slaat het dan als een gewoon txt bestand op zodat de linux server waar de website op draait hem normaal in kan lezen.

Deze tussenstap is uiteraard omslachtig en moest eruit gehaald worden. Ik ben eerst op zoek geweest naar een manier om de txt bestanden in te lezen, maar ik stuitte op allerlei problemen die waarschijnlijk te wijten zijn aan Word for Mac.

Het volgende idee was om maar direct doc. bestanden in te lezen. Dit kan via een COM object, maar dat werkt alleen maar op een windows server, niet op een linux server.

Toen vond ik een class in php die direct plain text uit doc bestanden kan halen. Hier moest ik alleen wel voor betalen. Ik doen dus, ding gedownload, bleek het gecodeerd zijn met Zend Optimizer. Voor Zend Optimizer moet je ook geld betalen. Dat is opzich geen probleem, maar de website is gehost bij XS4All en die hebben dat niet en er is ook geen mogelijk dat zij dat aanschaffen.

Toen ging ik maar bezig om te kijken of ik dan RTF bestanden kan inlezen met PHP. Hierover kan ik alleen dingen vinden die gelijk de hele opmaak meenemen en direct omzetten in HTML, terwijl ik echt alleen maar de plain text nodig heb.

Onderhand ben ik dus freakin radeloos, heb er veels te veel tijd aan besteed en het werkt nog niet.

Heeft iemand misschien een suggestie of idee om dit op te lossen?

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 21:01
Voor zover ik je begrijp kan die site onderhouden worden met plain text documenten?

Je zou dan nog een eenvoudig php scriptje kunnen maken die een form toont met daarin een textarea. De gebruiker kopieert dan de tekst uit Word en plakt dat in het formulier in de browser. Vervolgens verzendt hij/zij het formulier naar het php script,dat de inhoud van de textarea wegschrijft naar een bestand. volgens mij gaat dat altijd goed.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Afaik hoef je de zend optimizer alleen te betalen als je zelf geencodeerde code wilt maken. Voor het draaien heb je alleen een gratis plugin voor php nodig. Deze plugin is in 99% van de gevallen standaard geinstalleerd dus eigenlijk ga ik er wel van uit dat hij ook bij xs4all staat.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • hornage
  • Registratie: November 2001
  • Laatst online: 24-09-2024
rutgerw schreef op dinsdag 20 november 2007 @ 15:10:
Voor zover ik je begrijp kan die site onderhouden worden met plain text documenten?

Je zou dan nog een eenvoudig php scriptje kunnen maken die een form toont met daarin een textarea. De gebruiker kopieert dan de tekst uit Word en plakt dat in het formulier in de browser. Vervolgens verzendt hij/zij het formulier naar het php script,dat de inhoud van de textarea wegschrijft naar een bestand. volgens mij gaat dat altijd goed.
Dat is zeker een idee, echter, het staat nu al meer dan jaar zo en op de door jou genoemde manier kan je niet even snel twintig artikels toevoegen. Dit is echter wel wat er nodig is.

Acties:
  • 0 Henk 'm!

  • hornage
  • Registratie: November 2001
  • Laatst online: 24-09-2024
Janoz schreef op dinsdag 20 november 2007 @ 15:14:
Afaik hoef je de zend optimizer alleen te betalen als je zelf geencodeerde code wilt maken. Voor het draaien heb je alleen een gratis plugin voor php nodig. Deze plugin is in 99% van de gevallen standaard geinstalleerd dus eigenlijk ga ik er wel van uit dat hij ook bij xs4all staat.
Dit had ik dus al getest uiteraard. Onderstaande code geeft het resultaat op de volgende pagina: http://www.pi-online.nl/test.php

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
 //Include PHPWordLib
 require "class-phpwordlib.php";

 // Create the object
 $phpwordlib = new PHPWordLib();

 // Load the word file
 $contents = $phpwordlib->LoadFile("bginfo.doc");

 // Convert the file to plain text only if $contents is TRUE, i.e. the file was loaded and it is really a supported MS Word or RTF file
 if ($contents) $plaintext = $phpwordlib->GetPlainText($contents); else echo "error: bad file!";

 // Output the resulting plain text
 echo "<pre>";
 echo $plaintext;
 echo "</pre>";
?>

Acties:
  • 0 Henk 'm!

  • fleppuhstein
  • Registratie: Januari 2002
  • Laatst online: 07-09 13:37
Een andere optie is kiezen uit een van de vele wysiwyg editors die wel word ondersteunen.
Kan je ook langzaam overgaan naar een wat meer sjiekere CMS tool.

Acties:
  • 0 Henk 'm!

  • hornage
  • Registratie: November 2001
  • Laatst online: 24-09-2024
uiteraard, maar zoals boven al aangegeven loopt het systeem zo wel.
Dit is het laatste wat ik ook ga doen hiervoor. Daarna wordt het overgedragen naar een ander bedrijf. Dit moest alleen nog werken....

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 21:01
ik weet niets van de mac maar er zijn vast wel tekst editors beschikbaar die wel met een standaard line ending werken (windows of linux). Misschien is dat nog wat? Dan installeer je gewoon een editor op die mac en laat ze daar in copy/pasten.

Acties:
  • 0 Henk 'm!

  • hornage
  • Registratie: November 2001
  • Laatst online: 24-09-2024
rutgerw schreef op dinsdag 20 november 2007 @ 17:18:
ik weet niets van de mac maar er zijn vast wel tekst editors beschikbaar die wel met een standaard line ending werken (windows of linux). Misschien is dat nog wat? Dan installeer je gewoon een editor op die mac en laat ze daar in copy/pasten.
Is opzich ook een leuk idee, maar met die andere dingen is het toch wel mogelijk?

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Als het je alleen om de plain text gaat, dan hoef je toch alleen maar te zoeken naar een lijst met rtf codes en deze te replacen door niets, dan ben je er toch.

Acties:
  • 0 Henk 'm!

  • hornage
  • Registratie: November 2001
  • Laatst online: 24-09-2024
Gomez12 schreef op dinsdag 20 november 2007 @ 19:26:
Als het je alleen om de plain text gaat, dan hoef je toch alleen maar te zoeken naar een lijst met rtf codes en deze te replacen door niets, dan ben je er toch.
klinkt als een goed plan, laat ik daar eens naar op zoek gaan.

Acties:
  • 0 Henk 'm!

  • hornage
  • Registratie: November 2001
  • Laatst online: 24-09-2024
mmm, dat is ook een probleem. Leestekens beginnen namelijk ook als een rtf code en daar kan ik zo niet een lijst van vinden om dat om te zetten

  • I-V-O
  • Registratie: Juli 2005
  • Laatst online: 15-09 08:23

I-V-O

powerpoker

_als_ je de mogelijkheid hebt om op de server eea te installeren; kijk eens naar AntiWord (http://www.winfield.demon.nl/)
Zet word-documenten om in plain-text, maar dat zal je wel via een system-call moeten doen (iets in de trant van exec("(" . ANTIWORD_PATH . "antiword '" . $filename . "') ", $output); ) .

Ik heb dit succesvol ingezet voor een intranet waar veel word-doc's moeten worden geindexeerd. Na het uploaden wordt er een scriptje gedraaid wat een dropfolder omzet naar plain-text, en dat wordt vervolgens weer geindexeerd met Swish-E.

Ohjah; AntiWord (en swish-e) zijn gratissss

[ Voor 4% gewijzigd door I-V-O op 22-11-2007 08:05 ]


  • hornage
  • Registratie: November 2001
  • Laatst online: 24-09-2024
tsja, het draait op een xs4all server, waar ik niet dingen op kan installeren zoals al genoemd in mijn OP

Acties:
  • 0 Henk 'm!

  • hornage
  • Registratie: November 2001
  • Laatst online: 24-09-2024
nou, ik heb het draaiend. Ergens voor 6 dollar die word/rtf class kunnen laten decoden. Gelukkig maar.
Als iemand nog geinteresseerd is om die class te hebben dan moet ie mij maar ff mailen. Handige class om te hebben nl.
Pagina: 1