2013-07-29 15 views
0

Я пытаюсь прочитать содержимое файла Word. Я использовал ниже код, но он дает предупреждение как предупреждение: Fread() [function.fread]: параметр длина должна быть больше, чем 0Как читать содержимое файла Word в Php?

$filename=$file->getFilename(); 
$ext = pathinfo($filename, PATHINFO_EXTENSION); 
if($ext=='docx') 
{ 
$fname = fopen($filename, 'r'); 
if (is_readable($filename)) 
{ 
$content = fread($fname,filesize($filename)); 
echo $content; 
} 
else 
{ 
echo 'The file is not readable.'; 
} 
fclose($fname); 
} 
+0

Проблема в том, что она не работает для меня –

+0

Посмотрите на ответы, а не на вопрос. – jsalonen

+0

Сообщение об ошибке указывает, что вы пытаетесь прочитать файл, который либо не существует, либо равен 0 байтам. – AD7six

ответ

0

Слово документ не является такой же, как текстовый файл (это больше похоже xml/двоичный файл), поэтому вы не можете просто использовать echo и ожидаете, что он выведет файл.

Там есть библиотека, что хотя ... называется Docvert

Docvert

0

Попробуйте открыть файл в двоичном режиме, используя флаг 'B', например:

fopen($filename, 'rb') 
+0

Нет, это не помогло –

+0

убедитесь, что ваш путь верен, вы видите, что функция filesize() использует абсолютный путь что-то вроде этого C: \ wamp \ www \ app \ files \ test.doc, если это относительный путь, t найти этот файл. – user2375682

0

Файл docx является двоичным, а не текстовым, и вам нужно будет прочитать его как двоичный файл.

Вы не указали, какую версию слова, но так как ваш образец кода использовал docx, я предполагаю, что вы используете более новые файлы формата Word.

Одна вещь, о которой вы должны знать, это то, что эти новые файлы Word, а также Excel и PowerPoint хранятся в виде сжатых файлов. Сам файл представляет собой сжатый файл, совместимый с ZIP. Если вы скопируете один из этих файлов и добавите к нему расширение .zip, вы увидите, что вы можете открыть его как сжатый файл, и вы можете перемещать его по различным папкам.

То, что вы прочитали из файла, зависит от того, что вы намерены делать с ним.

Смежные вопросы