嗨,我在使用文件处理时非常新,所以我想要做的是打开一个docx文件,然后把它放到一个字符串中,我将在我的视图中显示。我已经读过PHP文件处理已经在php的核心,所以我想尝试将它集成到laravel 4.2中,所以这里是我的控制器
public function open($id)
{
$title = "Open files";
`
$smpl = DB::table('sfiles')
->where('fileid' , '=' , $id)
->get();
foreach($smpl as $file)
$fname = $file->filename;
$opendoc = file_get_contents('public/upload/docs/' . $fname);
return View::make('dmy.open_doc' , compact('title', 'smpl'));
}`
执行时,我有一个错误说
file_get_contents(public/upload/docs/2016-05-11-10-09-55-ppd-jobdesc.docx): failed to open stream: No such file or directory
关于我做错什么的任何想法?或任何改善我的逻辑的想法?非常感谢
答案 0 :(得分:2)
您正在尝试访问相对路径。你必须使用绝对路径。
替换此行:
$opendoc = file_get_contents('public/upload/docs/' . $fname);
这一个:
$opendoc = file_get_contents(public_path('upload/docs/' . $fname));
答案 1 :(得分:1)
您需要使用asset
函数来指向公共资源的路径,如下所示:
$opendoc = file_get_contents(asset('upload/docs/' . $fname));