Membaca fail .DOC dalam PHP boleh mencabar kerana format binarinya. Walau bagaimanapun, anda boleh menghuraikannya menggunakan kod yang disediakan oleh seseorang, tetapi ia mungkin mengakibatkan tafsiran aksara yang salah.
Untuk menyelesaikan isu ini, anda perlu membuat pengubahsuaian berikut:
<code class="php">$line = @fread($fileHandle, filesize($userDoc)); $lines = explode(chr(0x0A),$line);</code>
Perubahan ini menggantikan aksara chr(0x0D) dengan chr(0x0A). Windows menyimpan baris baharu sebagai rn (carriage return plus line feed), manakala sistem UNIX menggunakan n (line feed sahaja). Dengan menggunakan chr(0x0D), anda merawat aksara baris baharu DOS/Windows, tetapi fail itu disimpan dalam format Unix.
Selain itu, pertimbangkan kod berikut untuk membaca fail .docx dalam PHP:
<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; }</code>
Kod ini:
Atas ialah kandungan terperinci Bagaimana Menghuraikan Fail .DOC dalam PHP dan Mengelak Ralat Tafsiran Aksara dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!