Cara Membaca Fail DOC dalam PHP
Apabila cuba membaca fail DOC atau DOCX dalam PHP, anda mungkin menghadapi masalah dengan aksara luar di penghujung teks anda. Ralat ini berlaku kerana coretan kod yang disediakan tidak dapat menghuraikan format DOC dengan betul.
Untuk menyelesaikan isu ini, kami perlu mengubah suai sedikit pendekatan kami kerana PHP tidak menyokong penghuraian fail DOC asli. Sebaliknya, kami akan menggunakan kaedah yang berbeza untuk mengendalikan fail DOCX.
Kod Kemas Kini untuk Membaca Fail DOCX:
<code class="php">function read_file_docx($filename) { $striped_content = ''; $content = ''; if (!$filename || !file_exists($filename)) return false; $zip = zip_open($filename); if (!$zip || is_numeric($zip)) return false; while ($zip_entry = zip_read($zip)) { if (zip_entry_open($zip, $zip_entry) == FALSE) continue; if (zip_entry_name($zip_entry) != "word/document.xml") continue; $content .= zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); zip_entry_close($zip_entry); }// end while zip_close($zip); $content = str_replace('</w:r></w:p></w:tc><w:tc>', " ", $content); $content = str_replace('</w:r></w:p>', "\r\n", $content); $striped_content = strip_tags($content); return $striped_content; } $filename = "filepath";// or /var/www/html/file.docx $content = read_file_docx($filename); if($content !== false) { echo nl2br($content); } else { echo 'Couldn\'t the file. Please check that file.'; }</code>
Kod yang dikemas kini ini menggunakan kelas ZipArchive PHP untuk buka dan baca kandungan fail DOCX. Secara khusus, ia mengekstrak fail "word/document.xml" daripada arkib ZIP, yang mengandungi kandungan teks sebenar.
Dengan menggunakan kaedah ini, anda boleh berjaya membaca dan menghuraikan fail DOCX dalam PHP.
Atas ialah kandungan terperinci Bagaimana untuk Membaca Fail DOCX dalam PHP tanpa Aksara Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!