Php mikehaertl\pdftk\Pdf空

Php mikehaertl\pdftk\Pdf空,php,laravel,pdf,laravel-5,Php,Laravel,Pdf,Laravel 5,我正在开发一个Laravel应用程序,我试图使用mikehaertl\pdftk\PDF从PDF文件检索字段,但它总是返回NULL public function postPdF(Request $request ){ $file = $request->file('test'); $content = fopen($file->getRealPath(),'r'); $name = $file->getClientOriginalName();

我正在开发一个Laravel应用程序,我试图使用mikehaertl\pdftk\PDF从PDF文件检索字段,但它总是返回NULL

 public function postPdF(Request $request ){
    $file = $request->file('test');
    $content = fopen($file->getRealPath(),'r');
    $name = $file->getClientOriginalName();
    $extension = \File::extension($name);
    $newName = time().".".$extension;
    Storage::disk("local")->put($newName,$content);
    $pathF =  storage_path('app')."\\".$newName; 

    $pdf = new Pdf($pathF);
    $data = $pdf->getDataFields();

}    
如果我这样做

var_dump($pdf)  
它回来了

string(0) ""    
bool(false)    
如果我这样做

var_dump($data)   
它回来了

string(0) ""    
bool(false)    
我如何解决这个问题

fopen本质上返回指向文件的指针,而不是文件内容。这意味着,当您将$content放入一个文件时,它并没有按照您的意图进行操作

虽然您可以用file\u get\u内容替换fopen,但我建议您只替换以下几行

$file = $request->file('test');
$content = fopen($file->getRealPath(),'r');
$name = $file->getClientOriginalName();
$extension = \File::extension($name);
$newName = time().".".$extension;
Storage::disk("local")->put($newName,$content);
…有点像

$destPath = storage_path('app') . '/' . time() . '.' . $request->test->extension();

Storage::disk('local')
  ->copy($request->test->path(), $destPath);

从getDataFields接收false作为返回值表示在执行命令时失败。需要检查的几件事:

安装了什么? 我必须在Pdf类构造函数的选项中指定pdftk二进制文件的位置

$pdf = new Pdf(
           $pathToPdf, 
           ['command' => $pathToPdfTKBinary]
);
这是我在学校里遇到的


那你想怎么处理你的电话?在我试图存储pdf文件的代码的第一部分中,我建议坚持使用Laravel的生态系统,以排除路径问题。我更改了行,但它仍然返回boolfalse