0
我想從docx和doc文件中提取文本。我正在使用class這個答案。如何在不使用Laravel中的.tmp文件的情況下使用原始上傳的文件
當我在php文件的相同目錄中使用它們的原生php和docx文件時,一切正常。它提取得很好。當我通過<input type="file">
上傳時,情況並非如此。您可以在鏈接中看到此課程只接受docx,doc,pptx and xlsx
。我知道當你在php上傳文件時,它會重命名並移動到臨時名稱以避免名稱衝突和覆蓋。所以我帶來了類似於獲取tmp文件並刪除其擴展名並向其中添加docx或doc的內容。 這裏是我的代碼
$file = $request->file('resume');
echo $file."<br>";
$withoutExt = preg_replace('/\\.[^.\\s]{3,4}$/', '', $file);
$echo $withoutExt."<br>";
$original_file = $withoutExt.".docx"."<br>";
$echo $original_file."<br>";
$doc_file = new DocxConversion($original_file);
$echo $docText= $doc_file->convertToText();
上面的代碼給我的輸出如我所料,直到轉換.tmp
到.docx
,但最後說File Not exists
這裏是輸出
C:\xampp\tmp\phpCB7E.tmp
C:\xampp\tmp\phpCB7E
C:\xampp\tmp\phpCB7E.docx
File Not exists
我也試圖把一個docx文件在控制器目錄中,並試圖這樣執行
public function index1(){
echo "hello";
$docObj = new DocxConversion("hello.docx");
var_dump($docText= $docObj->convertToText());
}
上述方法也說文件不存在。我在這裏做錯了什麼?它與原生代碼中的相同文件完美協作,其中我的php文件和docx文件位於同一目錄中,但當我在控制器中使用它時沒有。
不過它說文件不存在。 –