Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在不使用Laravel中的.tmp文件的情况下使用原始上载文件_Php_Laravel - Fatal编程技术网

Php 如何在不使用Laravel中的.tmp文件的情况下使用原始上载文件

Php 如何在不使用Laravel中的.tmp文件的情况下使用原始上载文件,php,laravel,Php,Laravel,我想从docx和doc文件中提取文本。我用这个来回答这个问题 当我在php文件的同一目录下的本机php和docx文件中使用它们时,一切都很好。它提取得很好。当我通过上传它们时,情况并非如此。您可以在链接中看到,该类只接受docx、doc、pptx和xlsx。我知道,当你们用php上传文件时,它会重命名并移动到temp,以避免名称冲突和覆盖。所以我带来了一些东西,比如获取tmp文件,删除其扩展名,然后向其中添加docx或doc。 这是我的密码 $file = $request->file('

我想从docx和doc文件中提取文本。我用这个来回答这个问题

当我在php文件的同一目录下的本机php和docx文件中使用它们时,一切都很好。它提取得很好。当我通过
上传它们时,情况并非如此。您可以在链接中看到,该类只接受
docx、doc、pptx和xlsx
。我知道,当你们用php上传文件时,它会重命名并移动到temp,以避免名称冲突和覆盖。所以我带来了一些东西,比如获取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();
我还尝试将docx文件放在controllers目录中,并尝试这样执行

public function index1(){
echo "hello";
$docObj = new DocxConversion("hello.docx");
var_dump($docText= $docObj->convertToText());
}

上述方法还表示文件不存在。我做错什么了吗?它与本机代码中的同一文件完美结合,其中我的php文件和docx文件位于同一目录中,但当我在控制器中使用它时,它就不起作用了。

假设您的
$file
是一个上载文件,您可以使用
getRealPath
方法获取文件名的路径

$file = $request->file('resume');
$doc_file = new DocxConversion($file->getRealPath());
echo $doc_file->convertToText();

但它仍然说文件不存在。
$file = $request->file('resume');
$doc_file = new DocxConversion($file->getRealPath());
echo $doc_file->convertToText();