在laravel 4.2中使用php文件处理

时间:2016-05-11 03:07:25

标签: php laravel laravel-4 file-handling

嗨,我在使用文件处理时非常新,所以我想要做的是打开一个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

关于我做错什么的任何想法?或任何改善我的逻辑的想法?非常感谢

2 个答案:

答案 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));