Php 如何上传我的文件和照片并添加到数据库

Php 如何上传我的文件和照片并添加到数据库,php,Php,我想上传一张照片。 我为此写了一个密码。。。但这张照片根本没有添加到数据库中。只需执行“else”即可 public function store(Request $request){ //Get Request Input $name = $request ->input('name'); $description = $request ->input('description'); $cover_image = $request -&

我想上传一张照片。 我为此写了一个密码。。。但这张照片根本没有添加到数据库中。只需执行“else”即可

public function store(Request $request){
    //Get Request Input
    $name        = $request ->input('name');
    $description = $request ->input('description');
    $cover_image = $request ->file('cover_image');
    $owner_id    = 1;
    //Check Image Upload
    if($cover_image)
    {

    $cover_image_filename = $cover_image -> getClientOriginalName();
    $cover_image -> move(public_path('images'), $cover_image_filename);
    }

else{
        $cover_image_filename = 'noimage.jpg';  
    }
    //Insert Gallery
DB::table('galleries')-> insert(
    [
        'name'              => $name,
        'description'       => $description,
        'cover_image'       => $cover_image_filename,
        'owner_id'          => $owner_id
    ]
);
    //Redirect
    return \Redirect::route('gallery.index') -> with('message', 'Gallery Created');
}`
有什么问题吗?

1)确保您已在表单中添加了
enctype=“multipart/form data”
,以及带有字段
name=“cover\u image”

2) 在laravel
public
文件夹中创建一个名为
images
的新文件夹

3) 在您的
控制器中

public function store(Request $request){
    //Get Request Input
    $name = $request ->input('name');
    $description = $request ->input('description');
    $owner_id  = 1;

    //Check Image Upload
    if( $request->hasFile('cover_image')) {

        $cover_image = $request->file('cover_image');
        $path = public_path(). '/images/';

        $cover_image_filename = $cover_image->getClientOriginalName();
        $cover_image->move($path, $cover_image_filename);
    }

    else{

        $cover_image_filename = 'noimage.jpg';
    }

    //Insert Gallery
    DB::table('galleries')-> insert([
        'name'              => $name,
        'description'       => $description,
        'cover_image'       => $cover_image_filename,
        'owner_id'          => $owner_id
    ]);

    //Redirect
    return \Redirect::route('gallery.index') -> with('message', 'Gallery Created');

}

希望对您有所帮助。

$request->file('cover\u image')
确实返回0或一些错误值。去查看关于这个文件功能的文档,或者你的html部分可能有输入错误。。。提供MCVEyes。。我知道。但是…我不知道为什么我以前做过这些事。我已经完成了你现在更改的代码。但是结果没有改变。什么结果没有改变?图像不会被添加到数据库中,只有“else”被执行,而“noimage”也会被添加到数据库中发布表单和路由。好的..谢谢..非常感谢。祝你好运